likec4 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__app__/index.html +1 -1
- package/dist/__app__/react/likec4.tsx +6 -2
- package/dist/__app__/src/chunks/IconCopy-BoSoNPZ_.js +21 -0
- package/dist/__app__/src/chunks/LikeC4Diagram-DytrE8GE.js +9769 -0
- package/dist/__app__/src/chunks/StaticLikeC4Diagram-DdbjVDqf.js +32 -0
- package/dist/__app__/src/chunks/chunk-RAAYCPUM-CpeCcSnm.js +13 -0
- package/dist/__app__/src/chunks/chunk-SGAFZVQH-F2W_It6h.js +8 -0
- package/dist/__app__/src/chunks/const-DiwrD95Q.js +6 -0
- package/dist/__app__/src/chunks/createReactComponent-BWheWDGL.js +64 -0
- package/dist/__app__/src/chunks/index-BxglQLE6.js +10 -0
- package/dist/__app__/src/chunks/index-fBIC0lf6.js +12 -0
- package/dist/__app__/src/{index-Wk755r9n.js → chunks/index-nxRBtTOQ.js} +1 -2
- package/dist/__app__/src/chunks/likec4-DiOy4PZ9.js +6451 -0
- package/dist/__app__/src/chunks/mantine-u17mT9KZ.js +12251 -0
- package/dist/__app__/src/chunks/react-resizable-panels.browser.esm-BaxT8im_.js +1528 -0
- package/dist/__app__/src/chunks/tanstack-router-Cg36mbgZ.js +2484 -0
- package/dist/__app__/src/components/ColorSchemeToggle.js +38 -0
- package/dist/__app__/src/components/CopyToClipboard.js +17 -0
- package/dist/__app__/src/components/NotFound.js +40 -0
- package/dist/__app__/src/components/RenderIcon.js +9 -0
- package/dist/__app__/src/components/sidebar/Drawer.js +186 -0
- package/dist/__app__/src/components/view-page/Header.js +416 -0
- package/dist/__app__/src/hooks.js +16 -0
- package/dist/__app__/src/main.js +5 -33875
- package/dist/__app__/src/routeTree.gen.js +57 -0
- package/dist/__app__/src/router.js +26 -0
- package/dist/__app__/src/routes/__root.js +42 -0
- package/dist/__app__/src/routes/embed._viewId.js +45 -0
- package/dist/__app__/src/routes/export._viewId.js +60 -0
- package/dist/__app__/src/routes/index.css.js +7 -0
- package/dist/__app__/src/routes/index.js +89 -0
- package/dist/__app__/src/routes/view._viewId.d2.js +53 -0
- package/dist/__app__/src/routes/view._viewId.dot.js +58 -0
- package/dist/__app__/src/routes/view._viewId.editor.js +43 -0
- package/dist/__app__/src/routes/view._viewId.index.js +39 -0
- package/dist/__app__/src/routes/view._viewId.js +173 -0
- package/dist/__app__/src/routes/view._viewId.mmd.js +102 -0
- package/dist/__app__/src/routes/view.css.js +12 -0
- package/dist/__app__/src/routes/view_viewId_.css.js +7 -0
- package/dist/__app__/src/routes/webcomponent._.js +61 -0
- package/dist/__app__/src/style.css +1 -1
- package/dist/__app__/src/theme.js +21 -0
- package/dist/__app__/tsconfig.tsbuildinfo +1 -1
- package/dist/__app__/webcomponent/webcomponent.js +831 -846
- package/dist/cli/index.mjs +296 -354
- package/icons/all.d.ts +957 -0
- package/icons/all.js +1902 -0
- package/icons/aws/activate.js +21 -8
- package/icons/aws/alexa-for-business.js +21 -8
- package/icons/aws/amplify.js +21 -8
- package/icons/aws/apache-mxnet-on-aws.js +21 -8
- package/icons/aws/api-gateway.js +21 -8
- package/icons/aws/app-config.js +21 -8
- package/icons/aws/app-flow.js +21 -8
- package/icons/aws/app-mesh.js +21 -8
- package/icons/aws/app-runner.js +21 -8
- package/icons/aws/app-stream.js +21 -8
- package/icons/aws/app-sync.js +21 -8
- package/icons/aws/application-auto-scaling.js +21 -8
- package/icons/aws/application-composer.js +21 -8
- package/icons/aws/application-cost-profiler.js +21 -8
- package/icons/aws/application-discovery-service.js +21 -8
- package/icons/aws/application-migration-service.js +21 -8
- package/icons/aws/artifact.js +21 -8
- package/icons/aws/athena.js +21 -8
- package/icons/aws/audit-manager.js +21 -8
- package/icons/aws/augmented-ai-a2i.js +21 -8
- package/icons/aws/aurora.js +21 -8
- package/icons/aws/auto-scaling.js +21 -8
- package/icons/aws/backint-agent.js +21 -8
- package/icons/aws/backup.js +21 -8
- package/icons/aws/batch.js +21 -8
- package/icons/aws/billing-conductor.js +21 -8
- package/icons/aws/bottlerocket.js +21 -8
- package/icons/aws/braket.js +21 -8
- package/icons/aws/budgets.js +21 -8
- package/icons/aws/certificate-manager.js +21 -8
- package/icons/aws/chatbot.js +21 -8
- package/icons/aws/chime-sdk.js +21 -8
- package/icons/aws/chime-voice-connector.js +21 -8
- package/icons/aws/chime.js +21 -8
- package/icons/aws/clean-rooms.js +21 -8
- package/icons/aws/client-vpn.js +21 -8
- package/icons/aws/cloud-control-api.js +21 -8
- package/icons/aws/cloud-development-kit.js +21 -8
- package/icons/aws/cloud-directory.js +21 -8
- package/icons/aws/cloud-formation.js +21 -8
- package/icons/aws/cloud-front.js +21 -8
- package/icons/aws/cloud-hsm.js +21 -8
- package/icons/aws/cloud-map.js +21 -8
- package/icons/aws/cloud-search.js +21 -8
- package/icons/aws/cloud-shell.js +21 -8
- package/icons/aws/cloud-trail.js +21 -8
- package/icons/aws/cloud-wan.js +21 -8
- package/icons/aws/cloud-watch.js +21 -8
- package/icons/aws/cloud9.js +21 -8
- package/icons/aws/code-artifact.js +21 -8
- package/icons/aws/code-build.js +21 -8
- package/icons/aws/code-catalyst.js +21 -8
- package/icons/aws/code-commit.js +21 -8
- package/icons/aws/code-deploy.js +21 -8
- package/icons/aws/code-guru.js +21 -8
- package/icons/aws/code-pipeline.js +21 -8
- package/icons/aws/code-star.js +21 -8
- package/icons/aws/code-whisperer.js +21 -8
- package/icons/aws/cognito.js +21 -8
- package/icons/aws/command-line-interface.js +21 -8
- package/icons/aws/comprehend-medical.js +21 -8
- package/icons/aws/comprehend.js +21 -8
- package/icons/aws/compute-optimizer.js +21 -8
- package/icons/aws/config.js +21 -8
- package/icons/aws/connect.js +21 -8
- package/icons/aws/console-mobile-application.js +21 -8
- package/icons/aws/control-tower.js +21 -8
- package/icons/aws/corretto.js +21 -8
- package/icons/aws/cost-and-usage-report.js +21 -8
- package/icons/aws/cost-explorer.js +21 -8
- package/icons/aws/data-exchange.js +21 -8
- package/icons/aws/data-pipeline.js +21 -8
- package/icons/aws/data-sync.js +21 -8
- package/icons/aws/data-zone.js +21 -8
- package/icons/aws/database-migration-service.js +21 -8
- package/icons/aws/deep-composer.js +21 -8
- package/icons/aws/deep-learning-amis.js +21 -8
- package/icons/aws/deep-learning-containers.js +21 -8
- package/icons/aws/deep-lens.js +21 -8
- package/icons/aws/deep-racer.js +21 -8
- package/icons/aws/detective.js +21 -8
- package/icons/aws/dev-ops-guru.js +21 -8
- package/icons/aws/device-farm.js +21 -8
- package/icons/aws/direct-connect.js +21 -8
- package/icons/aws/directory-service.js +21 -8
- package/icons/aws/distro-for-open-telemetry.js +21 -8
- package/icons/aws/document-db.js +21 -8
- package/icons/aws/dynamo-db.js +21 -8
- package/icons/aws/ec2-auto-scaling.js +21 -8
- package/icons/aws/ec2-image-builder.js +21 -8
- package/icons/aws/ec2.js +21 -8
- package/icons/aws/ecs-anywhere.js +21 -8
- package/icons/aws/efs.js +21 -8
- package/icons/aws/eks-anywhere.js +21 -8
- package/icons/aws/eks-cloud.js +21 -8
- package/icons/aws/eks-distro.js +21 -8
- package/icons/aws/elasti-cache.js +21 -8
- package/icons/aws/elastic-beanstalk.js +21 -8
- package/icons/aws/elastic-block-store.js +21 -8
- package/icons/aws/elastic-container-registry.js +21 -8
- package/icons/aws/elastic-container-service.js +21 -8
- package/icons/aws/elastic-disaster-recovery.js +21 -8
- package/icons/aws/elastic-fabric-adapter.js +21 -8
- package/icons/aws/elastic-inference.js +21 -8
- package/icons/aws/elastic-kubernetes-service.js +21 -8
- package/icons/aws/elastic-load-balancing.js +21 -8
- package/icons/aws/elastic-transcoder.js +21 -8
- package/icons/aws/elemental-appliances-software.js +21 -8
- package/icons/aws/elemental-conductor.js +21 -8
- package/icons/aws/elemental-delta.js +21 -8
- package/icons/aws/elemental-link.js +21 -8
- package/icons/aws/elemental-live.js +21 -8
- package/icons/aws/elemental-media-connect.js +21 -8
- package/icons/aws/elemental-media-convert.js +21 -8
- package/icons/aws/elemental-media-live.js +21 -8
- package/icons/aws/elemental-media-package.js +21 -8
- package/icons/aws/elemental-media-store.js +21 -8
- package/icons/aws/elemental-media-tailor.js +21 -8
- package/icons/aws/elemental-server.js +21 -8
- package/icons/aws/emr.js +21 -8
- package/icons/aws/event-bridge.js +21 -8
- package/icons/aws/express-workflows.js +21 -8
- package/icons/aws/fargate.js +21 -8
- package/icons/aws/fault-injection-simulator.js +21 -8
- package/icons/aws/file-cache.js +21 -8
- package/icons/aws/fin-space.js +21 -8
- package/icons/aws/firewall-manager.js +21 -8
- package/icons/aws/forecast.js +21 -8
- package/icons/aws/fraud-detector.js +21 -8
- package/icons/aws/free-rtos.js +21 -8
- package/icons/aws/fsx-for-lustre.js +21 -8
- package/icons/aws/fsx-for-net-app-ontap.js +21 -8
- package/icons/aws/fsx-for-open-zfs.js +21 -8
- package/icons/aws/fsx-for-wfs.js +21 -8
- package/icons/aws/fsx.js +21 -8
- package/icons/aws/game-kit.js +21 -8
- package/icons/aws/game-lift.js +21 -8
- package/icons/aws/game-sparks.js +21 -8
- package/icons/aws/genomics-cli.js +21 -8
- package/icons/aws/global-accelerator.js +21 -8
- package/icons/aws/glue-data-brew.js +21 -8
- package/icons/aws/glue-elastic-views.js +21 -8
- package/icons/aws/glue.js +21 -8
- package/icons/aws/ground-station.js +21 -8
- package/icons/aws/guard-duty.js +21 -8
- package/icons/aws/health-lake.js +21 -8
- package/icons/aws/honeycode.js +21 -8
- package/icons/aws/iam-identity-center.js +21 -8
- package/icons/aws/identity-and-access-management.js +21 -8
- package/icons/aws/inspector.js +21 -8
- package/icons/aws/interactive-video-service.js +21 -8
- package/icons/aws/io-t-1-click.js +21 -8
- package/icons/aws/io-t-analytics.js +21 -8
- package/icons/aws/io-t-button.js +21 -8
- package/icons/aws/io-t-core.js +21 -8
- package/icons/aws/io-t-device-defender.js +21 -8
- package/icons/aws/io-t-device-management.js +21 -8
- package/icons/aws/io-t-edu-kit.js +21 -8
- package/icons/aws/io-t-events.js +21 -8
- package/icons/aws/io-t-express-link.js +21 -8
- package/icons/aws/io-t-fleet-wise.js +21 -8
- package/icons/aws/io-t-greengrass.js +21 -8
- package/icons/aws/io-t-robo-runner.js +21 -8
- package/icons/aws/io-t-site-wise.js +21 -8
- package/icons/aws/io-t-things-graph.js +21 -8
- package/icons/aws/io-t-twin-maker.js +30 -8
- package/icons/aws/iq.js +21 -8
- package/icons/aws/kendra.js +21 -8
- package/icons/aws/key-management-service.js +21 -8
- package/icons/aws/keyspaces.js +21 -8
- package/icons/aws/kinesis-data-analytics.js +21 -8
- package/icons/aws/kinesis-data-streams.js +21 -8
- package/icons/aws/kinesis-firehose.js +21 -8
- package/icons/aws/kinesis-video-streams.js +21 -8
- package/icons/aws/kinesis.js +21 -8
- package/icons/aws/lake-formation.js +21 -8
- package/icons/aws/lambda.js +21 -8
- package/icons/aws/launch-wizard.js +21 -8
- package/icons/aws/lex.js +21 -8
- package/icons/aws/license-manager.js +21 -8
- package/icons/aws/lightsail.js +21 -8
- package/icons/aws/local-zones.js +21 -8
- package/icons/aws/location-service.js +21 -8
- package/icons/aws/lookout-for-equipment.js +21 -8
- package/icons/aws/lookout-for-metrics.js +21 -8
- package/icons/aws/lookout-for-vision.js +21 -8
- package/icons/aws/lumberyard.js +21 -8
- package/icons/aws/macie.js +21 -8
- package/icons/aws/mainframe-modernization.js +21 -8
- package/icons/aws/managed-blockchain.js +21 -8
- package/icons/aws/managed-grafana.js +21 -8
- package/icons/aws/managed-service-for-prometheus.js +21 -8
- package/icons/aws/managed-services.js +21 -8
- package/icons/aws/managed-streaming-for-apache-kafka.js +21 -8
- package/icons/aws/managed-workflows-for-apache-airflow.js +21 -8
- package/icons/aws/management-console.js +21 -8
- package/icons/aws/marketplace-dark.js +15 -8
- package/icons/aws/marketplace-light.js +15 -8
- package/icons/aws/memory-db-for-redis.js +21 -8
- package/icons/aws/migration-evaluator.js +21 -8
- package/icons/aws/migration-hub.js +21 -8
- package/icons/aws/monitron.js +21 -8
- package/icons/aws/mq.js +21 -8
- package/icons/aws/neptune.js +21 -8
- package/icons/aws/network-firewall.js +21 -8
- package/icons/aws/neuron.js +21 -8
- package/icons/aws/nice-dcv.js +21 -8
- package/icons/aws/nice-engin-frame.js +21 -8
- package/icons/aws/nimble-studio.js +21 -8
- package/icons/aws/nitro-enclaves.js +21 -8
- package/icons/aws/omics.js +21 -8
- package/icons/aws/open-3d-engine.js +21 -8
- package/icons/aws/open-search-service.js +21 -8
- package/icons/aws/ops-works.js +21 -8
- package/icons/aws/organizations.js +21 -8
- package/icons/aws/outposts-family.js +21 -8
- package/icons/aws/outposts-rack.js +21 -8
- package/icons/aws/outposts-servers.js +21 -8
- package/icons/aws/panorama.js +21 -8
- package/icons/aws/parallel-cluster.js +21 -8
- package/icons/aws/personal-health-dashboard.js +21 -8
- package/icons/aws/personalize.js +21 -8
- package/icons/aws/pinpoint-apis.js +21 -8
- package/icons/aws/pinpoint.js +21 -8
- package/icons/aws/polly.js +21 -8
- package/icons/aws/private-5g.js +21 -8
- package/icons/aws/private-certificate-authority.js +17 -8
- package/icons/aws/private-link.js +21 -8
- package/icons/aws/professional-services.js +21 -8
- package/icons/aws/proton.js +21 -8
- package/icons/aws/quantum-ledger-database.js +21 -8
- package/icons/aws/quick-sight.js +21 -8
- package/icons/aws/rds-on-vmware.js +21 -8
- package/icons/aws/rds.js +21 -8
- package/icons/aws/re-post.js +21 -8
- package/icons/aws/red-hat-open-shift-service-on-aws.js +21 -8
- package/icons/aws/redshift.js +21 -8
- package/icons/aws/rekognition.js +21 -8
- package/icons/aws/reserved-instance-reporting.js +21 -8
- package/icons/aws/resilience-hub.js +21 -8
- package/icons/aws/resource-access-manager.js +21 -8
- package/icons/aws/resource-explorer.js +21 -8
- package/icons/aws/robo-maker.js +21 -8
- package/icons/aws/route-53.js +21 -8
- package/icons/aws/s3-on-outposts.js +21 -8
- package/icons/aws/sage-maker-ground-truth.js +21 -8
- package/icons/aws/sage-maker-studio-lab.js +21 -8
- package/icons/aws/sage-maker.js +21 -8
- package/icons/aws/savings-plans.js +21 -8
- package/icons/aws/secrets-manager.js +21 -8
- package/icons/aws/security-hub.js +21 -8
- package/icons/aws/security-lake.js +21 -8
- package/icons/aws/server-migration-service.js +21 -8
- package/icons/aws/serverless-application-repository.js +21 -8
- package/icons/aws/service-catalog.js +21 -8
- package/icons/aws/service-management-connector.js +17 -8
- package/icons/aws/shield.js +21 -8
- package/icons/aws/signer.js +21 -8
- package/icons/aws/sim-space-weaver.js +21 -8
- package/icons/aws/simple-email-service.js +21 -8
- package/icons/aws/simple-notification-service.js +21 -8
- package/icons/aws/simple-queue-service.js +21 -8
- package/icons/aws/simple-storage-service-glacier.js +21 -8
- package/icons/aws/simple-storage-service.js +21 -8
- package/icons/aws/site-to-site-vpn.js +21 -8
- package/icons/aws/snowball-edge.js +21 -8
- package/icons/aws/snowball.js +21 -8
- package/icons/aws/snowcone.js +21 -8
- package/icons/aws/snowmobile.js +21 -8
- package/icons/aws/step-functions.js +21 -8
- package/icons/aws/storage-gateway.js +21 -8
- package/icons/aws/sumerian.js +21 -8
- package/icons/aws/supply-chain.js +21 -8
- package/icons/aws/support.js +21 -8
- package/icons/aws/systems-manager.js +21 -8
- package/icons/aws/tensor-flow-on-aws.js +21 -8
- package/icons/aws/textract.js +21 -8
- package/icons/aws/thinkbox-deadline.js +21 -8
- package/icons/aws/thinkbox-frost.js +21 -8
- package/icons/aws/thinkbox-krakatoa.js +21 -8
- package/icons/aws/thinkbox-sequoia.js +21 -8
- package/icons/aws/thinkbox-stoke.js +21 -8
- package/icons/aws/thinkbox-xmesh.js +21 -8
- package/icons/aws/timestream.js +21 -8
- package/icons/aws/tools-and-sdks.js +21 -8
- package/icons/aws/torch-serve.js +21 -8
- package/icons/aws/training-certification.js +21 -8
- package/icons/aws/transcribe.js +21 -8
- package/icons/aws/transfer-family.js +21 -8
- package/icons/aws/transit-gateway.js +21 -8
- package/icons/aws/translate.js +21 -8
- package/icons/aws/trusted-advisor.js +21 -8
- package/icons/aws/verified-access.js +21 -8
- package/icons/aws/verified-permissions.js +21 -8
- package/icons/aws/virtual-private-cloud.js +21 -8
- package/icons/aws/vmware-cloud-on-aws.js +21 -8
- package/icons/aws/vpc-lattice.js +21 -8
- package/icons/aws/waf.js +21 -8
- package/icons/aws/wavelength.js +21 -8
- package/icons/aws/well-architected-tool.js +21 -8
- package/icons/aws/wickr.js +21 -8
- package/icons/aws/work-docs-sdk.js +21 -8
- package/icons/aws/work-docs.js +21 -8
- package/icons/aws/work-link.js +21 -8
- package/icons/aws/work-mail.js +21 -8
- package/icons/aws/work-spaces-family.js +21 -8
- package/icons/aws/x-ray.js +21 -8
- package/icons/gcp/access-context-manager.js +17 -8
- package/icons/gcp/administration.js +46 -8
- package/icons/gcp/advanced-agent-modeling.js +31 -8
- package/icons/gcp/advanced-solutions-lab.js +48 -8
- package/icons/gcp/agent-assist.js +12 -8
- package/icons/gcp/ai-hub.js +23 -8
- package/icons/gcp/ai-platform-unified.js +40 -8
- package/icons/gcp/ai-platform.js +23 -8
- package/icons/gcp/analytics-hub.js +28 -8
- package/icons/gcp/anthos-config-management.js +28 -8
- package/icons/gcp/anthos-service-mesh.js +13 -8
- package/icons/gcp/anthos.js +11 -8
- package/icons/gcp/api-analytics.js +26 -8
- package/icons/gcp/api-monetization.js +23 -8
- package/icons/gcp/api.js +29 -8
- package/icons/gcp/apigee-api-platform.js +35 -8
- package/icons/gcp/apigee-sense.js +28 -8
- package/icons/gcp/app-engine.js +39 -8
- package/icons/gcp/artifact-registry.js +33 -8
- package/icons/gcp/asset-inventory.js +19 -8
- package/icons/gcp/assured-workloads.js +32 -8
- package/icons/gcp/auto-ml-natural-language.js +9 -8
- package/icons/gcp/auto-ml-tables.js +19 -8
- package/icons/gcp/auto-ml-translation.js +25 -8
- package/icons/gcp/auto-ml-video-intelligence.js +25 -8
- package/icons/gcp/auto-ml-vision.js +18 -8
- package/icons/gcp/auto-ml.js +14 -8
- package/icons/gcp/bare-metal-solutions.js +10 -8
- package/icons/gcp/batch.js +12 -8
- package/icons/gcp/beyondcorp.js +13 -8
- package/icons/gcp/big-query.js +28 -8
- package/icons/gcp/bigtable.js +116 -8
- package/icons/gcp/billing.js +34 -8
- package/icons/gcp/binary-authorization.js +22 -8
- package/icons/gcp/catalog.js +29 -8
- package/icons/gcp/certificate-authority-service.js +33 -8
- package/icons/gcp/certificate-manager.js +24 -8
- package/icons/gcp/cloud-api-gateway.js +13 -8
- package/icons/gcp/cloud-apis.js +18 -8
- package/icons/gcp/cloud-armor.js +27 -8
- package/icons/gcp/cloud-asset-inventory.js +10 -8
- package/icons/gcp/cloud-audit-logs.js +45 -8
- package/icons/gcp/cloud-build.js +19 -8
- package/icons/gcp/cloud-cdn.js +22 -8
- package/icons/gcp/cloud-code.js +16 -8
- package/icons/gcp/cloud-composer.js +13 -8
- package/icons/gcp/cloud-data-fusion.js +15 -8
- package/icons/gcp/cloud-deploy.js +10 -8
- package/icons/gcp/cloud-deployment-manager.js +24 -8
- package/icons/gcp/cloud-dns.js +21 -8
- package/icons/gcp/cloud-domains.js +26 -8
- package/icons/gcp/cloud-ekm.js +13 -8
- package/icons/gcp/cloud-endpoints.js +18 -8
- package/icons/gcp/cloud-external-ip-addresses.js +21 -8
- package/icons/gcp/cloud-firewall-rules.js +15 -8
- package/icons/gcp/cloud-for-marketing.js +13 -8
- package/icons/gcp/cloud-functions.js +25 -8
- package/icons/gcp/cloud-generic.js +13 -8
- package/icons/gcp/cloud-gpu.js +18 -8
- package/icons/gcp/cloud-healthcare-api.js +32 -8
- package/icons/gcp/cloud-healthcare-marketplace.js +10 -8
- package/icons/gcp/cloud-hsm.js +37 -8
- package/icons/gcp/cloud-ids.js +42 -8
- package/icons/gcp/cloud-inference-api.js +27 -8
- package/icons/gcp/cloud-interconnect.js +15 -8
- package/icons/gcp/cloud-jobs-api.js +37 -8
- package/icons/gcp/cloud-load-balancing.js +20 -8
- package/icons/gcp/cloud-logging.js +19 -8
- package/icons/gcp/cloud-media-edge.js +23 -8
- package/icons/gcp/cloud-monitoring.js +26 -8
- package/icons/gcp/cloud-nat.js +31 -8
- package/icons/gcp/cloud-natural-language-api.js +17 -8
- package/icons/gcp/cloud-network.js +17 -8
- package/icons/gcp/cloud-ops.js +32 -8
- package/icons/gcp/cloud-optimization-ai-fleet-routing-api.js +22 -8
- package/icons/gcp/cloud-optimization-ai.js +28 -8
- package/icons/gcp/cloud-router.js +13 -8
- package/icons/gcp/cloud-routes.js +18 -8
- package/icons/gcp/cloud-run-for-anthos.js +21 -8
- package/icons/gcp/cloud-run.js +13 -8
- package/icons/gcp/cloud-scheduler.js +36 -8
- package/icons/gcp/cloud-security-scanner.js +21 -8
- package/icons/gcp/cloud-shell.js +16 -8
- package/icons/gcp/cloud-spanner.js +42 -8
- package/icons/gcp/cloud-sql.js +16 -8
- package/icons/gcp/cloud-storage.js +22 -8
- package/icons/gcp/cloud-tasks.js +29 -8
- package/icons/gcp/cloud-test-lab.js +39 -8
- package/icons/gcp/cloud-tpu.js +103 -8
- package/icons/gcp/cloud-translation-api.js +16 -8
- package/icons/gcp/cloud-vision-api.js +16 -8
- package/icons/gcp/cloud-vpn.js +23 -8
- package/icons/gcp/compute-engine.js +17 -8
- package/icons/gcp/configuration-management.js +22 -8
- package/icons/gcp/connectivity-test.js +6 -8
- package/icons/gcp/connectors.js +13 -8
- package/icons/gcp/contact-center-ai.js +6 -8
- package/icons/gcp/container-optimized-os.js +13 -8
- package/icons/gcp/container-registry.js +27 -8
- package/icons/gcp/data-catalog.js +25 -8
- package/icons/gcp/data-labeling.js +19 -8
- package/icons/gcp/data-layers.js +11 -8
- package/icons/gcp/data-loss-prevention-api.js +54 -8
- package/icons/gcp/data-qn-a.js +24 -8
- package/icons/gcp/data-studio.js +16 -8
- package/icons/gcp/data-transfer.js +17 -8
- package/icons/gcp/database-migration-service.js +24 -8
- package/icons/gcp/dataflow.js +44 -8
- package/icons/gcp/datalab.js +13 -8
- package/icons/gcp/dataplex.js +15 -8
- package/icons/gcp/datapol.js +49 -8
- package/icons/gcp/dataprep.js +25 -8
- package/icons/gcp/dataproc-metastore.js +12 -8
- package/icons/gcp/dataproc.js +43 -8
- package/icons/gcp/datashare.js +37 -8
- package/icons/gcp/datastore.js +39 -8
- package/icons/gcp/datastream.js +35 -8
- package/icons/gcp/debugger.js +31 -8
- package/icons/gcp/developer-portal.js +24 -8
- package/icons/gcp/dialogflow-cx.js +28 -8
- package/icons/gcp/dialogflow-insights.js +33 -8
- package/icons/gcp/dialogflow.js +16 -8
- package/icons/gcp/document-ai.js +27 -8
- package/icons/gcp/early-access-center.js +12 -8
- package/icons/gcp/error-reporting.js +14 -8
- package/icons/gcp/eventarc.js +24 -8
- package/icons/gcp/filestore.js +14 -8
- package/icons/gcp/financial-services-marketplace.js +21 -8
- package/icons/gcp/firestore.js +14 -8
- package/icons/gcp/fleet-engine.js +10 -8
- package/icons/gcp/free-trial.js +36 -8
- package/icons/gcp/game-servers.js +32 -8
- package/icons/gcp/gce-systems-management.js +13 -8
- package/icons/gcp/genomics.js +23 -8
- package/icons/gcp/gke-on-prem.js +31 -8
- package/icons/gcp/google-cloud-marketplace.js +29 -8
- package/icons/gcp/google-kubernetes-engine.js +23 -8
- package/icons/gcp/google-maps-platform.js +47 -8
- package/icons/gcp/healthcare-nlp-api.js +13 -8
- package/icons/gcp/home.js +25 -8
- package/icons/gcp/identity-and-access-management.js +23 -8
- package/icons/gcp/identity-aware-proxy.js +32 -8
- package/icons/gcp/identity-platform.js +26 -8
- package/icons/gcp/iot-core.js +23 -8
- package/icons/gcp/iot-edge.js +86 -8
- package/icons/gcp/key-access-justifications.js +46 -8
- package/icons/gcp/key-management-service.js +23 -8
- package/icons/gcp/kuberun.js +26 -8
- package/icons/gcp/launcher.js +35 -8
- package/icons/gcp/local-ssd.js +13 -8
- package/icons/gcp/looker.js +46 -8
- package/icons/gcp/managed-service-for-microsoft-active-directory.js +24 -8
- package/icons/gcp/media-translation-api.js +28 -8
- package/icons/gcp/memorystore.js +26 -8
- package/icons/gcp/migrate-for-anthos.js +13 -8
- package/icons/gcp/migrate-for-compute-engine.js +13 -8
- package/icons/gcp/my-cloud.js +21 -8
- package/icons/gcp/network-connectivity-center.js +84 -8
- package/icons/gcp/network-intelligence-center.js +13 -8
- package/icons/gcp/network-security.js +32 -8
- package/icons/gcp/network-tiers.js +23 -8
- package/icons/gcp/network-topology.js +13 -8
- package/icons/gcp/onboarding.js +25 -8
- package/icons/gcp/os-configuration-management.js +13 -8
- package/icons/gcp/os-inventory-management.js +15 -8
- package/icons/gcp/os-patch-management.js +13 -8
- package/icons/gcp/partner-interconnect.js +21 -8
- package/icons/gcp/partner-portal.js +35 -8
- package/icons/gcp/performance-dashboard.js +13 -8
- package/icons/gcp/permissions.js +35 -8
- package/icons/gcp/persistent-disk.js +10 -8
- package/icons/gcp/phishing-protection.js +36 -8
- package/icons/gcp/policy-analyzer.js +13 -8
- package/icons/gcp/premium-network-tier.js +19 -8
- package/icons/gcp/private-connectivity.js +18 -8
- package/icons/gcp/private-service-connect.js +27 -8
- package/icons/gcp/producer-portal.js +21 -8
- package/icons/gcp/profiler.js +21 -8
- package/icons/gcp/project.js +28 -8
- package/icons/gcp/pub-sub.js +41 -8
- package/icons/gcp/quantum-engine.js +27 -8
- package/icons/gcp/quotas.js +26 -8
- package/icons/gcp/real-world-insights.js +19 -8
- package/icons/gcp/recommendations-ai.js +24 -8
- package/icons/gcp/release-notes.js +12 -8
- package/icons/gcp/retail-api.js +22 -8
- package/icons/gcp/risk-manager.js +12 -8
- package/icons/gcp/runtime-config.js +19 -8
- package/icons/gcp/secret-manager.js +13 -8
- package/icons/gcp/security-command-center.js +18 -8
- package/icons/gcp/security-health-advisor.js +43 -8
- package/icons/gcp/security-key-enforcement.js +21 -8
- package/icons/gcp/security.js +27 -8
- package/icons/gcp/service-discovery.js +26 -8
- package/icons/gcp/speech-to-text.js +21 -8
- package/icons/gcp/stackdriver.js +10 -8
- package/icons/gcp/standard-network-tier.js +13 -8
- package/icons/gcp/stream-suite.js +16 -8
- package/icons/gcp/support.js +29 -8
- package/icons/gcp/tensorflow-enterprise.js +13 -8
- package/icons/gcp/text-to-speech.js +24 -8
- package/icons/gcp/tools-for-powershell.js +29 -8
- package/icons/gcp/trace.js +17 -8
- package/icons/gcp/traffic-director.js +20 -8
- package/icons/gcp/transfer-appliance.js +20 -8
- package/icons/gcp/transfer.js +13 -8
- package/icons/gcp/user-preferences.js +35 -8
- package/icons/gcp/vertex-ai.js +48 -8
- package/icons/gcp/video-intelligence-api.js +15 -8
- package/icons/gcp/virtual-private-cloud.js +19 -8
- package/icons/gcp/visual-inspection.js +24 -8
- package/icons/gcp/vmware-engine.js +13 -8
- package/icons/gcp/web-risk.js +27 -8
- package/icons/gcp/web-security-scanner.js +27 -8
- package/icons/gcp/workflows.js +82 -8
- package/icons/gcp/workload-identity-pool.js +24 -8
- package/icons/tech/aarch64.js +48 -8
- package/icons/tech/adobe-illustrator.js +14 -8
- package/icons/tech/adobe-photoshop.js +14 -8
- package/icons/tech/adobe-premiere-pro.js +16 -8
- package/icons/tech/adobe-xd.js +12 -8
- package/icons/tech/adonis-js.js +14 -8
- package/icons/tech/after-effects.js +16 -8
- package/icons/tech/airflow.js +64 -8
- package/icons/tech/akka.js +21 -8
- package/icons/tech/algolia.js +12 -8
- package/icons/tech/alpine-js.js +17 -8
- package/icons/tech/amazon-web-services.js +21 -8
- package/icons/tech/anaconda.js +12 -8
- package/icons/tech/android-studio.js +44 -8
- package/icons/tech/android.js +35 -8
- package/icons/tech/angular-js.js +24 -8
- package/icons/tech/angular.js +37 -8
- package/icons/tech/ansible.js +15 -8
- package/icons/tech/ant-design.js +112 -8
- package/icons/tech/apache.js +156 -8
- package/icons/tech/apl.js +21 -8
- package/icons/tech/appcelerator.js +12 -8
- package/icons/tech/apple-safari.js +39 -10
- package/icons/tech/apple.js +6 -8
- package/icons/tech/appwrite.js +21 -8
- package/icons/tech/arch-linux.js +29 -8
- package/icons/tech/arduino.js +9 -8
- package/icons/tech/argo-cd.js +134 -8
- package/icons/tech/astro.js +62 -8
- package/icons/tech/atom.js +14 -8
- package/icons/tech/autodesk-maya.js +55 -8
- package/icons/tech/autodesk-shot-grid.js +15 -8
- package/icons/tech/awk.js +34 -8
- package/icons/tech/azios.js +12 -8
- package/icons/tech/azure-devops.js +33 -8
- package/icons/tech/azure-sql-database.js +95 -8
- package/icons/tech/azure.js +55 -8
- package/icons/tech/babel.js +15 -8
- package/icons/tech/backbone-js.js +16 -8
- package/icons/tech/ballerina.js +12 -8
- package/icons/tech/bamboo.js +62 -8
- package/icons/tech/bash.js +22 -8
- package/icons/tech/behance.js +19 -8
- package/icons/tech/bitbucket.js +37 -8
- package/icons/tech/blender.js +21 -8
- package/icons/tech/bootstrap.js +78 -8
- package/icons/tech/bower.js +123 -8
- package/icons/tech/browserstack.js +77 -8
- package/icons/tech/bulma.js +6 -8
- package/icons/tech/bun.js +68 -8
- package/icons/tech/c.js +28 -8
- package/icons/tech/cairo-graphics.js +21 -8
- package/icons/tech/cake-php.js +12 -8
- package/icons/tech/canva.js +9 -8
- package/icons/tech/capacitor.js +25 -8
- package/icons/tech/cassandra.js +101 -8
- package/icons/tech/cent-os.js +22 -8
- package/icons/tech/chrome.js +156 -8
- package/icons/tech/circle-ci.js +12 -8
- package/icons/tech/clarity.js +35 -8
- package/icons/tech/clion.js +98 -8
- package/icons/tech/clojure-script.js +39 -8
- package/icons/tech/clojure.js +42 -8
- package/icons/tech/cloudflare-workers.js +196 -8
- package/icons/tech/cloudflare.js +22 -8
- package/icons/tech/cmake.js +11 -8
- package/icons/tech/code-igniter.js +12 -8
- package/icons/tech/code-pen.js +12 -8
- package/icons/tech/codeac.js +12 -8
- package/icons/tech/codecov.js +12 -8
- package/icons/tech/coffee-script.js +12 -8
- package/icons/tech/composer.js +59 -8
- package/icons/tech/confluence.js +57 -8
- package/icons/tech/consul.js +12 -8
- package/icons/tech/contao.js +15 -8
- package/icons/tech/corejs.js +6 -8
- package/icons/tech/cosmosdb.js +52 -8
- package/icons/tech/couchdb.js +12 -8
- package/icons/tech/cplusplus.js +35 -8
- package/icons/tech/crystal.js +12 -8
- package/icons/tech/csharp.js +28 -8
- package/icons/tech/css3.js +25 -8
- package/icons/tech/cucumber.js +12 -8
- package/icons/tech/cypress.js +34 -12
- package/icons/tech/d3js.js +145 -8
- package/icons/tech/dart.js +24 -8
- package/icons/tech/data-grip.js +109 -8
- package/icons/tech/data-spell.js +102 -8
- package/icons/tech/dbeaver.js +56 -8
- package/icons/tech/debian.js +12 -8
- package/icons/tech/deno.js +6 -8
- package/icons/tech/devicon.js +25 -8
- package/icons/tech/digital-ocean.js +9 -8
- package/icons/tech/discord-js.js +56 -8
- package/icons/tech/django-rest.js +35 -8
- package/icons/tech/django.js +9 -8
- package/icons/tech/docker.js +133 -8
- package/icons/tech/doctrine.js +21 -8
- package/icons/tech/dropwizard.js +70 -8
- package/icons/tech/drupal.js +56 -8
- package/icons/tech/eclipse-ceylon.js +44 -8
- package/icons/tech/eclipse-ide.js +93 -8
- package/icons/tech/eclipse-vert-x.js +29 -8
- package/icons/tech/elasticbeats.js +22 -8
- package/icons/tech/elasticsearch.js +28 -8
- package/icons/tech/electron.js +11 -8
- package/icons/tech/eleventy-11ty.js +15 -8
- package/icons/tech/elixir.js +211 -8
- package/icons/tech/elm.js +19 -8
- package/icons/tech/embedded-c.js +42 -8
- package/icons/tech/ember-js.js +16 -8
- package/icons/tech/envoy.js +28 -8
- package/icons/tech/erlang.js +12 -8
- package/icons/tech/eslint.js +21 -8
- package/icons/tech/express.js +6 -8
- package/icons/tech/facebook.js +15 -8
- package/icons/tech/fast-api.js +12 -8
- package/icons/tech/fastify.js +15 -8
- package/icons/tech/fauna.js +12 -8
- package/icons/tech/feathers.js +6 -8
- package/icons/tech/fedora.js +53 -8
- package/icons/tech/figma.js +24 -8
- package/icons/tech/file-zilla.js +18 -8
- package/icons/tech/firebase.js +12 -8
- package/icons/tech/firefox.js +1381 -8
- package/icons/tech/flask.js +12 -8
- package/icons/tech/flutter.js +16 -8
- package/icons/tech/fortran.js +15 -8
- package/icons/tech/foundation.js +240 -8
- package/icons/tech/fsharp.js +10 -8
- package/icons/tech/gatling.js +12 -8
- package/icons/tech/gatsby.js +12 -8
- package/icons/tech/gazebo.js +23 -8
- package/icons/tech/gcc.js +44 -8
- package/icons/tech/gentoo.js +14 -8
- package/icons/tech/ghost.js +27 -8
- package/icons/tech/gimp.js +370 -8
- package/icons/tech/git.js +12 -8
- package/icons/tech/gitbook.js +13 -8
- package/icons/tech/github-actions.js +21 -8
- package/icons/tech/github-codespaces.js +85 -8
- package/icons/tech/github.js +16 -8
- package/icons/tech/gitlab.js +35 -8
- package/icons/tech/gitpod.js +32 -8
- package/icons/tech/gitter.js +6 -8
- package/icons/tech/gnu-emacs.js +15 -8
- package/icons/tech/go-land.js +82 -8
- package/icons/tech/go.js +285 -8
- package/icons/tech/godot-engine.js +56 -8
- package/icons/tech/google-cloud.js +29 -8
- package/icons/tech/google.js +42 -8
- package/icons/tech/gradle.js +12 -8
- package/icons/tech/grafana.js +30 -8
- package/icons/tech/grails.js +21 -8
- package/icons/tech/graphql.js +15 -8
- package/icons/tech/groovy.js +715 -8
- package/icons/tech/grunt-js.js +260 -8
- package/icons/tech/gulp-js.js +14 -8
- package/icons/tech/hadoop.js +36 -8
- package/icons/tech/handlebars.js +9 -8
- package/icons/tech/hardhat.js +98 -8
- package/icons/tech/harvester.js +10 -8
- package/icons/tech/hashicorp-vault.js +12 -8
- package/icons/tech/haskell.js +10 -8
- package/icons/tech/haxe.js +17 -8
- package/icons/tech/helm.js +12 -8
- package/icons/tech/heroku.js +12 -8
- package/icons/tech/hibernate.js +15 -8
- package/icons/tech/homebrew.js +36 -8
- package/icons/tech/html5.js +23 -8
- package/icons/tech/hugo.js +22 -8
- package/icons/tech/ibm-spss-statistics.js +21 -8
- package/icons/tech/ie10.js +12 -8
- package/icons/tech/ifttt.js +6 -8
- package/icons/tech/influxdb.js +14 -8
- package/icons/tech/inkscape.js +534 -8
- package/icons/tech/insomnia.js +44 -8
- package/icons/tech/intellij-idea.js +92 -8
- package/icons/tech/ionic.js +9 -8
- package/icons/tech/jaeger.js +102 -8
- package/icons/tech/jamstack.js +12 -8
- package/icons/tech/jasmine.js +10 -8
- package/icons/tech/java.js +42 -8
- package/icons/tech/javascript.js +15 -8
- package/icons/tech/jeet.js +135 -8
- package/icons/tech/jekyll.js +187 -8
- package/icons/tech/jenkins.js +126 -8
- package/icons/tech/jest.js +12 -8
- package/icons/tech/jetbrains.js +118 -8
- package/icons/tech/jira-align.js +57 -8
- package/icons/tech/jira.js +62 -8
- package/icons/tech/jquery.js +12 -8
- package/icons/tech/json.js +57 -8
- package/icons/tech/jule.js +12 -8
- package/icons/tech/julia.js +49 -8
- package/icons/tech/junit.js +30 -8
- package/icons/tech/jupyter.js +35 -8
- package/icons/tech/k3os.js +6 -8
- package/icons/tech/k3s.js +12 -8
- package/icons/tech/kafka.js +12 -8
- package/icons/tech/kaggle.js +12 -8
- package/icons/tech/karate.js +15 -8
- package/icons/tech/karma.js +21 -8
- package/icons/tech/keras.js +15 -8
- package/icons/tech/kibana.js +10 -8
- package/icons/tech/knex-js.js +12 -8
- package/icons/tech/knockout.js +13 -8
- package/icons/tech/kotlin.js +25 -8
- package/icons/tech/krakenjs.js +14 -8
- package/icons/tech/ktor.js +48 -8
- package/icons/tech/kubernetes.js +10 -8
- package/icons/tech/labview.js +69 -44
- package/icons/tech/laravel.js +15 -8
- package/icons/tech/latex.js +12 -8
- package/icons/tech/less-js.js +14 -8
- package/icons/tech/linkedin.js +21 -8
- package/icons/tech/linux.js +5267 -8
- package/icons/tech/liquibase.js +12 -8
- package/icons/tech/livewire.js +79 -8
- package/icons/tech/llvm.js +36 -8
- package/icons/tech/logstash.js +10 -8
- package/icons/tech/lua.js +28 -8
- package/icons/tech/lumen.js +12 -8
- package/icons/tech/magento.js +12 -8
- package/icons/tech/markdown.js +44 -33
- package/icons/tech/material-ui.js +11 -8
- package/icons/tech/materialize.js +21 -8
- package/icons/tech/matlab.js +73 -8
- package/icons/tech/matplotlib.js +182 -8
- package/icons/tech/maven.js +620 -8
- package/icons/tech/meteor-js.js +12 -8
- package/icons/tech/microsoft-sql-server.js +6 -8
- package/icons/tech/minitab.js +45 -8
- package/icons/tech/mob-x.js +57 -8
- package/icons/tech/mocha.js +21 -8
- package/icons/tech/modx.js +11 -8
- package/icons/tech/moleculer.js +12 -8
- package/icons/tech/mongodb.js +135 -8
- package/icons/tech/mongoose-js.js +29 -8
- package/icons/tech/moodle.js +139 -8
- package/icons/tech/ms-dos.js +78 -8
- package/icons/tech/mysql.js +12 -8
- package/icons/tech/nano.js +12 -8
- package/icons/tech/nerog.js +136 -8
- package/icons/tech/nestjs.js +12 -8
- package/icons/tech/net-core.js +9 -8
- package/icons/tech/net.js +551 -8
- package/icons/tech/network-x.js +58 -8
- package/icons/tech/new4j.js +21 -8
- package/icons/tech/nextjs.js +6 -8
- package/icons/tech/nginx.js +12 -8
- package/icons/tech/nhibernate.js +21 -8
- package/icons/tech/nim.js +29 -8
- package/icons/tech/nimble.js +84 -8
- package/icons/tech/nix.js +25 -8
- package/icons/tech/nodejs.js +12 -8
- package/icons/tech/nodemon.js +21 -8
- package/icons/tech/nodewebkit.js +42 -8
- package/icons/tech/npm.js +12 -8
- package/icons/tech/nuget.js +12 -8
- package/icons/tech/num-py.js +29 -12
- package/icons/tech/nuxt-js.js +28 -8
- package/icons/tech/objective-c.js +9 -8
- package/icons/tech/ocaml.js +96 -8
- package/icons/tech/oh-my-zsh.js +38 -8
- package/icons/tech/okta.js +21 -8
- package/icons/tech/open-al.js +22 -8
- package/icons/tech/open-api.js +139 -8
- package/icons/tech/open-cl.js +42 -8
- package/icons/tech/open-cv.js +28 -8
- package/icons/tech/open-gl.js +35 -8
- package/icons/tech/open-stack.js +12 -8
- package/icons/tech/open-suse.js +15 -8
- package/icons/tech/open-telemetry.js +21 -8
- package/icons/tech/opera.js +32 -8
- package/icons/tech/oracle.js +12 -8
- package/icons/tech/p5js.js +12 -8
- package/icons/tech/packer.js +15 -8
- package/icons/tech/pandas.js +62 -18
- package/icons/tech/perl.js +21 -8
- package/icons/tech/pf-sense.js +6 -8
- package/icons/tech/phalcon.js +32 -8
- package/icons/tech/phoenix-framework.js +12 -8
- package/icons/tech/photon-engine.js +41 -8
- package/icons/tech/php-storm.js +93 -8
- package/icons/tech/php.js +62 -8
- package/icons/tech/playwrite.js +56 -8
- package/icons/tech/ploty.js +28 -8
- package/icons/tech/podman.js +150 -8
- package/icons/tech/polygon.js +15 -8
- package/icons/tech/portainer.js +12 -8
- package/icons/tech/postcss.js +28 -8
- package/icons/tech/postgresql.js +23 -8
- package/icons/tech/postman.js +28 -8
- package/icons/tech/powershell.js +79 -8
- package/icons/tech/processing.js +201 -22
- package/icons/tech/prometheus.js +12 -8
- package/icons/tech/protractor.js +12 -8
- package/icons/tech/purescript.js +16 -8
- package/icons/tech/putty.js +56 -8
- package/icons/tech/pycharm.js +81 -8
- package/icons/tech/pyscript.js +15 -8
- package/icons/tech/pytest.js +21 -8
- package/icons/tech/python-poetry.js +155 -16
- package/icons/tech/python.js +78 -8
- package/icons/tech/pytorch.js +15 -8
- package/icons/tech/qodana.js +52 -8
- package/icons/tech/qt.js +12 -8
- package/icons/tech/quarkus.js +23 -8
- package/icons/tech/quasar.js +15 -8
- package/icons/tech/qwik.js +37 -8
- package/icons/tech/r.js +57 -8
- package/icons/tech/rabbitmq.js +12 -8
- package/icons/tech/rancher.js +6 -8
- package/icons/tech/raspberrypi.js +28 -8
- package/icons/tech/reach.js +27 -8
- package/icons/tech/react-bootstrap.js +12 -8
- package/icons/tech/react.js +9 -8
- package/icons/tech/realm.js +63 -8
- package/icons/tech/red-cube-s-epic-compiler-thingy-programming-re-ct.js +17 -8
- package/icons/tech/redhat.js +22 -8
- package/icons/tech/redis.js +59 -8
- package/icons/tech/redux.js +12 -8
- package/icons/tech/ren-py.js +541 -8
- package/icons/tech/rider.js +32 -8
- package/icons/tech/robot-operating-system-ros.js +15 -8
- package/icons/tech/rocksdb.js +9 -8
- package/icons/tech/rollup-js.js +155 -8
- package/icons/tech/rspec.js +35 -8
- package/icons/tech/rstudio.js +30 -8
- package/icons/tech/ruby-mine.js +52 -8
- package/icons/tech/ruby-on-rails.js +14 -8
- package/icons/tech/ruby.js +353 -8
- package/icons/tech/rust.js +6 -8
- package/icons/tech/salesforce.js +28 -8
- package/icons/tech/sanity.js +22 -8
- package/icons/tech/sass.js +14 -8
- package/icons/tech/scala.js +21 -8
- package/icons/tech/scalingo.js +29 -8
- package/icons/tech/sdl.js +42 -8
- package/icons/tech/selenium.js +15 -8
- package/icons/tech/sema-software.js +15 -8
- package/icons/tech/sequelize.js +34 -8
- package/icons/tech/shopware.js +9 -8
- package/icons/tech/sketch.js +14 -8
- package/icons/tech/slack.js +35 -8
- package/icons/tech/socket-io.js +45 -33
- package/icons/tech/solid-js.js +121 -8
- package/icons/tech/solidity.js +13 -8
- package/icons/tech/sonarqube.js +12 -8
- package/icons/tech/sourcetree.js +12 -8
- package/icons/tech/spark.js +12 -8
- package/icons/tech/splunk.js +12 -8
- package/icons/tech/spring.js +12 -8
- package/icons/tech/sql-developer.js +43 -8
- package/icons/tech/sqlalchemy.js +21 -8
- package/icons/tech/sqlite.js +45 -8
- package/icons/tech/ssh.js +12 -8
- package/icons/tech/stackoverflow.js +15 -8
- package/icons/tech/stata.js +12 -8
- package/icons/tech/storybook.js +12 -8
- package/icons/tech/streamlit.js +31 -8
- package/icons/tech/stylus.js +9 -8
- package/icons/tech/subversion.js +12 -8
- package/icons/tech/svelte.js +23 -8
- package/icons/tech/swagger.js +21 -8
- package/icons/tech/swift.js +21 -8
- package/icons/tech/symfony.js +12 -8
- package/icons/tech/tailwind-css.js +12 -8
- package/icons/tech/tauri.js +35 -8
- package/icons/tech/tensorflow.js +12 -8
- package/icons/tech/terraform.js +16 -8
- package/icons/tech/tex.js +6 -8
- package/icons/tech/the-algorithms.js +12 -8
- package/icons/tech/three-js.js +139 -108
- package/icons/tech/titanium-sdk.js +12 -8
- package/icons/tech/tomcat.js +26 -8
- package/icons/tech/tortoise-git.js +37 -8
- package/icons/tech/tower.js +357 -8
- package/icons/tech/traefik-mesh.js +12 -8
- package/icons/tech/traefik-proxy.js +12 -8
- package/icons/tech/travis-ci.js +12 -8
- package/icons/tech/trello.js +12 -8
- package/icons/tech/twitter.js +12 -8
- package/icons/tech/typescript.js +16 -8
- package/icons/tech/typo3.js +12 -8
- package/icons/tech/ubuntu.js +12 -8
- package/icons/tech/uml.js +29 -8
- package/icons/tech/unity.js +22 -8
- package/icons/tech/unix.js +12 -8
- package/icons/tech/unreal-engine.js +9 -8
- package/icons/tech/uwsgi.js +38 -8
- package/icons/tech/v8.js +109 -8
- package/icons/tech/vagrant.js +21 -8
- package/icons/tech/vala.js +57 -8
- package/icons/tech/vercel.js +6 -8
- package/icons/tech/veutify.js +11 -8
- package/icons/tech/vim.js +82 -8
- package/icons/tech/visualstudio.js +12 -8
- package/icons/tech/vite.js +6 -8
- package/icons/tech/vitejs.js +56 -8
- package/icons/tech/vscode.js +114 -12
- package/icons/tech/vsphere.js +25 -8
- package/icons/tech/vue-storefront.js +22 -8
- package/icons/tech/vue.js +16 -8
- package/icons/tech/vyper.js +17 -8
- package/icons/tech/webassembly.js +12 -8
- package/icons/tech/webflow.js +12 -8
- package/icons/tech/weblate.js +80 -8
- package/icons/tech/webpack.js +21 -8
- package/icons/tech/webstorm.js +80 -8
- package/icons/tech/windows11.js +12 -8
- package/icons/tech/windows8.js +12 -8
- package/icons/tech/woo-commerce.js +22 -8
- package/icons/tech/wordpress.js +70 -8
- package/icons/tech/xamarin.js +12 -8
- package/icons/tech/xcode.js +575 -8
- package/icons/tech/xml.js +51 -8
- package/icons/tech/yaml.js +16 -8
- package/icons/tech/yarn.js +9 -8
- package/icons/tech/yii-framework.js +35 -8
- package/icons/tech/yuno-host.js +15 -8
- package/icons/tech/zend-framework.js +14 -8
- package/icons/tech/zig.js +28 -8
- package/package.json +35 -26
- package/react/LikeC4Browser.d.ts +1 -1
- package/react/LikeC4ViewElement.d.ts +4 -2
- package/react/index.d.ts +1 -0
- package/react/index.mjs +1452 -1312
- package/react/styles.d.ts +2 -2
- package/react/types.d.ts +4 -2
- package/dist/__app__/react/components.mjs +0 -25397
- /package/dist/__app__/src/{-view-lazy-data-WZmbIsHq.js → routes/-view-lazy-data.js} +0 -0
|
@@ -3,12 +3,12 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
|
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
4
4
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
5
5
|
import * as React from "react";
|
|
6
|
-
import React__default, { createContext, memo as memo$1, useState, forwardRef, useCallback, useMemo, useRef, useEffect, useContext, useLayoutEffect, useInsertionEffect as useInsertionEffect$1, Fragment as Fragment$1,
|
|
7
|
-
import * as ReactDOM from "react-dom";
|
|
8
|
-
import ReactDOM__default, { createPortal } from "react-dom";
|
|
6
|
+
import React__default, { createContext, memo as memo$1, useState, forwardRef, useCallback, useMemo, useRef, useEffect, useContext, useLayoutEffect, useInsertionEffect as useInsertionEffect$1, createElement, Fragment as Fragment$1, useId as useId$2, Children, isValidElement, cloneElement } from "react";
|
|
9
7
|
import { createRoot } from "react-dom/client";
|
|
10
8
|
import { LikeC4Views } from "virtual:likec4/views";
|
|
11
9
|
import { Icons } from "virtual:likec4/icons";
|
|
10
|
+
import * as ReactDOM from "react-dom";
|
|
11
|
+
import ReactDOM__default, { createPortal } from "react-dom";
|
|
12
12
|
const ComponentName = {
|
|
13
13
|
View: WEBCOMPONENT_PREFIX + "-view",
|
|
14
14
|
Browser: WEBCOMPONENT_PREFIX + "-browser"
|
|
@@ -59,7 +59,7 @@ const ComponentName = {
|
|
|
59
59
|
hiContrast: "#FBD3CB",
|
|
60
60
|
// hiContrast: '#f8fafc',
|
|
61
61
|
// loContrast: '#fdd8d8' // radix black red 12
|
|
62
|
-
loContrast: "#
|
|
62
|
+
loContrast: "#f5b2a3"
|
|
63
63
|
},
|
|
64
64
|
green: {
|
|
65
65
|
fill: "#428a4f",
|
|
@@ -137,7 +137,7 @@ const ComponentName = {
|
|
|
137
137
|
red: {
|
|
138
138
|
lineColor: "#AC4D39",
|
|
139
139
|
labelBgColor: "#b91c1c",
|
|
140
|
-
labelColor: "#
|
|
140
|
+
labelColor: "#f5b2a3"
|
|
141
141
|
},
|
|
142
142
|
secondary: sky,
|
|
143
143
|
sky,
|
|
@@ -188,24 +188,24 @@ var __extends = /* @__PURE__ */ function() {
|
|
|
188
188
|
}
|
|
189
189
|
return CustomError2;
|
|
190
190
|
}(Error);
|
|
191
|
-
function u$
|
|
191
|
+
function u$5(t2, n2, a2) {
|
|
192
192
|
let o2 = (r2) => t2(r2, ...n2);
|
|
193
193
|
return a2 === void 0 ? o2 : Object.assign(o2, { lazy: a2, lazyArgs: n2 });
|
|
194
194
|
}
|
|
195
|
-
function u$
|
|
195
|
+
function u$4(r2, n2, a2) {
|
|
196
196
|
let o2 = r2.length - n2.length;
|
|
197
197
|
if (o2 === 0) return r2(...n2);
|
|
198
|
-
if (o2 === 1) return u$
|
|
198
|
+
if (o2 === 1) return u$5(r2, n2, a2);
|
|
199
199
|
throw new Error("Wrong number of arguments");
|
|
200
200
|
}
|
|
201
|
-
function i$
|
|
202
|
-
return u$
|
|
201
|
+
function i$2(...e2) {
|
|
202
|
+
return u$4(r$4, e2);
|
|
203
203
|
}
|
|
204
204
|
var r$4 = (e2, t2) => e2.length >= t2;
|
|
205
205
|
function d$1(...e2) {
|
|
206
|
-
return u$
|
|
206
|
+
return u$4(i$1, e2);
|
|
207
207
|
}
|
|
208
|
-
function i$
|
|
208
|
+
function i$1(e2, o2) {
|
|
209
209
|
let r2 = [];
|
|
210
210
|
for (let [t2, n2] of e2.entries()) {
|
|
211
211
|
if (!o2(n2, t2, e2)) break;
|
|
@@ -213,45 +213,21 @@ function i$2(e2, o2) {
|
|
|
213
213
|
}
|
|
214
214
|
return r2;
|
|
215
215
|
}
|
|
216
|
-
function l$
|
|
217
|
-
return u$
|
|
218
|
-
}
|
|
219
|
-
var u$5 = (e2, a2, n2) => e2.reduce(a2, n2);
|
|
220
|
-
function i$1(...e2) {
|
|
221
|
-
return u$6(u$4, e2);
|
|
222
|
-
}
|
|
223
|
-
function u$4(e2, o2) {
|
|
224
|
-
let t2 = {};
|
|
225
|
-
for (let [r2, n2] of Object.entries(e2)) o2(n2, r2, e2) && (t2[r2] = n2);
|
|
226
|
-
return t2;
|
|
227
|
-
}
|
|
228
|
-
function y$2(...t2) {
|
|
229
|
-
return u$6(f, t2);
|
|
230
|
-
}
|
|
231
|
-
function f(t2, e2) {
|
|
232
|
-
if (!i$3(e2, 1)) return { ...t2 };
|
|
233
|
-
if (!i$3(e2, 2)) {
|
|
234
|
-
let { [e2[0]]: r2, ...m2 } = t2;
|
|
235
|
-
return m2;
|
|
236
|
-
}
|
|
237
|
-
let o2 = { ...t2 };
|
|
238
|
-
for (let r2 of e2) delete o2[r2];
|
|
239
|
-
return o2;
|
|
216
|
+
function l$2(...e2) {
|
|
217
|
+
return u$4(u$3, e2);
|
|
240
218
|
}
|
|
241
|
-
|
|
219
|
+
var u$3 = (e2, a2, n2) => e2.reduce(a2, n2);
|
|
220
|
+
function n$4(e2) {
|
|
242
221
|
return !!e2;
|
|
243
222
|
}
|
|
244
223
|
function t$4(...n2) {
|
|
245
|
-
return u$
|
|
246
|
-
}
|
|
247
|
-
function a$2(...e2) {
|
|
248
|
-
return u$6(n$5, e2);
|
|
224
|
+
return u$4(Object.keys, n2);
|
|
249
225
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
return l2 !== null;
|
|
226
|
+
function a$1(...e2) {
|
|
227
|
+
return u$4(n$3, e2);
|
|
253
228
|
}
|
|
254
|
-
|
|
229
|
+
var n$3 = (e2) => e2.at(-1);
|
|
230
|
+
function l$1(n2) {
|
|
255
231
|
return n2 != null;
|
|
256
232
|
}
|
|
257
233
|
function e$3(n2) {
|
|
@@ -260,67 +236,19 @@ function e$3(n2) {
|
|
|
260
236
|
function e$2(r2) {
|
|
261
237
|
return typeof r2 == "number" && !Number.isNaN(r2);
|
|
262
238
|
}
|
|
263
|
-
function n$3(e2) {
|
|
264
|
-
return e2 === void 0 ? !0 : typeof e2 == "string" ? e2.length === 0 : typeof e2 != "object" ? !1 : Array.isArray(e2) ? e2.length === 0 : Object.keys(e2).length === 0;
|
|
265
|
-
}
|
|
266
239
|
function n$2(r2) {
|
|
267
240
|
return Array.isArray(r2);
|
|
268
241
|
}
|
|
269
|
-
function y$1(...e2) {
|
|
270
|
-
return u$6(u$3, e2);
|
|
271
|
-
}
|
|
272
|
-
function u$3(e2, n2) {
|
|
273
|
-
if (e2 === n2 || Object.is(e2, n2)) return !0;
|
|
274
|
-
if (typeof e2 != "object" || typeof n2 != "object" || e2 === null || n2 === null || Object.getPrototypeOf(e2) !== Object.getPrototypeOf(n2)) return !1;
|
|
275
|
-
if (Array.isArray(e2)) return l$1(e2, n2);
|
|
276
|
-
if (e2 instanceof Map) return a$1(e2, n2);
|
|
277
|
-
if (e2 instanceof Set) return c$1(e2, n2);
|
|
278
|
-
if (e2 instanceof Date) return e2.getTime() === n2.getTime();
|
|
279
|
-
if (e2 instanceof RegExp) return e2.toString() === n2.toString();
|
|
280
|
-
if (Object.keys(e2).length !== Object.keys(n2).length) return !1;
|
|
281
|
-
for (let [r2, t2] of Object.entries(e2)) if (!(r2 in n2) || !u$3(t2, n2[r2])) return !1;
|
|
282
|
-
return !0;
|
|
283
|
-
}
|
|
284
|
-
function l$1(e2, n2) {
|
|
285
|
-
if (e2.length !== n2.length) return !1;
|
|
286
|
-
for (let [r2, t2] of e2.entries()) if (!u$3(t2, n2[r2])) return !1;
|
|
287
|
-
return !0;
|
|
288
|
-
}
|
|
289
|
-
function a$1(e2, n2) {
|
|
290
|
-
if (e2.size !== n2.size) return !1;
|
|
291
|
-
for (let [r2, t2] of e2.entries()) if (!n2.has(r2) || !u$3(t2, n2.get(r2))) return !1;
|
|
292
|
-
return !0;
|
|
293
|
-
}
|
|
294
|
-
function c$1(e2, n2) {
|
|
295
|
-
if (e2.size !== n2.size) return !1;
|
|
296
|
-
let r2 = [...n2];
|
|
297
|
-
for (let t2 of e2) {
|
|
298
|
-
let o2 = !1;
|
|
299
|
-
for (let [i2, f2] of r2.entries()) if (u$3(t2, f2)) {
|
|
300
|
-
o2 = !0, r2.splice(i2, 1);
|
|
301
|
-
break;
|
|
302
|
-
}
|
|
303
|
-
if (!o2) return !1;
|
|
304
|
-
}
|
|
305
|
-
return !0;
|
|
306
|
-
}
|
|
307
|
-
function o$1(...e2) {
|
|
308
|
-
return u$6(c, e2);
|
|
309
|
-
}
|
|
310
|
-
function c(e2, y2) {
|
|
311
|
-
for (let [t2, u2] of Object.entries(y2)) if (!Object.hasOwn(e2, t2) || !y$1(u2, e2[t2])) return !1;
|
|
312
|
-
return !0;
|
|
313
|
-
}
|
|
314
242
|
var e$1 = (n2) => Object.assign(n2, { single: !0 });
|
|
315
243
|
function d(...e2) {
|
|
316
|
-
return u$
|
|
244
|
+
return u$4(r$3, e2, e$1(o));
|
|
317
245
|
}
|
|
318
246
|
var r$3 = ([e2]) => e2, o = () => a, a = (e2) => ({ hasNext: !0, next: e2, done: !0 });
|
|
319
247
|
function t$3(...r2) {
|
|
320
|
-
return u$
|
|
248
|
+
return u$4(Object.entries, r2);
|
|
321
249
|
}
|
|
322
250
|
function u$2(...n2) {
|
|
323
|
-
return u$
|
|
251
|
+
return u$4(i, n2);
|
|
324
252
|
}
|
|
325
253
|
var i = (n2, { min: e2, max: r2 }) => e2 !== void 0 && n2 < e2 ? e2 : r2 !== void 0 && n2 > r2 ? r2 : n2;
|
|
326
254
|
function isString$1(value) {
|
|
@@ -346,7 +274,7 @@ function nonNullable(value, message) {
|
|
|
346
274
|
throw new NullableError(message ?? `Expected defined value, but received ${value}`);
|
|
347
275
|
return value;
|
|
348
276
|
}
|
|
349
|
-
function invariant
|
|
277
|
+
function invariant(condition, message) {
|
|
350
278
|
if (!condition)
|
|
351
279
|
throw new InvariantError(message ?? "Invariant failed");
|
|
352
280
|
}
|
|
@@ -378,6 +306,17 @@ function extractStep(id2) {
|
|
|
378
306
|
throw new Error(`Invalid step edge id: ${id2}`);
|
|
379
307
|
return Number(id2.slice(5));
|
|
380
308
|
}
|
|
309
|
+
function getBBoxCenter({
|
|
310
|
+
x: x2,
|
|
311
|
+
y: y2,
|
|
312
|
+
width,
|
|
313
|
+
height
|
|
314
|
+
}) {
|
|
315
|
+
return {
|
|
316
|
+
x: x2 + width / 2,
|
|
317
|
+
y: y2 + height / 2
|
|
318
|
+
};
|
|
319
|
+
}
|
|
381
320
|
function isAncestor(...args) {
|
|
382
321
|
const ancestor = isString$1(args[0]) ? args[0] : args[0].id;
|
|
383
322
|
return (isString$1(args[1]) ? args[1] : args[1].id).startsWith(ancestor + ".");
|
|
@@ -442,9 +381,9 @@ Dispatch.prototype = dispatch.prototype = {
|
|
|
442
381
|
}
|
|
443
382
|
};
|
|
444
383
|
function get$1(type, name) {
|
|
445
|
-
for (var i2 = 0, n2 = type.length,
|
|
446
|
-
if ((
|
|
447
|
-
return
|
|
384
|
+
for (var i2 = 0, n2 = type.length, c; i2 < n2; ++i2)
|
|
385
|
+
if ((c = type[i2]).name === name)
|
|
386
|
+
return c.value;
|
|
448
387
|
}
|
|
449
388
|
function set$1(type, name, callback) {
|
|
450
389
|
for (var i2 = 0, n2 = type.length; i2 < n2; ++i2)
|
|
@@ -1130,9 +1069,9 @@ function drag() {
|
|
|
1130
1069
|
}
|
|
1131
1070
|
function touchstarted(event, d2) {
|
|
1132
1071
|
if (filter2.call(this, event, d2)) {
|
|
1133
|
-
var touches = event.changedTouches,
|
|
1072
|
+
var touches = event.changedTouches, c = container2.call(this, event, d2), n2 = touches.length, i2, gesture;
|
|
1134
1073
|
for (i2 = 0; i2 < n2; ++i2)
|
|
1135
|
-
(gesture = beforestart(this,
|
|
1074
|
+
(gesture = beforestart(this, c, event, d2, touches[i2].identifier, touches[i2])) && (nopropagation$1(event), gesture("start", event, touches[i2]));
|
|
1136
1075
|
}
|
|
1137
1076
|
}
|
|
1138
1077
|
function touchmoved(event) {
|
|
@@ -1570,11 +1509,11 @@ var degrees$1 = 180 / Math.PI, identity$3 = {
|
|
|
1570
1509
|
scaleX: 1,
|
|
1571
1510
|
scaleY: 1
|
|
1572
1511
|
};
|
|
1573
|
-
function decompose(a2, b,
|
|
1512
|
+
function decompose(a2, b, c, d2, e2, f) {
|
|
1574
1513
|
var scaleX, scaleY, skewX;
|
|
1575
|
-
return (scaleX = Math.sqrt(a2 * a2 + b * b)) && (a2 /= scaleX, b /= scaleX), (skewX = a2 *
|
|
1514
|
+
return (scaleX = Math.sqrt(a2 * a2 + b * b)) && (a2 /= scaleX, b /= scaleX), (skewX = a2 * c + b * d2) && (c -= a2 * skewX, d2 -= b * skewX), (scaleY = Math.sqrt(c * c + d2 * d2)) && (c /= scaleY, d2 /= scaleY, skewX /= scaleY), a2 * d2 < b * c && (a2 = -a2, b = -b, skewX = -skewX, scaleX = -scaleX), {
|
|
1576
1515
|
translateX: e2,
|
|
1577
|
-
translateY:
|
|
1516
|
+
translateY: f,
|
|
1578
1517
|
rotate: Math.atan2(b, a2) * degrees$1,
|
|
1579
1518
|
skewX: Math.atan(skewX) * degrees$1,
|
|
1580
1519
|
scaleX,
|
|
@@ -1658,8 +1597,8 @@ const interpolateZoom = function zoomRho(rho, rho2, rho4) {
|
|
|
1658
1597
|
return zoomRho(_1, _2, _4);
|
|
1659
1598
|
}, zoom2;
|
|
1660
1599
|
}(Math.SQRT2, 2, 4);
|
|
1661
|
-
var frame$1 = 0, timeout$1 = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance == "object" && performance.now ? performance : Date, setFrame = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(
|
|
1662
|
-
setTimeout(
|
|
1600
|
+
var frame$1 = 0, timeout$1 = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance == "object" && performance.now ? performance : Date, setFrame = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) {
|
|
1601
|
+
setTimeout(f, 17);
|
|
1663
1602
|
};
|
|
1664
1603
|
function now$1() {
|
|
1665
1604
|
return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
|
|
@@ -1860,8 +1799,8 @@ function tweenValue(transition, name, value) {
|
|
|
1860
1799
|
};
|
|
1861
1800
|
}
|
|
1862
1801
|
function interpolate$1(a2, b) {
|
|
1863
|
-
var
|
|
1864
|
-
return (typeof b == "number" ? interpolateNumber : b instanceof color$1 ? interpolateRgb : (
|
|
1802
|
+
var c;
|
|
1803
|
+
return (typeof b == "number" ? interpolateNumber : b instanceof color$1 ? interpolateRgb : (c = color$1(b)) ? (b = c, interpolateRgb) : interpolateString)(a2, b);
|
|
1865
1804
|
}
|
|
1866
1805
|
function attrRemove(name) {
|
|
1867
1806
|
return function() {
|
|
@@ -2812,16 +2751,16 @@ function getBezierEdgeCenter({ sourceX, sourceY, targetX, targetY, sourceControl
|
|
|
2812
2751
|
function calculateControlOffset(distance2, curvature) {
|
|
2813
2752
|
return distance2 >= 0 ? 0.5 * distance2 : curvature * 25 * Math.sqrt(-distance2);
|
|
2814
2753
|
}
|
|
2815
|
-
function getControlWithCurvature({ pos, x1, y1, x2, y2, c
|
|
2754
|
+
function getControlWithCurvature({ pos, x1, y1, x2, y2, c }) {
|
|
2816
2755
|
switch (pos) {
|
|
2817
2756
|
case Position.Left:
|
|
2818
|
-
return [x1 - calculateControlOffset(x1 - x2,
|
|
2757
|
+
return [x1 - calculateControlOffset(x1 - x2, c), y1];
|
|
2819
2758
|
case Position.Right:
|
|
2820
|
-
return [x1 + calculateControlOffset(x2 - x1,
|
|
2759
|
+
return [x1 + calculateControlOffset(x2 - x1, c), y1];
|
|
2821
2760
|
case Position.Top:
|
|
2822
|
-
return [x1, y1 - calculateControlOffset(y1 - y2,
|
|
2761
|
+
return [x1, y1 - calculateControlOffset(y1 - y2, c)];
|
|
2823
2762
|
case Position.Bottom:
|
|
2824
|
-
return [x1, y1 + calculateControlOffset(y2 - y1,
|
|
2763
|
+
return [x1, y1 + calculateControlOffset(y2 - y1, c)];
|
|
2825
2764
|
}
|
|
2826
2765
|
}
|
|
2827
2766
|
function getBezierPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25 }) {
|
|
@@ -2949,15 +2888,15 @@ function getPoints({ source, sourcePosition = Position.Bottom, target, targetPos
|
|
|
2949
2888
|
target
|
|
2950
2889
|
], centerX, centerY, defaultOffsetX, defaultOffsetY];
|
|
2951
2890
|
}
|
|
2952
|
-
function getBend(a2, b,
|
|
2953
|
-
const bendSize = Math.min(distance(a2, b) / 2, distance(b,
|
|
2954
|
-
if (a2.x === x2 && x2 ===
|
|
2891
|
+
function getBend(a2, b, c, size2) {
|
|
2892
|
+
const bendSize = Math.min(distance(a2, b) / 2, distance(b, c) / 2, size2), { x: x2, y: y2 } = b;
|
|
2893
|
+
if (a2.x === x2 && x2 === c.x || a2.y === y2 && y2 === c.y)
|
|
2955
2894
|
return `L${x2} ${y2}`;
|
|
2956
2895
|
if (a2.y === y2) {
|
|
2957
|
-
const xDir2 = a2.x <
|
|
2896
|
+
const xDir2 = a2.x < c.x ? -1 : 1, yDir2 = a2.y < c.y ? 1 : -1;
|
|
2958
2897
|
return `L ${x2 + bendSize * xDir2},${y2}Q ${x2},${y2} ${x2},${y2 + bendSize * yDir2}`;
|
|
2959
2898
|
}
|
|
2960
|
-
const xDir = a2.x <
|
|
2899
|
+
const xDir = a2.x < c.x ? 1 : -1, yDir = a2.y < c.y ? -1 : 1;
|
|
2961
2900
|
return `L ${x2},${y2 + bendSize * yDir}Q ${x2},${y2} ${x2 + bendSize * xDir},${y2}`;
|
|
2962
2901
|
}
|
|
2963
2902
|
function getSmoothStepPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, borderRadius = 5, centerX, centerY, offset: offset2 = 20 }) {
|
|
@@ -3990,9 +3929,6 @@ function XYResizer({ domNode, nodeId, getStoreItems, onChange, onEnd }) {
|
|
|
3990
3929
|
function getDefaultExportFromCjs(x2) {
|
|
3991
3930
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2.default : x2;
|
|
3992
3931
|
}
|
|
3993
|
-
function getDefaultExportFromNamespaceIfNotNamed(n2) {
|
|
3994
|
-
return n2 && Object.prototype.hasOwnProperty.call(n2, "default") && Object.keys(n2).length === 1 ? n2.default : n2;
|
|
3995
|
-
}
|
|
3996
3932
|
var withSelector = { exports: {} }, withSelector_production_min = {}, shim = { exports: {} }, useSyncExternalStoreShim_production_min = {};
|
|
3997
3933
|
/**
|
|
3998
3934
|
* @license React
|
|
@@ -4009,12 +3945,12 @@ function h$1(a2, b) {
|
|
|
4009
3945
|
}
|
|
4010
3946
|
var k = typeof Object.is == "function" ? Object.is : h$1, l = e.useState, m$1 = e.useEffect, n$1 = e.useLayoutEffect, p$1 = e.useDebugValue;
|
|
4011
3947
|
function q$1(a2, b) {
|
|
4012
|
-
var d2 = b(),
|
|
3948
|
+
var d2 = b(), f = l({ inst: { value: d2, getSnapshot: b } }), c = f[0].inst, g = f[1];
|
|
4013
3949
|
return n$1(function() {
|
|
4014
|
-
|
|
3950
|
+
c.value = d2, c.getSnapshot = b, r$2(c) && g({ inst: c });
|
|
4015
3951
|
}, [a2, d2, b]), m$1(function() {
|
|
4016
|
-
return r$2(
|
|
4017
|
-
r$2(
|
|
3952
|
+
return r$2(c) && g({ inst: c }), a2(function() {
|
|
3953
|
+
r$2(c) && g({ inst: c });
|
|
4018
3954
|
});
|
|
4019
3955
|
}, [a2]), p$1(d2), d2;
|
|
4020
3956
|
}
|
|
@@ -4050,16 +3986,16 @@ function p(a2, b) {
|
|
|
4050
3986
|
}
|
|
4051
3987
|
var q = typeof Object.is == "function" ? Object.is : p, r$1 = n.useSyncExternalStore, t$1 = h.useRef, u = h.useEffect, v = h.useMemo, w = h.useDebugValue;
|
|
4052
3988
|
withSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e2, l2, g) {
|
|
4053
|
-
var
|
|
4054
|
-
if (
|
|
4055
|
-
var
|
|
4056
|
-
|
|
4057
|
-
} else
|
|
4058
|
-
|
|
3989
|
+
var c = t$1(null);
|
|
3990
|
+
if (c.current === null) {
|
|
3991
|
+
var f = { hasValue: !1, value: null };
|
|
3992
|
+
c.current = f;
|
|
3993
|
+
} else f = c.current;
|
|
3994
|
+
c = v(function() {
|
|
4059
3995
|
function a3(a4) {
|
|
4060
|
-
if (!
|
|
4061
|
-
if (
|
|
4062
|
-
var b2 =
|
|
3996
|
+
if (!c2) {
|
|
3997
|
+
if (c2 = !0, d3 = a4, a4 = l2(a4), g !== void 0 && f.hasValue) {
|
|
3998
|
+
var b2 = f.value;
|
|
4063
3999
|
if (g(b2, a4)) return k2 = b2;
|
|
4064
4000
|
}
|
|
4065
4001
|
return k2 = a4;
|
|
@@ -4068,22 +4004,22 @@ withSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b, e
|
|
|
4068
4004
|
var e3 = l2(a4);
|
|
4069
4005
|
return g !== void 0 && g(b2, e3) ? b2 : (d3 = a4, k2 = e3);
|
|
4070
4006
|
}
|
|
4071
|
-
var
|
|
4007
|
+
var c2 = !1, d3, k2, m2 = e2 === void 0 ? null : e2;
|
|
4072
4008
|
return [function() {
|
|
4073
4009
|
return a3(b());
|
|
4074
4010
|
}, m2 === null ? void 0 : function() {
|
|
4075
4011
|
return a3(m2());
|
|
4076
4012
|
}];
|
|
4077
4013
|
}, [b, e2, l2, g]);
|
|
4078
|
-
var d2 = r$1(a2,
|
|
4014
|
+
var d2 = r$1(a2, c[0], c[1]);
|
|
4079
4015
|
return u(function() {
|
|
4080
|
-
|
|
4016
|
+
f.hasValue = !0, f.value = d2;
|
|
4081
4017
|
}, [d2]), w(d2), d2;
|
|
4082
4018
|
};
|
|
4083
4019
|
withSelector.exports = withSelector_production_min;
|
|
4084
4020
|
var withSelectorExports = withSelector.exports;
|
|
4085
4021
|
const useSyncExternalStoreExports = /* @__PURE__ */ getDefaultExportFromCjs(withSelectorExports);
|
|
4086
|
-
var define_import_meta_env_default$1 = {
|
|
4022
|
+
var define_import_meta_env_default$1 = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
|
|
4087
4023
|
const createStoreImpl = (createState2) => {
|
|
4088
4024
|
let state;
|
|
4089
4025
|
const listeners = /* @__PURE__ */ new Set(), setState = (partial, replace) => {
|
|
@@ -4517,10 +4453,10 @@ const isNode$1 = (element) => isNodeBase(element), isEdge = (element) => isEdgeB
|
|
|
4517
4453
|
function fixedForwardRef(render) {
|
|
4518
4454
|
return forwardRef(render);
|
|
4519
4455
|
}
|
|
4520
|
-
const useIsomorphicLayoutEffect$
|
|
4456
|
+
const useIsomorphicLayoutEffect$2 = typeof window < "u" ? useLayoutEffect : useEffect;
|
|
4521
4457
|
function useQueue(runQueue) {
|
|
4522
4458
|
const [shouldFlush, setShouldFlush] = useState(!1), [queue] = useState(() => createQueue(() => setShouldFlush(!0)));
|
|
4523
|
-
return useIsomorphicLayoutEffect$
|
|
4459
|
+
return useIsomorphicLayoutEffect$2(() => {
|
|
4524
4460
|
if (!shouldFlush) {
|
|
4525
4461
|
queue.reset();
|
|
4526
4462
|
return;
|
|
@@ -4967,9 +4903,7 @@ function useMoveSelectedNodes() {
|
|
|
4967
4903
|
updateNodePositions(nodeUpdates);
|
|
4968
4904
|
}, []);
|
|
4969
4905
|
}
|
|
4970
|
-
const NodeIdContext = createContext(null), Provider = NodeIdContext.Provider
|
|
4971
|
-
NodeIdContext.Consumer;
|
|
4972
|
-
const useNodeId = () => useContext(NodeIdContext), selector$h = (s) => ({
|
|
4906
|
+
const NodeIdContext = createContext(null), Provider = NodeIdContext.Provider, useNodeId = () => useContext(NodeIdContext), selector$h = (s) => ({
|
|
4973
4907
|
connectOnClick: s.connectOnClick,
|
|
4974
4908
|
noPanClassName: s.noPanClassName,
|
|
4975
4909
|
rfId: s.rfId
|
|
@@ -6313,16 +6247,16 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
|
|
|
6313
6247
|
}
|
|
6314
6248
|
memo$1(ResizeControl);
|
|
6315
6249
|
function r(e2) {
|
|
6316
|
-
var t2,
|
|
6250
|
+
var t2, f, n2 = "";
|
|
6317
6251
|
if (typeof e2 == "string" || typeof e2 == "number") n2 += e2;
|
|
6318
6252
|
else if (typeof e2 == "object") if (Array.isArray(e2)) {
|
|
6319
6253
|
var o2 = e2.length;
|
|
6320
|
-
for (t2 = 0; t2 < o2; t2++) e2[t2] && (
|
|
6321
|
-
} else for (
|
|
6254
|
+
for (t2 = 0; t2 < o2; t2++) e2[t2] && (f = r(e2[t2])) && (n2 && (n2 += " "), n2 += f);
|
|
6255
|
+
} else for (f in e2) e2[f] && (n2 && (n2 += " "), n2 += f);
|
|
6322
6256
|
return n2;
|
|
6323
6257
|
}
|
|
6324
6258
|
function clsx() {
|
|
6325
|
-
for (var e2, t2,
|
|
6259
|
+
for (var e2, t2, f = 0, n2 = "", o2 = arguments.length; f < o2; f++) (e2 = arguments[f]) && (t2 = r(e2)) && (n2 && (n2 += " "), n2 += t2);
|
|
6326
6260
|
return n2;
|
|
6327
6261
|
}
|
|
6328
6262
|
var getOwnPropertyNames = Object.getOwnPropertyNames, getOwnPropertySymbols = Object.getOwnPropertySymbols, hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
@@ -6550,7 +6484,7 @@ const MotionConfigContext = createContext({
|
|
|
6550
6484
|
transformPagePoint: (p2) => p2,
|
|
6551
6485
|
isStatic: !1,
|
|
6552
6486
|
reducedMotion: "never"
|
|
6553
|
-
}), MotionContext = createContext({}), PresenceContext = createContext(null), isBrowser$1 = typeof
|
|
6487
|
+
}), MotionContext = createContext({}), PresenceContext = createContext(null), isBrowser$1 = typeof window < "u", useIsomorphicLayoutEffect$1 = isBrowser$1 ? useLayoutEffect : useEffect, LazyContext = createContext({ strict: !1 }), camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), optimizedAppearDataId = "framerAppearId", optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId), MotionGlobalConfig = {
|
|
6554
6488
|
skipAnimations: !1,
|
|
6555
6489
|
useManualTiming: !1
|
|
6556
6490
|
};
|
|
@@ -6647,7 +6581,7 @@ function useVisualElement(Component, visualState, props, createVisualElement, Pr
|
|
|
6647
6581
|
visualElement && visualElement.update(props, presenceContext);
|
|
6648
6582
|
});
|
|
6649
6583
|
const wantsHandoff = useRef(!!(props[optimizedAppearDataAttribute] && !window.HandoffComplete));
|
|
6650
|
-
return useIsomorphicLayoutEffect$
|
|
6584
|
+
return useIsomorphicLayoutEffect$1(() => {
|
|
6651
6585
|
visualElement && (visualElement.updateFeatures(), microtask.render(visualElement.render), wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges());
|
|
6652
6586
|
}), useEffect(() => {
|
|
6653
6587
|
visualElement && (!wantsHandoff.current && visualElement.animationState && visualElement.animationState.animateChanges(), wantsHandoff.current && (wantsHandoff.current = !1, scheduleHandoffComplete || (scheduleHandoffComplete = !0, queueMicrotask(completeHandoff))));
|
|
@@ -6663,7 +6597,6 @@ function createProjectionNode(visualElement, props, ProjectionNodeConstructor, i
|
|
|
6663
6597
|
layout,
|
|
6664
6598
|
alwaysMeasureLayout: !!drag2 || dragConstraints && isRefObject(dragConstraints),
|
|
6665
6599
|
visualElement,
|
|
6666
|
-
scheduleRender: () => visualElement.scheduleRender(),
|
|
6667
6600
|
/**
|
|
6668
6601
|
* TODO: Update options in an effect. This could be tricky as it'll be too late
|
|
6669
6602
|
* to update by the time layout animations run.
|
|
@@ -6764,7 +6697,6 @@ function loadFeatures(features) {
|
|
|
6764
6697
|
};
|
|
6765
6698
|
}
|
|
6766
6699
|
const LayoutGroupContext = createContext({}), motionComponentSymbol = Symbol.for("motionComponentSymbol"), noop$2 = (any) => any;
|
|
6767
|
-
let invariant = noop$2;
|
|
6768
6700
|
function createMotionComponent({ preloadedFeatures, createVisualElement, useRender, useVisualState, Component }) {
|
|
6769
6701
|
preloadedFeatures && loadFeatures(preloadedFeatures);
|
|
6770
6702
|
function MotionComponent(props, externalRef) {
|
|
@@ -6886,24 +6818,7 @@ const scaleCorrectors = {}, transformPropOrder = [
|
|
|
6886
6818
|
function isForcedMotionValue(key, { layout, layoutId }) {
|
|
6887
6819
|
return transformProps.has(key) || key.startsWith("origin") || (layout || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
|
|
6888
6820
|
}
|
|
6889
|
-
const isMotionValue = (value) => !!(value && value.getVelocity),
|
|
6890
|
-
x: "translateX",
|
|
6891
|
-
y: "translateY",
|
|
6892
|
-
z: "translateZ",
|
|
6893
|
-
transformPerspective: "perspective"
|
|
6894
|
-
}, numTransforms = transformPropOrder.length;
|
|
6895
|
-
function buildTransform(transform2, transformIsDefault, transformTemplate) {
|
|
6896
|
-
let transformString = "";
|
|
6897
|
-
for (let i2 = 0; i2 < numTransforms; i2++) {
|
|
6898
|
-
const key = transformPropOrder[i2];
|
|
6899
|
-
if (transform2[key] !== void 0) {
|
|
6900
|
-
const transformName = translateAlias[key] || key;
|
|
6901
|
-
transformString += `${transformName}(${transform2[key]}) `;
|
|
6902
|
-
}
|
|
6903
|
-
}
|
|
6904
|
-
return transformString = transformString.trim(), transformTemplate ? transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString) : transformIsDefault && (transformString = "none"), transformString;
|
|
6905
|
-
}
|
|
6906
|
-
const checkStringStartsWith = (token) => (key) => typeof key == "string" && key.startsWith(token), isCSSVariableName = checkStringStartsWith("--"), startsAsVariableToken = checkStringStartsWith("var(--"), isCSSVariableToken = (value) => startsAsVariableToken(value) ? singleCssVariableRegex.test(value.split("/*")[0].trim()) : !1, singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu, getValueAsType = (value, type) => type && typeof value == "number" ? type.transform(value) : value, clamp$3 = (min2, max2, v2) => v2 > max2 ? max2 : v2 < min2 ? min2 : v2, number = {
|
|
6821
|
+
const isMotionValue = (value) => !!(value && value.getVelocity), getValueAsType = (value, type) => type && typeof value == "number" ? type.transform(value) : value, clamp$3 = (min2, max2, v2) => v2 > max2 ? max2 : v2 < min2 ? min2 : v2, number = {
|
|
6907
6822
|
test: (v2) => typeof v2 == "number",
|
|
6908
6823
|
parse: parseFloat,
|
|
6909
6824
|
transform: (v2) => v2
|
|
@@ -6998,24 +6913,49 @@ const createUnitType = (unit) => ({
|
|
|
6998
6913
|
fillOpacity: alpha$1,
|
|
6999
6914
|
strokeOpacity: alpha$1,
|
|
7000
6915
|
numOctaves: int
|
|
7001
|
-
}
|
|
6916
|
+
}, translateAlias = {
|
|
6917
|
+
x: "translateX",
|
|
6918
|
+
y: "translateY",
|
|
6919
|
+
z: "translateZ",
|
|
6920
|
+
transformPerspective: "perspective"
|
|
6921
|
+
}, numTransforms = transformPropOrder.length;
|
|
6922
|
+
function buildTransform(latestValues, transform2, transformTemplate) {
|
|
6923
|
+
let transformString = "", transformIsDefault = !0;
|
|
6924
|
+
for (let i2 = 0; i2 < numTransforms; i2++) {
|
|
6925
|
+
const key = transformPropOrder[i2], value = latestValues[key];
|
|
6926
|
+
if (value === void 0)
|
|
6927
|
+
continue;
|
|
6928
|
+
let valueIsDefault = !0;
|
|
6929
|
+
if (typeof value == "number" ? valueIsDefault = value === (key.startsWith("scale") ? 1 : 0) : valueIsDefault = parseFloat(value) === 0, !valueIsDefault || transformTemplate) {
|
|
6930
|
+
const valueAsType = getValueAsType(value, numberValueTypes[key]);
|
|
6931
|
+
if (!valueIsDefault) {
|
|
6932
|
+
transformIsDefault = !1;
|
|
6933
|
+
const transformName = translateAlias[key] || key;
|
|
6934
|
+
transformString += `${transformName}(${valueAsType}) `;
|
|
6935
|
+
}
|
|
6936
|
+
transformTemplate && (transform2[key] = valueAsType);
|
|
6937
|
+
}
|
|
6938
|
+
}
|
|
6939
|
+
return transformString = transformString.trim(), transformTemplate ? transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString) : transformIsDefault && (transformString = "none"), transformString;
|
|
6940
|
+
}
|
|
6941
|
+
const checkStringStartsWith = (token) => (key) => typeof key == "string" && key.startsWith(token), isCSSVariableName = checkStringStartsWith("--"), startsAsVariableToken = checkStringStartsWith("var(--"), isCSSVariableToken = (value) => startsAsVariableToken(value) ? singleCssVariableRegex.test(value.split("/*")[0].trim()) : !1, singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
|
|
7002
6942
|
function buildHTMLStyles(state, latestValues, transformTemplate) {
|
|
7003
|
-
const { style: style2, vars,
|
|
7004
|
-
let hasTransform = !1, hasTransformOrigin = !1
|
|
6943
|
+
const { style: style2, vars, transformOrigin } = state;
|
|
6944
|
+
let hasTransform = !1, hasTransformOrigin = !1;
|
|
7005
6945
|
for (const key in latestValues) {
|
|
7006
6946
|
const value = latestValues[key];
|
|
7007
|
-
if (
|
|
6947
|
+
if (transformProps.has(key)) {
|
|
6948
|
+
hasTransform = !0;
|
|
6949
|
+
continue;
|
|
6950
|
+
} else if (isCSSVariableName(key)) {
|
|
7008
6951
|
vars[key] = value;
|
|
7009
6952
|
continue;
|
|
6953
|
+
} else {
|
|
6954
|
+
const valueAsType = getValueAsType(value, numberValueTypes[key]);
|
|
6955
|
+
key.startsWith("origin") ? (hasTransformOrigin = !0, transformOrigin[key] = valueAsType) : style2[key] = valueAsType;
|
|
7010
6956
|
}
|
|
7011
|
-
const valueType = numberValueTypes[key], valueAsType = getValueAsType(value, valueType);
|
|
7012
|
-
if (transformProps.has(key)) {
|
|
7013
|
-
if (hasTransform = !0, transform2[key] = valueAsType, !transformIsNone)
|
|
7014
|
-
continue;
|
|
7015
|
-
value !== (valueType.default || 0) && (transformIsNone = !1);
|
|
7016
|
-
} else key.startsWith("origin") ? (hasTransformOrigin = !0, transformOrigin[key] = valueAsType) : style2[key] = valueAsType;
|
|
7017
6957
|
}
|
|
7018
|
-
if (latestValues.transform || (hasTransform || transformTemplate ? style2.transform = buildTransform(state.transform,
|
|
6958
|
+
if (latestValues.transform || (hasTransform || transformTemplate ? style2.transform = buildTransform(latestValues, state.transform, transformTemplate) : style2.transform && (style2.transform = "none")), hasTransformOrigin) {
|
|
7019
6959
|
const { originX = "50%", originY = "50%", originZ = 0 } = transformOrigin;
|
|
7020
6960
|
style2.transformOrigin = `${originX} ${originY} ${originZ}`;
|
|
7021
6961
|
}
|
|
@@ -7044,7 +6984,7 @@ function useHTMLProps(props, visualState) {
|
|
|
7044
6984
|
const htmlProps = {}, style2 = useStyle(props, visualState);
|
|
7045
6985
|
return props.drag && props.dragListener !== !1 && (htmlProps.draggable = !1, style2.userSelect = style2.WebkitUserSelect = style2.WebkitTouchCallout = "none", style2.touchAction = props.drag === !0 ? "none" : `pan-${props.drag === "x" ? "y" : "x"}`), props.tabIndex === void 0 && (props.onTap || props.onTapStart || props.whileTap) && (htmlProps.tabIndex = 0), htmlProps.style = style2, htmlProps;
|
|
7046
6986
|
}
|
|
7047
|
-
const
|
|
6987
|
+
const validMotionProps = /* @__PURE__ */ new Set([
|
|
7048
6988
|
"animate",
|
|
7049
6989
|
"exit",
|
|
7050
6990
|
"variants",
|
|
@@ -7080,13 +7020,6 @@ function isValidMotionProp(key) {
|
|
|
7080
7020
|
return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
|
|
7081
7021
|
}
|
|
7082
7022
|
let shouldForward = (key) => !isValidMotionProp(key);
|
|
7083
|
-
function loadExternalIsValidProp(isValidProp) {
|
|
7084
|
-
isValidProp && (shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key));
|
|
7085
|
-
}
|
|
7086
|
-
try {
|
|
7087
|
-
loadExternalIsValidProp(require$$0.default);
|
|
7088
|
-
} catch {
|
|
7089
|
-
}
|
|
7090
7023
|
function filterProps$1(props, isDom, forwardMotionProps) {
|
|
7091
7024
|
const filteredProps = {};
|
|
7092
7025
|
for (const key in props)
|
|
@@ -7776,11 +7709,11 @@ class KeyframeResolver {
|
|
|
7776
7709
|
const isColorString = (type, testProp) => (v2) => !!(isString(v2) && singleColorRegex.test(v2) && v2.startsWith(type) || testProp && !isNullish(v2) && Object.prototype.hasOwnProperty.call(v2, testProp)), splitColor = (aName, bName, cName) => (v2) => {
|
|
7777
7710
|
if (!isString(v2))
|
|
7778
7711
|
return v2;
|
|
7779
|
-
const [a2, b,
|
|
7712
|
+
const [a2, b, c, alpha2] = v2.match(floatRegex);
|
|
7780
7713
|
return {
|
|
7781
7714
|
[aName]: parseFloat(a2),
|
|
7782
7715
|
[bName]: parseFloat(b),
|
|
7783
|
-
[cName]: parseFloat(
|
|
7716
|
+
[cName]: parseFloat(c),
|
|
7784
7717
|
alpha: alpha2 !== void 0 ? parseFloat(alpha2) : 1
|
|
7785
7718
|
};
|
|
7786
7719
|
}, clampRgbUnit = (v2) => clamp$3(0, 255, v2), rgbUnit = {
|
|
@@ -8052,11 +7985,11 @@ const safeMin = 1e-3, minDuration = 0.01, maxDuration$1 = 10, minDamping = 0.05,
|
|
|
8052
7985
|
function findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1 }) {
|
|
8053
7986
|
let envelope, derivative, dampingRatio = 1 - bounce;
|
|
8054
7987
|
dampingRatio = clamp$3(minDamping, maxDamping, dampingRatio), duration = clamp$3(minDuration, maxDuration$1, millisecondsToSeconds(duration)), dampingRatio < 1 ? (envelope = (undampedFreq2) => {
|
|
8055
|
-
const exponentialDecay = undampedFreq2 * dampingRatio, delta = exponentialDecay * duration, a2 = exponentialDecay - velocity, b = calcAngularFreq(undampedFreq2, dampingRatio),
|
|
8056
|
-
return safeMin - a2 / b *
|
|
7988
|
+
const exponentialDecay = undampedFreq2 * dampingRatio, delta = exponentialDecay * duration, a2 = exponentialDecay - velocity, b = calcAngularFreq(undampedFreq2, dampingRatio), c = Math.exp(-delta);
|
|
7989
|
+
return safeMin - a2 / b * c;
|
|
8057
7990
|
}, derivative = (undampedFreq2) => {
|
|
8058
|
-
const delta = undampedFreq2 * dampingRatio * duration, d2 = delta * velocity + velocity, e2 = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq2, 2) * duration,
|
|
8059
|
-
return (-envelope(undampedFreq2) + safeMin > 0 ? -1 : 1) * ((d2 - e2) *
|
|
7991
|
+
const delta = undampedFreq2 * dampingRatio * duration, d2 = delta * velocity + velocity, e2 = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq2, 2) * duration, f = Math.exp(-delta), g = calcAngularFreq(Math.pow(undampedFreq2, 2), dampingRatio);
|
|
7992
|
+
return (-envelope(undampedFreq2) + safeMin > 0 ? -1 : 1) * ((d2 - e2) * f) / g;
|
|
8060
7993
|
}) : (envelope = (undampedFreq2) => {
|
|
8061
7994
|
const a2 = Math.exp(-undampedFreq2 * duration), b = (undampedFreq2 - velocity) * duration + 1;
|
|
8062
7995
|
return -safeMin + a2 * b;
|
|
@@ -8211,11 +8144,10 @@ const easeIn = cubicBezier(0.42, 0, 1, 1), easeOut = cubicBezier(0, 0, 0.58, 1),
|
|
|
8211
8144
|
anticipate
|
|
8212
8145
|
}, easingDefinitionToFunction = (definition) => {
|
|
8213
8146
|
if (Array.isArray(definition)) {
|
|
8214
|
-
invariant(definition.length === 4);
|
|
8215
8147
|
const [x1, y1, x2, y2] = definition;
|
|
8216
8148
|
return cubicBezier(x1, y1, x2, y2);
|
|
8217
8149
|
} else if (typeof definition == "string")
|
|
8218
|
-
return
|
|
8150
|
+
return easingLookup[definition];
|
|
8219
8151
|
return definition;
|
|
8220
8152
|
}, progress = (from, to, value) => {
|
|
8221
8153
|
const toFromDifference = to - from;
|
|
@@ -8318,7 +8250,7 @@ function createMixers(output, ease2, customMixer) {
|
|
|
8318
8250
|
}
|
|
8319
8251
|
function interpolate(input, output, { clamp: isClamp = !0, ease: ease2, mixer } = {}) {
|
|
8320
8252
|
const inputLength = input.length;
|
|
8321
|
-
if (
|
|
8253
|
+
if (inputLength === 1)
|
|
8322
8254
|
return () => output[0];
|
|
8323
8255
|
if (inputLength === 2 && input[0] === input[1])
|
|
8324
8256
|
return () => output[1];
|
|
@@ -8518,7 +8450,7 @@ const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0]
|
|
|
8518
8450
|
function isWaapiSupportedEasing(easing) {
|
|
8519
8451
|
return !!(!easing || typeof easing == "string" && easing in supportedWaapiEasing || isBezierDefinition(easing) || Array.isArray(easing) && easing.every(isWaapiSupportedEasing));
|
|
8520
8452
|
}
|
|
8521
|
-
const cubicBezierAsString = ([a2, b,
|
|
8453
|
+
const cubicBezierAsString = ([a2, b, c, d2]) => `cubic-bezier(${a2}, ${b}, ${c}, ${d2})`, supportedWaapiEasing = {
|
|
8522
8454
|
linear: "linear",
|
|
8523
8455
|
ease: "ease",
|
|
8524
8456
|
easeIn: "ease-in",
|
|
@@ -8678,6 +8610,7 @@ class AcceleratedAnimation extends BaseAnimation {
|
|
|
8678
8610
|
stop() {
|
|
8679
8611
|
if (this.resolver.cancel(), this.isStopped = !0, this.state === "idle")
|
|
8680
8612
|
return;
|
|
8613
|
+
this.resolveFinishedPromise(), this.updateFinishedPromise();
|
|
8681
8614
|
const { resolved } = this;
|
|
8682
8615
|
if (!resolved)
|
|
8683
8616
|
return;
|
|
@@ -8833,15 +8766,15 @@ class SubscriptionManager {
|
|
|
8833
8766
|
add(handler) {
|
|
8834
8767
|
return addUniqueItem(this.subscriptions, handler), () => removeItem(this.subscriptions, handler);
|
|
8835
8768
|
}
|
|
8836
|
-
notify(a2, b,
|
|
8769
|
+
notify(a2, b, c) {
|
|
8837
8770
|
const numSubscriptions = this.subscriptions.length;
|
|
8838
8771
|
if (numSubscriptions)
|
|
8839
8772
|
if (numSubscriptions === 1)
|
|
8840
|
-
this.subscriptions[0](a2, b,
|
|
8773
|
+
this.subscriptions[0](a2, b, c);
|
|
8841
8774
|
else
|
|
8842
8775
|
for (let i2 = 0; i2 < numSubscriptions; i2++) {
|
|
8843
8776
|
const handler = this.subscriptions[i2];
|
|
8844
|
-
handler && handler(a2, b,
|
|
8777
|
+
handler && handler(a2, b, c);
|
|
8845
8778
|
}
|
|
8846
8779
|
}
|
|
8847
8780
|
getSize() {
|
|
@@ -8862,7 +8795,7 @@ class MotionValue {
|
|
|
8862
8795
|
* @internal
|
|
8863
8796
|
*/
|
|
8864
8797
|
constructor(init2, options = {}) {
|
|
8865
|
-
this.version = "11.3.
|
|
8798
|
+
this.version = "11.3.21", this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (v2, render = !0) => {
|
|
8866
8799
|
const currentTime = time.now();
|
|
8867
8800
|
this.updatedAt !== currentTime && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(v2), this.current !== this.prev && this.events.change && this.events.change.notify(this.current), render && this.events.renderRequest && this.events.renderRequest.notify(this.current);
|
|
8868
8801
|
}, this.hasAnimated = !1, this.setCurrent(init2), this.owner = options.owner;
|
|
@@ -9174,9 +9107,7 @@ function animateVisualElement(visualElement, definition, options = {}) {
|
|
|
9174
9107
|
animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));
|
|
9175
9108
|
}
|
|
9176
9109
|
return animation.then(() => {
|
|
9177
|
-
|
|
9178
|
-
visualElement.notify("AnimationComplete", definition);
|
|
9179
|
-
});
|
|
9110
|
+
visualElement.notify("AnimationComplete", definition);
|
|
9180
9111
|
});
|
|
9181
9112
|
}
|
|
9182
9113
|
const reversePriorityOrder = [...variantPriorityOrder].reverse(), numAnimationTypes = variantPriorityOrder.length;
|
|
@@ -9689,18 +9620,6 @@ class SVGVisualElement extends DOMVisualElement {
|
|
|
9689
9620
|
const createDomVisualElement = (Component, options) => isSVGComponent(Component) ? new SVGVisualElement(options) : new HTMLVisualElement(options, {
|
|
9690
9621
|
allowProjection: Component !== Fragment$1
|
|
9691
9622
|
}), m = createMotionProxy(createDomMotionConfig);
|
|
9692
|
-
function useIsMounted() {
|
|
9693
|
-
const isMounted = useRef(!1);
|
|
9694
|
-
return useIsomorphicLayoutEffect$2(() => (isMounted.current = !0, () => {
|
|
9695
|
-
isMounted.current = !1;
|
|
9696
|
-
}), []), isMounted;
|
|
9697
|
-
}
|
|
9698
|
-
function useForceUpdate() {
|
|
9699
|
-
const isMounted = useIsMounted(), [forcedRenderCount, setForcedRenderCount] = useState(0), forceRender = useCallback(() => {
|
|
9700
|
-
isMounted.current && setForcedRenderCount(forcedRenderCount + 1);
|
|
9701
|
-
}, [forcedRenderCount]);
|
|
9702
|
-
return [useCallback(() => frame.postRender(forceRender), [forceRender]), forcedRenderCount];
|
|
9703
|
-
}
|
|
9704
9623
|
class PopChildMeasure extends React.Component {
|
|
9705
9624
|
getSnapshotBeforeUpdate(prevProps) {
|
|
9706
9625
|
const element = this.props.childRef.current;
|
|
@@ -9777,66 +9696,46 @@ const PresenceChild = ({ children: children2, initial, isPresent, onExitComplete
|
|
|
9777
9696
|
function newChildrenMap() {
|
|
9778
9697
|
return /* @__PURE__ */ new Map();
|
|
9779
9698
|
}
|
|
9780
|
-
function useUnmountEffect$1(callback) {
|
|
9781
|
-
return useEffect(() => () => callback(), []);
|
|
9782
|
-
}
|
|
9783
9699
|
const getChildKey = (child) => child.key || "";
|
|
9784
|
-
function updateChildLookup(children2, allChildren) {
|
|
9785
|
-
children2.forEach((child) => {
|
|
9786
|
-
const key = getChildKey(child);
|
|
9787
|
-
allChildren.set(key, child);
|
|
9788
|
-
});
|
|
9789
|
-
}
|
|
9790
9700
|
function onlyElements(children2) {
|
|
9791
9701
|
const filtered = [];
|
|
9792
9702
|
return Children.forEach(children2, (child) => {
|
|
9793
9703
|
isValidElement(child) && filtered.push(child);
|
|
9794
9704
|
}), filtered;
|
|
9795
9705
|
}
|
|
9796
|
-
const AnimatePresence = ({ children: children2, custom: custom5, initial = !0, onExitComplete,
|
|
9797
|
-
const
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
|
|
9802
|
-
|
|
9803
|
-
|
|
9804
|
-
}
|
|
9805
|
-
|
|
9806
|
-
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
|
|
9819
|
-
|
|
9820
|
-
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
);
|
|
9830
|
-
}), !exitingChildren.size) {
|
|
9831
|
-
if (isMounted.current === !1)
|
|
9832
|
-
return;
|
|
9833
|
-
forceRender(), onExitComplete && onExitComplete();
|
|
9834
|
-
}
|
|
9835
|
-
}, custom: custom5, presenceAffectsLayout, mode, children: child }, getChildKey(child)), exitingChildren.set(key, exitingComponent)), childrenToRender.splice(insertionIndex, 0, exitingComponent);
|
|
9836
|
-
}), childrenToRender = childrenToRender.map((child) => {
|
|
9837
|
-
const key = child.key;
|
|
9838
|
-
return exitingChildren.has(key) ? child : jsx(PresenceChild, { isPresent: !0, presenceAffectsLayout, mode, children: child }, getChildKey(child));
|
|
9839
|
-
}), jsx(Fragment, { children: exitingChildren.size ? childrenToRender : childrenToRender.map((child) => cloneElement(child)) });
|
|
9706
|
+
const AnimatePresence = ({ children: children2, exitBeforeEnter, custom: custom5, initial = !0, onExitComplete, presenceAffectsLayout = !0, mode = "sync" }) => {
|
|
9707
|
+
const presentChildren = useMemo(() => onlyElements(children2), [children2]), presentKeys = presentChildren.map(getChildKey), isInitialRender = useRef(!0), pendingPresentChildren = useRef(presentChildren), exitComplete = useConstant(() => /* @__PURE__ */ new Map()), [diffedChildren, setDiffedChildren] = useState(presentChildren), [renderedChildren, setRenderedChildren] = useState(presentChildren);
|
|
9708
|
+
useIsomorphicLayoutEffect$1(() => {
|
|
9709
|
+
isInitialRender.current = !1, pendingPresentChildren.current = presentChildren;
|
|
9710
|
+
for (let i2 = 0; i2 < renderedChildren.length; i2++) {
|
|
9711
|
+
const key = getChildKey(renderedChildren[i2]);
|
|
9712
|
+
presentKeys.includes(key) ? exitComplete.delete(key) : exitComplete.get(key) !== !0 && exitComplete.set(key, !1);
|
|
9713
|
+
}
|
|
9714
|
+
}, [renderedChildren, presentKeys.length, presentKeys.join("-")]);
|
|
9715
|
+
const exitingChildren = [];
|
|
9716
|
+
if (presentChildren !== diffedChildren) {
|
|
9717
|
+
let nextChildren = [...presentChildren];
|
|
9718
|
+
for (let i2 = 0; i2 < renderedChildren.length; i2++) {
|
|
9719
|
+
const child = renderedChildren[i2], key = getChildKey(child);
|
|
9720
|
+
presentKeys.includes(key) || (nextChildren.splice(i2, 0, child), exitingChildren.push(child));
|
|
9721
|
+
}
|
|
9722
|
+
mode === "wait" && exitingChildren.length && (nextChildren = exitingChildren), setRenderedChildren(onlyElements(nextChildren)), setDiffedChildren(presentChildren);
|
|
9723
|
+
return;
|
|
9724
|
+
}
|
|
9725
|
+
const { forceRender } = useContext(LayoutGroupContext);
|
|
9726
|
+
return jsx(Fragment, { children: renderedChildren.map((child) => {
|
|
9727
|
+
const key = getChildKey(child), isPresent = presentChildren === renderedChildren || presentKeys.includes(key), onExit = () => {
|
|
9728
|
+
if (exitComplete.has(key))
|
|
9729
|
+
exitComplete.set(key, !0);
|
|
9730
|
+
else
|
|
9731
|
+
return;
|
|
9732
|
+
let isEveryExitComplete = !0;
|
|
9733
|
+
exitComplete.forEach((isExitComplete) => {
|
|
9734
|
+
isExitComplete || (isEveryExitComplete = !1);
|
|
9735
|
+
}), isEveryExitComplete && (forceRender?.(), setRenderedChildren(pendingPresentChildren.current), onExitComplete && onExitComplete());
|
|
9736
|
+
};
|
|
9737
|
+
return jsx(PresenceChild, { isPresent, initial: !isInitialRender.current || initial ? void 0 : !1, custom: isPresent ? void 0 : custom5, presenceAffectsLayout, mode, onExitComplete: isPresent ? void 0 : onExit, children: child }, key);
|
|
9738
|
+
}) });
|
|
9840
9739
|
};
|
|
9841
9740
|
function LazyMotion({ children: children2, features, strict = !1 }) {
|
|
9842
9741
|
const [, setIsLoaded] = useState(!isLazyBundle(features)), loadedRenderer = useRef(void 0);
|
|
@@ -9905,14 +9804,14 @@ function useCallbackRef$1(initialValue, callback) {
|
|
|
9905
9804
|
})[0];
|
|
9906
9805
|
return ref.callback = callback, ref.facade;
|
|
9907
9806
|
}
|
|
9908
|
-
var useIsomorphicLayoutEffect
|
|
9807
|
+
var useIsomorphicLayoutEffect = typeof window < "u" ? React.useLayoutEffect : React.useEffect, currentValues = /* @__PURE__ */ new WeakMap();
|
|
9909
9808
|
function useMergeRefs(refs, defaultValue) {
|
|
9910
9809
|
var callbackRef = useCallbackRef$1(null, function(newValue) {
|
|
9911
9810
|
return refs.forEach(function(ref) {
|
|
9912
9811
|
return assignRef$1(ref, newValue);
|
|
9913
9812
|
});
|
|
9914
9813
|
});
|
|
9915
|
-
return useIsomorphicLayoutEffect
|
|
9814
|
+
return useIsomorphicLayoutEffect(function() {
|
|
9916
9815
|
var oldValue = currentValues.get(callbackRef);
|
|
9917
9816
|
if (oldValue) {
|
|
9918
9817
|
var prevRefs_1 = new Set(oldValue), nextRefs_1 = new Set(refs), current_1 = callbackRef.current;
|
|
@@ -10920,34 +10819,6 @@ function useMounted() {
|
|
|
10920
10819
|
const [mounted, setMounted] = useState(!1);
|
|
10921
10820
|
return useEffect(() => setMounted(!0), []), mounted;
|
|
10922
10821
|
}
|
|
10923
|
-
function useStateHistory(initialValue) {
|
|
10924
|
-
const [state, setState] = useState({
|
|
10925
|
-
history: [initialValue],
|
|
10926
|
-
current: 0
|
|
10927
|
-
}), set2 = useCallback(
|
|
10928
|
-
(val) => setState((currentState) => {
|
|
10929
|
-
const nextState = [...currentState.history.slice(0, currentState.current + 1), val];
|
|
10930
|
-
return {
|
|
10931
|
-
history: nextState,
|
|
10932
|
-
current: nextState.length - 1
|
|
10933
|
-
};
|
|
10934
|
-
}),
|
|
10935
|
-
[]
|
|
10936
|
-
), back = useCallback(
|
|
10937
|
-
(steps2 = 1) => setState((currentState) => ({
|
|
10938
|
-
history: currentState.history,
|
|
10939
|
-
current: Math.max(0, currentState.current - steps2)
|
|
10940
|
-
})),
|
|
10941
|
-
[]
|
|
10942
|
-
), forward = useCallback(
|
|
10943
|
-
(steps2 = 1) => setState((currentState) => ({
|
|
10944
|
-
history: currentState.history,
|
|
10945
|
-
current: Math.min(currentState.history.length - 1, currentState.current + steps2)
|
|
10946
|
-
})),
|
|
10947
|
-
[]
|
|
10948
|
-
), handlers = useMemo(() => ({ set: set2, forward, back }), []);
|
|
10949
|
-
return [state.history[state.current], handlers, state];
|
|
10950
|
-
}
|
|
10951
10822
|
function getEnv() {
|
|
10952
10823
|
return typeof process < "u" && process.env ? "production" : "development";
|
|
10953
10824
|
}
|
|
@@ -11063,14 +10934,14 @@ function toRgba(color2) {
|
|
|
11063
10934
|
function darken(color2, alpha2) {
|
|
11064
10935
|
if (color2.startsWith("var("))
|
|
11065
10936
|
return `color-mix(in srgb, ${color2}, black ${alpha2 * 100}%)`;
|
|
11066
|
-
const { r: r2, g, b, a: a2 } = toRgba(color2),
|
|
10937
|
+
const { r: r2, g, b, a: a2 } = toRgba(color2), f = 1 - alpha2, dark = (input) => Math.round(input * f);
|
|
11067
10938
|
return `rgba(${dark(r2)}, ${dark(g)}, ${dark(b)}, ${a2})`;
|
|
11068
10939
|
}
|
|
11069
10940
|
function getPrimaryShade(theme2, colorScheme) {
|
|
11070
10941
|
return typeof theme2.primaryShade == "number" ? theme2.primaryShade : colorScheme === "dark" ? theme2.primaryShade.dark : theme2.primaryShade.light;
|
|
11071
10942
|
}
|
|
11072
|
-
function gammaCorrect(
|
|
11073
|
-
return
|
|
10943
|
+
function gammaCorrect(c) {
|
|
10944
|
+
return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
|
|
11074
10945
|
}
|
|
11075
10946
|
function getLightnessFromOklch(oklchColor) {
|
|
11076
10947
|
const match = oklchColor.match(/oklch\((.*?)%\s/);
|
|
@@ -12313,7 +12184,7 @@ function extractStyleProps(others) {
|
|
|
12313
12184
|
ps,
|
|
12314
12185
|
bd,
|
|
12315
12186
|
bg,
|
|
12316
|
-
c
|
|
12187
|
+
c,
|
|
12317
12188
|
opacity,
|
|
12318
12189
|
ff,
|
|
12319
12190
|
fz,
|
|
@@ -12370,7 +12241,7 @@ function extractStyleProps(others) {
|
|
|
12370
12241
|
ps,
|
|
12371
12242
|
bd,
|
|
12372
12243
|
bg,
|
|
12373
|
-
c
|
|
12244
|
+
c,
|
|
12374
12245
|
opacity,
|
|
12375
12246
|
ff,
|
|
12376
12247
|
fz,
|
|
@@ -16044,7 +15915,7 @@ function useFloatingAutoUpdate({
|
|
|
16044
15915
|
]), useDidUpdate(() => {
|
|
16045
15916
|
floating.update();
|
|
16046
15917
|
}, positionDependencies), useDidUpdate(() => {
|
|
16047
|
-
setDelayedUpdate((
|
|
15918
|
+
setDelayedUpdate((c) => c + 1);
|
|
16048
15919
|
}, [opened]);
|
|
16049
15920
|
}
|
|
16050
15921
|
function getDefaultMiddlewares(middlewares) {
|
|
@@ -18233,7 +18104,7 @@ function Combobox(_props) {
|
|
|
18233
18104
|
}
|
|
18234
18105
|
);
|
|
18235
18106
|
}
|
|
18236
|
-
const extendCombobox = (
|
|
18107
|
+
const extendCombobox = (c) => c;
|
|
18237
18108
|
Combobox.extend = extendCombobox;
|
|
18238
18109
|
Combobox.classes = __default__$a;
|
|
18239
18110
|
Combobox.displayName = "@mantine/core/Combobox";
|
|
@@ -19765,7 +19636,7 @@ const defaultProps$3 = {
|
|
|
19765
19636
|
max: 100,
|
|
19766
19637
|
step: 1,
|
|
19767
19638
|
marks: [],
|
|
19768
|
-
label: (
|
|
19639
|
+
label: (f) => f,
|
|
19769
19640
|
labelTransitionProps: { transition: "fade", duration: 0 },
|
|
19770
19641
|
labelAlwaysOn: !1,
|
|
19771
19642
|
thumbLabel: "",
|
|
@@ -20138,7 +20009,7 @@ function useFirstMountState() {
|
|
|
20138
20009
|
isFirstMount.current = !1;
|
|
20139
20010
|
}, []), isFirstMount.current;
|
|
20140
20011
|
}
|
|
20141
|
-
const
|
|
20012
|
+
const cancelTimeout = (id2) => {
|
|
20142
20013
|
id2 && clearTimeout(id2);
|
|
20143
20014
|
};
|
|
20144
20015
|
function useTimeoutEffect(callback, ms) {
|
|
@@ -20152,13 +20023,22 @@ function useTimeoutEffect(callback, ms) {
|
|
|
20152
20023
|
return useEffect(() => (reset(), cancel), [ms]), [cancel, reset];
|
|
20153
20024
|
}
|
|
20154
20025
|
const noop = () => {
|
|
20026
|
+
}, depsShallowEqual = (d1, d2) => {
|
|
20027
|
+
if (d1 === d2)
|
|
20028
|
+
return !0;
|
|
20029
|
+
if (d1.length !== d2.length)
|
|
20030
|
+
return !1;
|
|
20031
|
+
for (const [i2, element] of d1.entries())
|
|
20032
|
+
if (!shallowEqual(element, d2[i2]))
|
|
20033
|
+
return !1;
|
|
20034
|
+
return !0;
|
|
20155
20035
|
};
|
|
20156
20036
|
function useUpdateEffect(callback, deps, equalityFn, effectHook) {
|
|
20157
20037
|
const isFirstMount = useFirstMountState();
|
|
20158
20038
|
useCustomCompareEffect(
|
|
20159
20039
|
isFirstMount ? noop : callback,
|
|
20160
20040
|
deps,
|
|
20161
|
-
|
|
20041
|
+
depsShallowEqual,
|
|
20162
20042
|
effectHook
|
|
20163
20043
|
);
|
|
20164
20044
|
}
|
|
@@ -20171,7 +20051,7 @@ function useXYStore(selector2, equalityFn) {
|
|
|
20171
20051
|
);
|
|
20172
20052
|
}
|
|
20173
20053
|
const useXYStoreApi = useStoreApi, DEV = !1;
|
|
20174
|
-
var define_import_meta_env_default = {
|
|
20054
|
+
var define_import_meta_env_default = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
|
|
20175
20055
|
const trackedConnections = /* @__PURE__ */ new Map(), getTrackedConnectionState = (name) => {
|
|
20176
20056
|
const api = trackedConnections.get(name);
|
|
20177
20057
|
return api ? Object.fromEntries(
|
|
@@ -20316,7 +20196,7 @@ const trackedConnections = /* @__PURE__ */ new Map(), getTrackedConnectionState
|
|
|
20316
20196
|
return;
|
|
20317
20197
|
}
|
|
20318
20198
|
}), initialState;
|
|
20319
|
-
}, devtools = devtoolsImpl, parseJsonThen = (stringified,
|
|
20199
|
+
}, devtools = devtoolsImpl, parseJsonThen = (stringified, f) => {
|
|
20320
20200
|
let parsed;
|
|
20321
20201
|
try {
|
|
20322
20202
|
parsed = JSON.parse(stringified);
|
|
@@ -20326,7 +20206,7 @@ const trackedConnections = /* @__PURE__ */ new Map(), getTrackedConnectionState
|
|
|
20326
20206
|
e2
|
|
20327
20207
|
);
|
|
20328
20208
|
}
|
|
20329
|
-
parsed !== void 0 &&
|
|
20209
|
+
parsed !== void 0 && f(parsed);
|
|
20330
20210
|
}, subscribeWithSelectorImpl = (fn) => (set2, get2, api) => {
|
|
20331
20211
|
const origSubscribe = api.subscribe;
|
|
20332
20212
|
return api.subscribe = (selector2, optListener, options) => {
|
|
@@ -20431,14 +20311,14 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20431
20311
|
return _3d && (ret.z = mt * p2[0].z + t2 * p2[1].z), ret;
|
|
20432
20312
|
}
|
|
20433
20313
|
if (order < 4) {
|
|
20434
|
-
let mt2 = mt * mt, t22 = t2 * t2, a2, b,
|
|
20435
|
-
order === 2 ? (p2 = [p2[0], p2[1], p2[2], ZERO], a2 = mt2, b = mt * t2 * 2,
|
|
20314
|
+
let mt2 = mt * mt, t22 = t2 * t2, a2, b, c, d2 = 0;
|
|
20315
|
+
order === 2 ? (p2 = [p2[0], p2[1], p2[2], ZERO], a2 = mt2, b = mt * t2 * 2, c = t22) : order === 3 && (a2 = mt2 * mt, b = mt2 * t2 * 3, c = mt * t22 * 3, d2 = t2 * t22);
|
|
20436
20316
|
const ret = {
|
|
20437
|
-
x: a2 * p2[0].x + b * p2[1].x +
|
|
20438
|
-
y: a2 * p2[0].y + b * p2[1].y +
|
|
20317
|
+
x: a2 * p2[0].x + b * p2[1].x + c * p2[2].x + d2 * p2[3].x,
|
|
20318
|
+
y: a2 * p2[0].y + b * p2[1].y + c * p2[2].y + d2 * p2[3].y,
|
|
20439
20319
|
t: t2
|
|
20440
20320
|
};
|
|
20441
|
-
return _3d && (ret.z = a2 * p2[0].z + b * p2[1].z +
|
|
20321
|
+
return _3d && (ret.z = a2 * p2[0].z + b * p2[1].z + c * p2[2].z + d2 * p2[3].z), ret;
|
|
20442
20322
|
}
|
|
20443
20323
|
const dCpts = JSON.parse(JSON.stringify(points));
|
|
20444
20324
|
for (; dCpts.length > 1; ) {
|
|
@@ -20478,13 +20358,13 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20478
20358
|
},
|
|
20479
20359
|
derive: function(points, _3d) {
|
|
20480
20360
|
const dpoints = [];
|
|
20481
|
-
for (let p2 = points, d2 = p2.length,
|
|
20361
|
+
for (let p2 = points, d2 = p2.length, c = d2 - 1; d2 > 1; d2--, c--) {
|
|
20482
20362
|
const list = [];
|
|
20483
|
-
for (let j = 0, dpt; j <
|
|
20363
|
+
for (let j = 0, dpt; j < c; j++)
|
|
20484
20364
|
dpt = {
|
|
20485
|
-
x:
|
|
20486
|
-
y:
|
|
20487
|
-
}, _3d && (dpt.z =
|
|
20365
|
+
x: c * (p2[j + 1].x - p2[j].x),
|
|
20366
|
+
y: c * (p2[j + 1].y - p2[j].y)
|
|
20367
|
+
}, _3d && (dpt.z = c * (p2[j + 1].z - p2[j].z)), list.push(dpt);
|
|
20488
20368
|
dpoints.push(list), p2 = list;
|
|
20489
20369
|
}
|
|
20490
20370
|
return dpoints;
|
|
@@ -20624,10 +20504,10 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20624
20504
|
},
|
|
20625
20505
|
getminmax: function(curve2, d2, list) {
|
|
20626
20506
|
if (!list) return { min: 0, max: 0 };
|
|
20627
|
-
let min2 = nMax, max2 = nMin, t2,
|
|
20507
|
+
let min2 = nMax, max2 = nMin, t2, c;
|
|
20628
20508
|
list.indexOf(0) === -1 && (list = [0].concat(list)), list.indexOf(1) === -1 && list.push(1);
|
|
20629
20509
|
for (let i2 = 0, len = list.length; i2 < len; i2++)
|
|
20630
|
-
t2 = list[i2],
|
|
20510
|
+
t2 = list[i2], c = curve2.get(t2), c[d2] < min2 && (min2 = c[d2]), c[d2] > max2 && (max2 = c[d2]);
|
|
20631
20511
|
return { min: min2, mid: (min2 + max2) / 2, max: max2, size: max2 - min2 };
|
|
20632
20512
|
},
|
|
20633
20513
|
align: function(points, line) {
|
|
@@ -20645,24 +20525,24 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20645
20525
|
return 0 <= t2 && t2 <= 1;
|
|
20646
20526
|
};
|
|
20647
20527
|
if (order === 2) {
|
|
20648
|
-
const a3 = aligned[0].y, b2 = aligned[1].y,
|
|
20528
|
+
const a3 = aligned[0].y, b2 = aligned[1].y, c2 = aligned[2].y, d3 = a3 - 2 * b2 + c2;
|
|
20649
20529
|
if (d3 !== 0) {
|
|
20650
|
-
const m1 = -sqrt$1(b2 * b2 - a3 *
|
|
20530
|
+
const m1 = -sqrt$1(b2 * b2 - a3 * c2), m2 = -a3 + b2, v12 = -(m1 + m2) / d3, v2 = -(-m1 + m2) / d3;
|
|
20651
20531
|
return [v12, v2].filter(reduce);
|
|
20652
|
-
} else if (b2 !==
|
|
20653
|
-
return [(2 * b2 -
|
|
20532
|
+
} else if (b2 !== c2 && d3 === 0)
|
|
20533
|
+
return [(2 * b2 - c2) / (2 * b2 - 2 * c2)].filter(reduce);
|
|
20654
20534
|
return [];
|
|
20655
20535
|
}
|
|
20656
20536
|
const pa = aligned[0].y, pb = aligned[1].y, pc = aligned[2].y, pd = aligned[3].y;
|
|
20657
|
-
let d2 = -pa + 3 * pb - 3 * pc + pd, a2 = 3 * pa - 6 * pb + 3 * pc, b = -3 * pa + 3 * pb,
|
|
20537
|
+
let d2 = -pa + 3 * pb - 3 * pc + pd, a2 = 3 * pa - 6 * pb + 3 * pc, b = -3 * pa + 3 * pb, c = pa;
|
|
20658
20538
|
if (utils.approximately(d2, 0)) {
|
|
20659
20539
|
if (utils.approximately(a2, 0))
|
|
20660
|
-
return utils.approximately(b, 0) ? [] : [-
|
|
20661
|
-
const q3 = sqrt$1(b * b - 4 * a2 *
|
|
20540
|
+
return utils.approximately(b, 0) ? [] : [-c / b].filter(reduce);
|
|
20541
|
+
const q3 = sqrt$1(b * b - 4 * a2 * c), a22 = 2 * a2;
|
|
20662
20542
|
return [(q3 - b) / a22, (-b - q3) / a22].filter(reduce);
|
|
20663
20543
|
}
|
|
20664
|
-
a2 /= d2, b /= d2,
|
|
20665
|
-
const p2 = (3 * b - a2 * a2) / 3, p3 = p2 / 3, q2 = (2 * a2 * a2 * a2 - 9 * a2 * b + 27 *
|
|
20544
|
+
a2 /= d2, b /= d2, c /= d2;
|
|
20545
|
+
const p2 = (3 * b - a2 * a2) / 3, p3 = p2 / 3, q2 = (2 * a2 * a2 * a2 - 9 * a2 * b + 27 * c) / 27, q22 = q2 / 2, discriminant = q22 * q22 + p3 * p3 * p3;
|
|
20666
20546
|
let u1, v1, x1, x2, x3;
|
|
20667
20547
|
if (discriminant < 0) {
|
|
20668
20548
|
const mp3 = -p2 / 3, mp33 = mp3 * mp3 * mp3, r2 = sqrt$1(mp33), t2 = -q2 / (2 * r2), cosphi = t2 < -1 ? -1 : t2 > 1 ? 1 : t2, phi = acos$1(cosphi), crtr = crt(r2), t1 = 2 * crtr;
|
|
@@ -20678,12 +20558,12 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20678
20558
|
},
|
|
20679
20559
|
droots: function(p2) {
|
|
20680
20560
|
if (p2.length === 3) {
|
|
20681
|
-
const a2 = p2[0], b = p2[1],
|
|
20561
|
+
const a2 = p2[0], b = p2[1], c = p2[2], d2 = a2 - 2 * b + c;
|
|
20682
20562
|
if (d2 !== 0) {
|
|
20683
|
-
const m1 = -sqrt$1(b * b - a2 *
|
|
20563
|
+
const m1 = -sqrt$1(b * b - a2 * c), m2 = -a2 + b, v1 = -(m1 + m2) / d2, v2 = -(-m1 + m2) / d2;
|
|
20684
20564
|
return [v1, v2];
|
|
20685
|
-
} else if (b !==
|
|
20686
|
-
return [(2 * b -
|
|
20565
|
+
} else if (b !== c && d2 === 0)
|
|
20566
|
+
return [(2 * b - c) / (2 * (b - c))];
|
|
20687
20567
|
return [];
|
|
20688
20568
|
}
|
|
20689
20569
|
if (p2.length === 2) {
|
|
@@ -20707,7 +20587,7 @@ const pi$2 = Math.PI, tau$1 = 2 * pi$2, quart = pi$2 / 2, epsilon$2 = 1e-6, nMax
|
|
|
20707
20587
|
},
|
|
20708
20588
|
inflections: function(points) {
|
|
20709
20589
|
if (points.length < 4) return [];
|
|
20710
|
-
const p2 = utils.align(points, { p1: points[0], p2: points.slice(-1)[0] }), a2 = p2[2].x * p2[1].y, b = p2[3].x * p2[1].y,
|
|
20590
|
+
const p2 = utils.align(points, { p1: points[0], p2: points.slice(-1)[0] }), a2 = p2[2].x * p2[1].y, b = p2[3].x * p2[1].y, c = p2[1].x * p2[2].y, d2 = p2[3].x * p2[2].y, v1 = 18 * (-3 * a2 + 2 * b + 3 * c - d2), v2 = 18 * (3 * a2 - b - 3 * c), v3 = 18 * (c - a2);
|
|
20711
20591
|
if (utils.approximately(v1, 0)) {
|
|
20712
20592
|
if (!utils.approximately(v2, 0)) {
|
|
20713
20593
|
let t2 = -v3 / v2;
|
|
@@ -20792,9 +20672,9 @@ class PolyBezier {
|
|
|
20792
20672
|
return this.curves[idx];
|
|
20793
20673
|
}
|
|
20794
20674
|
bbox() {
|
|
20795
|
-
const
|
|
20796
|
-
for (var bbox =
|
|
20797
|
-
utils.expandbox(bbox,
|
|
20675
|
+
const c = this.curves;
|
|
20676
|
+
for (var bbox = c[0].bbox(), i2 = 1; i2 < c.length; i2++)
|
|
20677
|
+
utils.expandbox(bbox, c[i2].bbox());
|
|
20798
20678
|
return bbox;
|
|
20799
20679
|
}
|
|
20800
20680
|
offset(d2) {
|
|
@@ -20894,8 +20774,8 @@ class Bezier {
|
|
|
20894
20774
|
print !== this._print && (this._print = print, this.update());
|
|
20895
20775
|
}
|
|
20896
20776
|
coordDigest() {
|
|
20897
|
-
return this.points.map(function(
|
|
20898
|
-
return "" + pos +
|
|
20777
|
+
return this.points.map(function(c, pos) {
|
|
20778
|
+
return "" + pos + c.x + c.y + (c.z ? c.z : 0);
|
|
20899
20779
|
}).join("");
|
|
20900
20780
|
}
|
|
20901
20781
|
update() {
|
|
@@ -20934,8 +20814,8 @@ class Bezier {
|
|
|
20934
20814
|
on(point2, error) {
|
|
20935
20815
|
error = error || 5;
|
|
20936
20816
|
const lut = this.getLUT(), hits = [];
|
|
20937
|
-
for (let i2 = 0,
|
|
20938
|
-
|
|
20817
|
+
for (let i2 = 0, c, t2 = 0; i2 < lut.length; i2++)
|
|
20818
|
+
c = lut[i2], utils.dist(c, point2) < error && (hits.push(c), t2 += i2 / lut.length);
|
|
20939
20819
|
return hits.length ? t /= hits.length : !1;
|
|
20940
20820
|
}
|
|
20941
20821
|
project(point2) {
|
|
@@ -20990,22 +20870,22 @@ class Bezier {
|
|
|
20990
20870
|
__normal3(t2) {
|
|
20991
20871
|
const r1 = this.derivative(t2), r2 = this.derivative(t2 + 0.01), q1 = sqrt(r1.x * r1.x + r1.y * r1.y + r1.z * r1.z), q2 = sqrt(r2.x * r2.x + r2.y * r2.y + r2.z * r2.z);
|
|
20992
20872
|
r1.x /= q1, r1.y /= q1, r1.z /= q1, r2.x /= q2, r2.y /= q2, r2.z /= q2;
|
|
20993
|
-
const
|
|
20873
|
+
const c = {
|
|
20994
20874
|
x: r2.y * r1.z - r2.z * r1.y,
|
|
20995
20875
|
y: r2.z * r1.x - r2.x * r1.z,
|
|
20996
20876
|
z: r2.x * r1.y - r2.y * r1.x
|
|
20997
|
-
}, m2 = sqrt(
|
|
20998
|
-
|
|
20877
|
+
}, m2 = sqrt(c.x * c.x + c.y * c.y + c.z * c.z);
|
|
20878
|
+
c.x /= m2, c.y /= m2, c.z /= m2;
|
|
20999
20879
|
const R = [
|
|
21000
|
-
|
|
21001
|
-
|
|
21002
|
-
|
|
21003
|
-
|
|
21004
|
-
|
|
21005
|
-
|
|
21006
|
-
|
|
21007
|
-
|
|
21008
|
-
|
|
20880
|
+
c.x * c.x,
|
|
20881
|
+
c.x * c.y - c.z,
|
|
20882
|
+
c.x * c.z + c.y,
|
|
20883
|
+
c.x * c.y + c.z,
|
|
20884
|
+
c.y * c.y,
|
|
20885
|
+
c.y * c.z - c.x,
|
|
20886
|
+
c.x * c.z - c.y,
|
|
20887
|
+
c.y * c.z + c.x,
|
|
20888
|
+
c.z * c.z
|
|
21009
20889
|
];
|
|
21010
20890
|
return {
|
|
21011
20891
|
t: t2,
|
|
@@ -21066,13 +20946,13 @@ class Bezier {
|
|
|
21066
20946
|
}
|
|
21067
20947
|
offset(t2, d2) {
|
|
21068
20948
|
if (typeof d2 < "u") {
|
|
21069
|
-
const
|
|
21070
|
-
c
|
|
20949
|
+
const c = this.get(t2), n2 = this.normal(t2), ret = {
|
|
20950
|
+
c,
|
|
21071
20951
|
n: n2,
|
|
21072
|
-
x:
|
|
21073
|
-
y:
|
|
20952
|
+
x: c.x + n2.x * d2,
|
|
20953
|
+
y: c.y + n2.y * d2
|
|
21074
20954
|
};
|
|
21075
|
-
return this._3d && (ret.z =
|
|
20955
|
+
return this._3d && (ret.z = c.z + n2.z * d2), ret;
|
|
21076
20956
|
}
|
|
21077
20957
|
if (this._linear) {
|
|
21078
20958
|
const nv = this.normal(0), coords = this.points.map(function(p2) {
|
|
@@ -21286,11 +21166,11 @@ function toDomPrecision(v2) {
|
|
|
21286
21166
|
}
|
|
21287
21167
|
function bezierControlPoints(diagramEdge) {
|
|
21288
21168
|
let [start2, ...bezierPoints] = diagramEdge.points;
|
|
21289
|
-
invariant
|
|
21169
|
+
invariant(start2, "start should be defined");
|
|
21290
21170
|
const handles = [
|
|
21291
21171
|
// start
|
|
21292
21172
|
];
|
|
21293
|
-
for (; i$
|
|
21173
|
+
for (; i$2(bezierPoints, 3); ) {
|
|
21294
21174
|
const [cp1, cp2, end, ...rest] = bezierPoints, bezier = new Bezier(start2[0], start2[1], cp1[0], cp1[1], cp2[0], cp2[1], end[0], end[1]), inflections = bezier.inflections();
|
|
21295
21175
|
inflections.length === 0 && inflections.push(0.5), inflections.forEach((t2) => {
|
|
21296
21176
|
const { x: x2, y: y2 } = bezier.get(t2);
|
|
@@ -21300,18 +21180,86 @@ function bezierControlPoints(diagramEdge) {
|
|
|
21300
21180
|
});
|
|
21301
21181
|
}), bezierPoints = rest, start2 = end;
|
|
21302
21182
|
}
|
|
21303
|
-
return invariant
|
|
21183
|
+
return invariant(bezierPoints.length === 0, "all points should be consumed"), handles;
|
|
21304
21184
|
}
|
|
21305
21185
|
const isClose = (a2, b) => Math.abs(a2 - b) < 3.1;
|
|
21306
21186
|
function isSamePoint$1(a2, b) {
|
|
21307
21187
|
const [ax, ay] = n$2(a2) ? a2 : [a2.x, a2.y], [bx, by] = n$2(b) ? b : [b.x, b.y];
|
|
21308
21188
|
return isClose(ax, bx) && isClose(ay, by);
|
|
21309
21189
|
}
|
|
21190
|
+
function diagramViewToXYFlowData(view, opts) {
|
|
21191
|
+
const isDynamicView = view.__ === "dynamic", xynodes = [], xyedges = [], nodeLookup = /* @__PURE__ */ new Map(), traverse = view.nodes.reduce(
|
|
21192
|
+
(acc, node) => (nodeLookup.set(node.id, node), node.parent || acc.push({ node, parent: null }), acc),
|
|
21193
|
+
new Array()
|
|
21194
|
+
), ns = "", nodeById = (id2) => nonNullable(nodeLookup.get(id2), `Node not found: ${id2}`);
|
|
21195
|
+
let next;
|
|
21196
|
+
for (; next = traverse.shift(); ) {
|
|
21197
|
+
const { node, parent } = next;
|
|
21198
|
+
node.children.length > 0 && traverse.push(...node.children.map((child) => ({ node: nodeById(child), parent: node })));
|
|
21199
|
+
const isCompound = i$2(node.children, 1), position = {
|
|
21200
|
+
x: node.position[0],
|
|
21201
|
+
y: node.position[1]
|
|
21202
|
+
};
|
|
21203
|
+
parent && (position.x -= parent.position[0], position.y -= parent.position[1]);
|
|
21204
|
+
const id2 = ns + node.id, draggable = opts.draggable && (!parent || parent.children.length > 1);
|
|
21205
|
+
xynodes.push({
|
|
21206
|
+
id: id2,
|
|
21207
|
+
type: isCompound ? "compound" : "element",
|
|
21208
|
+
data: {
|
|
21209
|
+
fqn: node.id,
|
|
21210
|
+
element: node
|
|
21211
|
+
},
|
|
21212
|
+
draggable,
|
|
21213
|
+
selectable: opts.selectable,
|
|
21214
|
+
deletable: !1,
|
|
21215
|
+
position,
|
|
21216
|
+
zIndex: isCompound ? ZIndexes.Compound : ZIndexes.Element,
|
|
21217
|
+
hidden: !1,
|
|
21218
|
+
width: node.width,
|
|
21219
|
+
height: node.height,
|
|
21220
|
+
// parentId: parent ? ns + parent.id : null,
|
|
21221
|
+
...parent && {
|
|
21222
|
+
parentId: ns + parent.id
|
|
21223
|
+
},
|
|
21224
|
+
...isCompound && {
|
|
21225
|
+
dragHandle: ".likec4-compound-title"
|
|
21226
|
+
}
|
|
21227
|
+
});
|
|
21228
|
+
}
|
|
21229
|
+
for (const edge of view.edges) {
|
|
21230
|
+
const source = edge.source, target = edge.target, id2 = ns + edge.id;
|
|
21231
|
+
invariant(i$2(edge.points, 2), "edge should have at least 2 points"), xyedges.push({
|
|
21232
|
+
id: id2,
|
|
21233
|
+
type: "relationship",
|
|
21234
|
+
source: ns + source,
|
|
21235
|
+
target: ns + target,
|
|
21236
|
+
zIndex: ZIndexes.Edge,
|
|
21237
|
+
selectable: opts.selectable,
|
|
21238
|
+
deletable: !1,
|
|
21239
|
+
data: {
|
|
21240
|
+
edge,
|
|
21241
|
+
controlPoints: edge.controlPoints || null,
|
|
21242
|
+
stepNum: isDynamicView ? extractStep(edge.id) : null,
|
|
21243
|
+
label: edge.labelBBox ? {
|
|
21244
|
+
bbox: edge.labelBBox,
|
|
21245
|
+
text: edge.label ?? ""
|
|
21246
|
+
} : null
|
|
21247
|
+
},
|
|
21248
|
+
interactionWidth: 20
|
|
21249
|
+
});
|
|
21250
|
+
}
|
|
21251
|
+
return {
|
|
21252
|
+
xynodes,
|
|
21253
|
+
xyedges
|
|
21254
|
+
};
|
|
21255
|
+
}
|
|
21310
21256
|
const StringSet = Set, DEFAULT_PROPS = {
|
|
21257
|
+
xyedges: [],
|
|
21258
|
+
xynodes: [],
|
|
21259
|
+
isDynamicView: !1,
|
|
21311
21260
|
viewSyncDebounceTimeout: null,
|
|
21312
21261
|
initialized: !1,
|
|
21313
|
-
|
|
21314
|
-
previousViews: [],
|
|
21262
|
+
navigationHistoryIndex: 0,
|
|
21315
21263
|
viewportChanged: !1,
|
|
21316
21264
|
activeDynamicViewStep: null,
|
|
21317
21265
|
focusedNodeId: null,
|
|
@@ -21320,44 +21268,63 @@ const StringSet = Set, DEFAULT_PROPS = {
|
|
|
21320
21268
|
lastClickedNodeId: null,
|
|
21321
21269
|
lastClickedEdgeId: null,
|
|
21322
21270
|
dimmed: new StringSet(),
|
|
21323
|
-
lastOnNavigate: null
|
|
21324
|
-
onChange: null,
|
|
21325
|
-
onNavigateTo: null,
|
|
21326
|
-
onNodeClick: null,
|
|
21327
|
-
onNodeContextMenu: null,
|
|
21328
|
-
onCanvasContextMenu: null,
|
|
21329
|
-
onEdgeClick: null,
|
|
21330
|
-
onEdgeContextMenu: null,
|
|
21331
|
-
onCanvasClick: null,
|
|
21332
|
-
onCanvasDblClick: null
|
|
21271
|
+
lastOnNavigate: null
|
|
21333
21272
|
}, noReplace = !1;
|
|
21334
21273
|
let StoreDevId = 1;
|
|
21335
21274
|
const EmptyStringSet = new StringSet();
|
|
21336
21275
|
function createDiagramStore(props) {
|
|
21337
|
-
const storeDevId = "DiagramStore" + String(StoreDevId++).padStart(2, "0")
|
|
21276
|
+
const storeDevId = "DiagramStore" + String(StoreDevId++).padStart(2, "0"), {
|
|
21277
|
+
xynodes,
|
|
21278
|
+
xyedges
|
|
21279
|
+
} = diagramViewToXYFlowData(props.view, {
|
|
21280
|
+
draggable: props.nodesDraggable,
|
|
21281
|
+
selectable: props.nodesSelectable
|
|
21282
|
+
});
|
|
21338
21283
|
return createWithEqualityFn(
|
|
21339
21284
|
subscribeWithSelector(
|
|
21340
21285
|
devtools(
|
|
21341
21286
|
(set2, get2) => ({
|
|
21342
|
-
storeDevId,
|
|
21343
21287
|
...DEFAULT_PROPS,
|
|
21344
21288
|
...props,
|
|
21345
|
-
|
|
21289
|
+
storeDevId,
|
|
21290
|
+
isDynamicView: props.view.__ === "dynamic",
|
|
21291
|
+
xynodes,
|
|
21292
|
+
xyedges,
|
|
21293
|
+
navigationHistory: [{
|
|
21294
|
+
viewId: props.view.id,
|
|
21295
|
+
nodeId: null
|
|
21296
|
+
}],
|
|
21297
|
+
navigationHistoryIndex: 0,
|
|
21298
|
+
onNodesChange: (changes) => {
|
|
21299
|
+
set2({
|
|
21300
|
+
xynodes: applyNodeChanges(changes, get2().xynodes)
|
|
21301
|
+
});
|
|
21302
|
+
},
|
|
21303
|
+
onEdgesChange: (changes) => {
|
|
21304
|
+
set2({
|
|
21305
|
+
xyedges: applyEdgeChanges(changes, get2().xyedges)
|
|
21306
|
+
});
|
|
21307
|
+
},
|
|
21346
21308
|
updateView: (nextView) => {
|
|
21347
21309
|
let {
|
|
21348
21310
|
viewSyncDebounceTimeout,
|
|
21349
21311
|
xyflow,
|
|
21312
|
+
xystore,
|
|
21350
21313
|
dimmed: dimmed2,
|
|
21351
|
-
xyflowSynced,
|
|
21352
21314
|
view: current,
|
|
21353
21315
|
lastOnNavigate,
|
|
21354
|
-
|
|
21316
|
+
navigationHistory,
|
|
21317
|
+
navigationHistoryIndex,
|
|
21355
21318
|
focusedNodeId,
|
|
21356
21319
|
lastClickedNodeId,
|
|
21357
21320
|
lastClickedEdgeId,
|
|
21358
21321
|
activeDynamicViewStep,
|
|
21322
|
+
nodesDraggable,
|
|
21323
|
+
nodesSelectable,
|
|
21359
21324
|
hoveredEdgeId,
|
|
21360
|
-
hoveredNodeId
|
|
21325
|
+
hoveredNodeId,
|
|
21326
|
+
xyedges: xyedges2,
|
|
21327
|
+
xynodes: xynodes2
|
|
21361
21328
|
} = get2();
|
|
21362
21329
|
if (shallowEqual(current, nextView))
|
|
21363
21330
|
return;
|
|
@@ -21365,42 +21332,90 @@ function createDiagramStore(props) {
|
|
|
21365
21332
|
const isSameView = current.id === nextView.id;
|
|
21366
21333
|
if (isSameView) {
|
|
21367
21334
|
const nodeIds = new StringSet(nextView.nodes.map((n2) => n2.id)), edgeIds = new StringSet(nextView.edges.map((e2) => e2.id));
|
|
21368
|
-
if (lastClickedNodeId && !nodeIds.has(lastClickedNodeId) && (lastClickedNodeId = null), hoveredNodeId && !nodeIds.has(hoveredNodeId) && (hoveredNodeId = null), focusedNodeId && !nodeIds.has(focusedNodeId) && (focusedNodeId = null), lastClickedEdgeId && !edgeIds.has(lastClickedEdgeId) && (lastClickedEdgeId = null), hoveredEdgeId && !edgeIds.has(hoveredEdgeId) && (hoveredEdgeId = null), activeDynamicViewStep && !edgeIds.has(StepEdgeId(activeDynamicViewStep)) && (activeDynamicViewStep = null),
|
|
21335
|
+
if (lastClickedNodeId && !nodeIds.has(lastClickedNodeId) && (lastClickedNodeId = null), hoveredNodeId && !nodeIds.has(hoveredNodeId) && (hoveredNodeId = null), focusedNodeId && !nodeIds.has(focusedNodeId) && (focusedNodeId = null), lastClickedEdgeId && !edgeIds.has(lastClickedEdgeId) && (lastClickedEdgeId = null), hoveredEdgeId && !edgeIds.has(hoveredEdgeId) && (hoveredEdgeId = null), activeDynamicViewStep && !edgeIds.has(StepEdgeId(activeDynamicViewStep)) && (activeDynamicViewStep = null), dimmed2.size > 0) {
|
|
21369
21336
|
let nextDimmed = new StringSet([...dimmed2].filter((id2) => nodeIds.has(id2) || edgeIds.has(id2)));
|
|
21370
21337
|
nextDimmed.size !== dimmed2.size && (dimmed2 = nextDimmed);
|
|
21371
21338
|
}
|
|
21372
21339
|
} else {
|
|
21373
|
-
|
|
21374
|
-
|
|
21375
|
-
|
|
21340
|
+
const stepCurrent = nonNullable(navigationHistory[navigationHistoryIndex]);
|
|
21341
|
+
stepCurrent.viewId !== nextView.id ? (navigationHistory = [
|
|
21342
|
+
...navigationHistory.slice(0, navigationHistoryIndex + 1),
|
|
21343
|
+
{
|
|
21344
|
+
viewId: nextView.id,
|
|
21345
|
+
nodeId: lastOnNavigate?.fromNode || null
|
|
21346
|
+
}
|
|
21347
|
+
], navigationHistoryIndex = navigationHistory.length - 1) : stepCurrent.nodeId && (lastOnNavigate ?? (lastOnNavigate = {
|
|
21348
|
+
fromView: current.id,
|
|
21349
|
+
toView: nextView.id,
|
|
21350
|
+
fromNode: stepCurrent.nodeId
|
|
21351
|
+
})), lastOnNavigate && lastOnNavigate.toView !== nextView.id && (lastOnNavigate = null);
|
|
21352
|
+
const elTo = lastOnNavigate && nextView.nodes.find((n2) => n2.id === lastOnNavigate?.fromNode), xynodeFrom = elTo && xyflow.getInternalNode(elTo.id);
|
|
21353
|
+
if (!lastOnNavigate || e$3(elTo) || e$3(xynodeFrom)) {
|
|
21354
|
+
const zoom2 = xyflow.getZoom(), { x: x2, y: y2 } = getBBoxCenter(nextView.bounds);
|
|
21355
|
+
xyflow.setCenter(x2, y2, { zoom: zoom2 }), lastOnNavigate = null;
|
|
21376
21356
|
}
|
|
21377
|
-
|
|
21378
|
-
|
|
21379
|
-
|
|
21380
|
-
|
|
21357
|
+
if (lastOnNavigate && elTo && xynodeFrom) {
|
|
21358
|
+
const fromPos = xyflow.flowToScreenPosition({
|
|
21359
|
+
x: xynodeFrom.internals.positionAbsolute.x,
|
|
21360
|
+
// + dimensions.width / 2,
|
|
21361
|
+
y: xynodeFrom.internals.positionAbsolute.y
|
|
21362
|
+
// + dimensions.height / 2
|
|
21363
|
+
}), toPos = xyflow.flowToScreenPosition({
|
|
21364
|
+
x: elTo.position[0],
|
|
21365
|
+
// + elFrom.width / 2,
|
|
21366
|
+
y: elTo.position[1]
|
|
21367
|
+
// + elFrom.height / 2
|
|
21368
|
+
}), diff = {
|
|
21369
|
+
x: toDomPrecision(fromPos.x - toPos.x),
|
|
21370
|
+
y: toDomPrecision(fromPos.y - toPos.y)
|
|
21371
|
+
};
|
|
21372
|
+
xystore.getState().panBy(diff), lastOnNavigate = null;
|
|
21373
|
+
}
|
|
21374
|
+
lastClickedEdgeId = null, lastClickedNodeId = null, hoveredEdgeId = null, hoveredNodeId = null, focusedNodeId = null, activeDynamicViewStep = null, dimmed2 = EmptyStringSet;
|
|
21381
21375
|
}
|
|
21376
|
+
const update = diagramViewToXYFlowData(nextView, {
|
|
21377
|
+
draggable: nodesDraggable,
|
|
21378
|
+
selectable: nodesSelectable
|
|
21379
|
+
});
|
|
21380
|
+
update.xynodes = update.xynodes.map((update2) => {
|
|
21381
|
+
const existing = xynodes2.find((n2) => n2.id === update2.id);
|
|
21382
|
+
return existing && existing.type === update2.type && deepEqual$1(existing.parentId ?? null, update2.parentId ?? null) ? deepEqual$1(existing.data.element, update2.data.element) ? existing : {
|
|
21383
|
+
...existing,
|
|
21384
|
+
...update2
|
|
21385
|
+
} : update2;
|
|
21386
|
+
}), isSameView && !nextView.hasLayoutDrift && (update.xyedges = update.xyedges.map((update2) => {
|
|
21387
|
+
const existing = xyedges2.find((n2) => n2.id === update2.id);
|
|
21388
|
+
return existing ? deepEqual$1(existing.data, update2.data) ? existing : {
|
|
21389
|
+
...existing,
|
|
21390
|
+
...update2
|
|
21391
|
+
} : update2;
|
|
21392
|
+
}));
|
|
21393
|
+
const hasChanges = !isSameView || !shallowEqual(update.xynodes, xynodes2) || !shallowEqual(update.xyedges, xyedges2);
|
|
21382
21394
|
set2(
|
|
21383
21395
|
{
|
|
21396
|
+
isDynamicView: nextView.__ === "dynamic",
|
|
21384
21397
|
viewSyncDebounceTimeout,
|
|
21385
21398
|
view: nextView,
|
|
21386
21399
|
activeDynamicViewStep,
|
|
21387
|
-
xyflowSynced,
|
|
21388
21400
|
lastOnNavigate,
|
|
21389
|
-
previousViews,
|
|
21390
21401
|
lastClickedNodeId,
|
|
21391
21402
|
lastClickedEdgeId,
|
|
21392
21403
|
focusedNodeId,
|
|
21393
21404
|
hoveredEdgeId,
|
|
21394
21405
|
hoveredNodeId,
|
|
21395
|
-
|
|
21406
|
+
navigationHistory,
|
|
21407
|
+
navigationHistoryIndex,
|
|
21408
|
+
dimmed: dimmed2,
|
|
21409
|
+
xynodes: hasChanges ? update.xynodes : xynodes2,
|
|
21410
|
+
xyedges: hasChanges ? update.xyedges : xyedges2
|
|
21396
21411
|
},
|
|
21397
21412
|
noReplace,
|
|
21398
21413
|
isSameView ? "update-view [same]" : "update-view [another]"
|
|
21399
21414
|
);
|
|
21400
21415
|
},
|
|
21401
21416
|
focusOnNode: (nodeId) => {
|
|
21402
|
-
const { focusedNodeId, view } = get2();
|
|
21403
|
-
if (nodeId !== focusedNodeId) {
|
|
21417
|
+
const { focusedNodeId, view, enableFocusMode } = get2();
|
|
21418
|
+
if (invariant(enableFocusMode, "focus mode is not enabled"), nodeId !== focusedNodeId) {
|
|
21404
21419
|
const notDimmed = new StringSet([nodeId]), dimmed2 = new StringSet();
|
|
21405
21420
|
for (const edge of view.edges)
|
|
21406
21421
|
edge.source === nodeId || edge.target === nodeId ? (notDimmed.add(edge.source), notDimmed.add(edge.target)) : dimmed2.add(edge.id);
|
|
@@ -21503,78 +21518,132 @@ function createDiagramStore(props) {
|
|
|
21503
21518
|
},
|
|
21504
21519
|
cancelSaveManualLayout: () => {
|
|
21505
21520
|
let { viewSyncDebounceTimeout } = get2();
|
|
21506
|
-
viewSyncDebounceTimeout !== null
|
|
21521
|
+
return viewSyncDebounceTimeout !== null ? (clearTimeout(viewSyncDebounceTimeout), set2({ viewSyncDebounceTimeout: null }), !0) : !1;
|
|
21507
21522
|
},
|
|
21508
21523
|
triggerSaveManualLayout: () => {
|
|
21509
|
-
|
|
21510
|
-
|
|
21511
|
-
|
|
21512
|
-
|
|
21513
|
-
|
|
21514
|
-
|
|
21515
|
-
|
|
21516
|
-
|
|
21517
|
-
|
|
21518
|
-
|
|
21519
|
-
|
|
21520
|
-
|
|
21521
|
-
|
|
21522
|
-
|
|
21523
|
-
|
|
21524
|
-
|
|
21525
|
-
|
|
21526
|
-
|
|
21527
|
-
|
|
21528
|
-
|
|
21529
|
-
|
|
21530
|
-
|
|
21524
|
+
const { xyflow, view, onChange, xystore, viewSyncDebounceTimeout } = get2();
|
|
21525
|
+
if (viewSyncDebounceTimeout !== null && (clearTimeout(viewSyncDebounceTimeout), set2({ viewSyncDebounceTimeout: null })), !onChange)
|
|
21526
|
+
return;
|
|
21527
|
+
const { nodeLookup } = xystore.getState(), movedNodes = new StringSet();
|
|
21528
|
+
let bounds = {
|
|
21529
|
+
x: 0,
|
|
21530
|
+
y: 0,
|
|
21531
|
+
width: 1,
|
|
21532
|
+
height: 1
|
|
21533
|
+
};
|
|
21534
|
+
const nodes = l$2([...nodeLookup.values()], (acc, node) => {
|
|
21535
|
+
const dimensions = getNodeDimensions(node);
|
|
21536
|
+
isSamePoint$1(node.internals.positionAbsolute, node.data.element.position) || movedNodes.add(node.id);
|
|
21537
|
+
const rect = acc[node.data.fqn] = {
|
|
21538
|
+
isCompound: node.data.element.children.length > 0,
|
|
21539
|
+
x: Math.floor(node.internals.positionAbsolute.x),
|
|
21540
|
+
y: Math.floor(node.internals.positionAbsolute.y),
|
|
21541
|
+
width: Math.ceil(dimensions.width),
|
|
21542
|
+
height: Math.ceil(dimensions.height)
|
|
21543
|
+
};
|
|
21544
|
+
return bounds = getBoundsOfRects(bounds, rect), acc;
|
|
21545
|
+
}, {}), edges = l$2(xyflow.getEdges(), (acc, { source, target, data }) => {
|
|
21546
|
+
let controlPoints = data.controlPoints;
|
|
21547
|
+
const sourceOrTargetMoved = movedNodes.has(source) || movedNodes.has(target);
|
|
21548
|
+
if ((!controlPoints || controlPoints.length === 0) && sourceOrTargetMoved && (controlPoints = bezierControlPoints(data.edge)), data.edge.points.length === 0 && (!controlPoints || controlPoints.length === 0))
|
|
21549
|
+
return acc;
|
|
21550
|
+
const _updated = acc[data.edge.id] = {
|
|
21551
|
+
points: data.edge.points
|
|
21552
|
+
};
|
|
21553
|
+
data.label?.bbox && (_updated.labelBBox = data.label?.bbox), data.edge.labelBBox && (_updated.labelBBox ?? (_updated.labelBBox = data.edge.labelBBox)), controlPoints && i$2(controlPoints, 1) && (_updated.controlPoints = controlPoints), !sourceOrTargetMoved && data.edge.dotpos && (_updated.dotpos = data.edge.dotpos);
|
|
21554
|
+
const allX = [...data.edge.points.map((p2) => p2[0]), ...(controlPoints ?? []).map((p2) => p2.x)], allY = [...data.edge.points.map((p2) => p2[1]), ...(controlPoints ?? []).map((p2) => p2.y)], rect = boxToRect({
|
|
21555
|
+
x: Math.floor(Math.min(...allX)),
|
|
21556
|
+
y: Math.floor(Math.min(...allY)),
|
|
21557
|
+
x2: Math.ceil(Math.max(...allX)),
|
|
21558
|
+
y2: Math.ceil(Math.max(...allY))
|
|
21559
|
+
});
|
|
21560
|
+
return bounds = getBoundsOfRects(bounds, rect), acc;
|
|
21561
|
+
}, {}), change = {
|
|
21562
|
+
op: "save-manual-layout",
|
|
21563
|
+
layout: {
|
|
21564
|
+
hash: view.hash,
|
|
21565
|
+
autoLayout: view.autoLayout,
|
|
21531
21566
|
nodes,
|
|
21532
|
-
edges
|
|
21533
|
-
|
|
21534
|
-
|
|
21567
|
+
edges,
|
|
21568
|
+
...bounds
|
|
21569
|
+
}
|
|
21570
|
+
};
|
|
21571
|
+
onChange({ change });
|
|
21572
|
+
},
|
|
21573
|
+
scheduleSaveManualLayout: () => {
|
|
21574
|
+
let { viewSyncDebounceTimeout, onChange } = get2();
|
|
21575
|
+
onChange && (viewSyncDebounceTimeout && clearTimeout(viewSyncDebounceTimeout), set2(
|
|
21535
21576
|
{
|
|
21536
|
-
viewSyncDebounceTimeout:
|
|
21577
|
+
viewSyncDebounceTimeout: setTimeout(() => {
|
|
21578
|
+
get2().triggerSaveManualLayout();
|
|
21579
|
+
}, 1e3)
|
|
21580
|
+
// explicit typecast to number to suppress TS error in astro build
|
|
21537
21581
|
},
|
|
21538
21582
|
noReplace,
|
|
21539
21583
|
"debounce sync state"
|
|
21540
21584
|
));
|
|
21541
21585
|
},
|
|
21542
21586
|
triggerOnNavigateTo: (xynodeId, event) => {
|
|
21543
|
-
const {
|
|
21544
|
-
|
|
21545
|
-
|
|
21546
|
-
|
|
21587
|
+
const { view, xynodes: xynodes2, onNavigateTo } = get2();
|
|
21588
|
+
if (!onNavigateTo)
|
|
21589
|
+
return;
|
|
21590
|
+
const xynode = xynodes2.find(({ id: id2 }) => id2 === xynodeId);
|
|
21591
|
+
invariant(xynode, `xynode not found: ${xynodeId}`);
|
|
21592
|
+
const element = view.nodes.find(({ id: id2 }) => id2 === xynodeId);
|
|
21593
|
+
invariant(element?.navigateTo, `node is not navigable: ${xynodeId}`), set2(
|
|
21547
21594
|
{
|
|
21548
21595
|
lastClickedNodeId: xynodeId,
|
|
21549
21596
|
lastOnNavigate: {
|
|
21550
21597
|
fromView: view.id,
|
|
21551
21598
|
toView: element.navigateTo,
|
|
21552
|
-
element
|
|
21553
|
-
elementScreenPosition: xyflow.flowToScreenPosition({
|
|
21554
|
-
x: xynode.internals.positionAbsolute.x,
|
|
21555
|
-
// + dimensions.width / 2,
|
|
21556
|
-
y: xynode.internals.positionAbsolute.y
|
|
21557
|
-
// + dimensions.height / 2
|
|
21558
|
-
}),
|
|
21559
|
-
positionCorrected: !1
|
|
21599
|
+
fromNode: element.id
|
|
21560
21600
|
}
|
|
21561
21601
|
},
|
|
21562
21602
|
noReplace,
|
|
21563
21603
|
"triggerOnNavigateTo"
|
|
21564
|
-
),
|
|
21604
|
+
), onNavigateTo(
|
|
21565
21605
|
element.navigateTo,
|
|
21566
21606
|
event,
|
|
21567
21607
|
element,
|
|
21568
|
-
xynode
|
|
21608
|
+
xynode
|
|
21569
21609
|
);
|
|
21570
21610
|
},
|
|
21611
|
+
goBack: () => {
|
|
21612
|
+
const { navigationHistory, navigationHistoryIndex, onNavigateTo } = get2(), { viewId, nodeId } = nonNullable(navigationHistory[navigationHistoryIndex]), stepBack = navigationHistoryIndex > 0 && navigationHistory[navigationHistoryIndex - 1] || null;
|
|
21613
|
+
stepBack && onNavigateTo && (set2(
|
|
21614
|
+
{
|
|
21615
|
+
lastClickedEdgeId: null,
|
|
21616
|
+
lastClickedNodeId: null,
|
|
21617
|
+
navigationHistoryIndex: navigationHistoryIndex - 1,
|
|
21618
|
+
lastOnNavigate: nodeId ? {
|
|
21619
|
+
fromView: viewId,
|
|
21620
|
+
toView: stepBack.viewId,
|
|
21621
|
+
fromNode: nodeId
|
|
21622
|
+
} : null
|
|
21623
|
+
},
|
|
21624
|
+
noReplace,
|
|
21625
|
+
"goBack"
|
|
21626
|
+
), onNavigateTo(stepBack.viewId));
|
|
21627
|
+
},
|
|
21628
|
+
goForward: () => {
|
|
21629
|
+
const { navigationHistory, navigationHistoryIndex, onNavigateTo } = get2(), { viewId } = nonNullable(navigationHistory[navigationHistoryIndex]), stepForward = navigationHistoryIndex < navigationHistory.length - 1 ? navigationHistory[navigationHistoryIndex + 1] : null;
|
|
21630
|
+
stepForward && onNavigateTo && (set2(
|
|
21631
|
+
{
|
|
21632
|
+
lastClickedEdgeId: null,
|
|
21633
|
+
lastClickedNodeId: null,
|
|
21634
|
+
navigationHistoryIndex: navigationHistoryIndex + 1,
|
|
21635
|
+
lastOnNavigate: stepForward.nodeId ? {
|
|
21636
|
+
fromView: viewId,
|
|
21637
|
+
toView: stepForward.viewId,
|
|
21638
|
+
fromNode: stepForward.nodeId
|
|
21639
|
+
} : null
|
|
21640
|
+
},
|
|
21641
|
+
noReplace,
|
|
21642
|
+
"goForward"
|
|
21643
|
+
), onNavigateTo(stepForward.viewId));
|
|
21644
|
+
},
|
|
21571
21645
|
fitDiagram: (duration = 500) => {
|
|
21572
|
-
const { fitViewPadding, view, focusedNodeId, activeDynamicViewStep, xystore } = get2(), { width, height, panZoom, transform: transform2 } = xystore.getState(), bounds =
|
|
21573
|
-
x: 0,
|
|
21574
|
-
y: 0,
|
|
21575
|
-
width: view.width,
|
|
21576
|
-
height: view.height
|
|
21577
|
-
}, maxZoom = Math.max(1, transform2[2]), viewport = getViewportForBounds(bounds, width, height, MinZoom, maxZoom, fitViewPadding);
|
|
21646
|
+
const { fitViewPadding, view, focusedNodeId, activeDynamicViewStep, xystore } = get2(), { width, height, panZoom, transform: transform2 } = xystore.getState(), bounds = view.bounds, maxZoom = Math.max(1, transform2[2]), viewport = getViewportForBounds(bounds, width, height, MinZoom, maxZoom, fitViewPadding);
|
|
21578
21647
|
panZoom?.setViewport(viewport, { duration }), (focusedNodeId ?? activeDynamicViewStep) !== null && set2(
|
|
21579
21648
|
{
|
|
21580
21649
|
activeDynamicViewStep: null,
|
|
@@ -21586,11 +21655,12 @@ function createDiagramStore(props) {
|
|
|
21586
21655
|
);
|
|
21587
21656
|
},
|
|
21588
21657
|
nextDynamicStep: (increment = 1) => {
|
|
21589
|
-
const {
|
|
21590
|
-
|
|
21591
|
-
|
|
21592
|
-
|
|
21593
|
-
|
|
21658
|
+
const { activeDynamicViewStep, activateDynamicStep } = get2(), nextStep = (activeDynamicViewStep ?? 0) + increment;
|
|
21659
|
+
nextStep <= 0 || nextStep !== activeDynamicViewStep && activateDynamicStep(nextStep);
|
|
21660
|
+
},
|
|
21661
|
+
activateDynamicStep: (nextStep) => {
|
|
21662
|
+
const { isDynamicView, xyflow, xystore, fitViewPadding } = get2();
|
|
21663
|
+
invariant(isDynamicView, "view is not dynamic");
|
|
21594
21664
|
const edgeId = StepEdgeId(nextStep), dimmed2 = new StringSet();
|
|
21595
21665
|
let edge = null;
|
|
21596
21666
|
for (const e2 of xyflow.getEdges()) {
|
|
@@ -21600,7 +21670,7 @@ function createDiagramStore(props) {
|
|
|
21600
21670
|
}
|
|
21601
21671
|
dimmed2.add(e2.id);
|
|
21602
21672
|
}
|
|
21603
|
-
invariant
|
|
21673
|
+
invariant(!!edge, `edge not found: ${edgeId}`);
|
|
21604
21674
|
const selected2 = [];
|
|
21605
21675
|
for (const n2 of xyflow.getNodes()) {
|
|
21606
21676
|
if (n2.id === edge.source || n2.id === edge.target) {
|
|
@@ -21624,7 +21694,7 @@ function createDiagramStore(props) {
|
|
|
21624
21694
|
dimmed: dimmed2
|
|
21625
21695
|
},
|
|
21626
21696
|
noReplace,
|
|
21627
|
-
"
|
|
21697
|
+
"activateDynamicStep"
|
|
21628
21698
|
);
|
|
21629
21699
|
},
|
|
21630
21700
|
stopDynamicView: () => {
|
|
@@ -21637,6 +21707,17 @@ function createDiagramStore(props) {
|
|
|
21637
21707
|
noReplace,
|
|
21638
21708
|
"stopDynamicView"
|
|
21639
21709
|
), get2().fitDiagram());
|
|
21710
|
+
},
|
|
21711
|
+
onInit: (instance) => {
|
|
21712
|
+
const { xyflow, initialized } = get2();
|
|
21713
|
+
(!initialized || xyflow !== instance) && set2(
|
|
21714
|
+
{
|
|
21715
|
+
xyflow: instance,
|
|
21716
|
+
initialized: !0
|
|
21717
|
+
},
|
|
21718
|
+
noReplace,
|
|
21719
|
+
"onInit"
|
|
21720
|
+
);
|
|
21640
21721
|
}
|
|
21641
21722
|
}),
|
|
21642
21723
|
{
|
|
@@ -21656,28 +21737,24 @@ function DiagramContextProvider({
|
|
|
21656
21737
|
keepAspectRatio,
|
|
21657
21738
|
...props
|
|
21658
21739
|
}) {
|
|
21659
|
-
const containerRef = useRef(null), xystore = useXYStoreApi(), xyflow = useXYFlow(), store = useRef();
|
|
21740
|
+
const containerRef = useRef(null), xystore = useXYStoreApi(), xyflow = useXYFlow(), store = useRef(), getContainer = useCallback(() => containerRef.current, [containerRef]);
|
|
21660
21741
|
return store.current || (store.current = createDiagramStore({
|
|
21661
21742
|
xystore,
|
|
21662
21743
|
xyflow,
|
|
21663
21744
|
view,
|
|
21664
|
-
getContainer
|
|
21745
|
+
getContainer,
|
|
21665
21746
|
...props
|
|
21666
|
-
})),
|
|
21667
|
-
() => {
|
|
21668
|
-
|
|
21669
|
-
|
|
21670
|
-
|
|
21671
|
-
|
|
21672
|
-
[xyflow, xystore]
|
|
21747
|
+
})), useUpdateEffect(
|
|
21748
|
+
() => store.current?.setState({ xyflow, xystore, getContainer }, !1, "update xyflow and xystore"),
|
|
21749
|
+
[xyflow, xystore, getContainer]
|
|
21750
|
+
), useUpdateEffect(
|
|
21751
|
+
() => store.current?.setState(props, !1, "update incoming props"),
|
|
21752
|
+
[props]
|
|
21673
21753
|
), useUpdateEffect(
|
|
21674
21754
|
() => {
|
|
21675
|
-
|
|
21676
|
-
const state = store.current.getState(), newProps = i$1(props, l$2);
|
|
21677
|
-
o$1(state, newProps) || store.current.setState(newProps, !1, "update incoming props"), state.view !== view && state.updateView(view);
|
|
21755
|
+
store.current?.getState().updateView(view);
|
|
21678
21756
|
},
|
|
21679
|
-
[view
|
|
21680
|
-
(prev, next) => shallowEqual(prev[0], next[0]) && shallowEqual(prev[1], next[1])
|
|
21757
|
+
[view]
|
|
21681
21758
|
), /* @__PURE__ */ jsx(
|
|
21682
21759
|
"div",
|
|
21683
21760
|
{
|
|
@@ -21685,8 +21762,8 @@ function DiagramContextProvider({
|
|
|
21685
21762
|
className,
|
|
21686
21763
|
...keepAspectRatio && {
|
|
21687
21764
|
style: {
|
|
21688
|
-
aspectRatio: `${Math.ceil(view.width)}/${Math.ceil(view.height)}`,
|
|
21689
|
-
maxHeight: Math.ceil(view.height)
|
|
21765
|
+
aspectRatio: `${Math.ceil(view.bounds.width)}/${Math.ceil(view.bounds.height)}`,
|
|
21766
|
+
maxHeight: Math.ceil(view.bounds.height)
|
|
21690
21767
|
}
|
|
21691
21768
|
},
|
|
21692
21769
|
children: /* @__PURE__ */ jsx(DiagramContext.Provider, { value: store.current, children: children2 })
|
|
@@ -21705,156 +21782,48 @@ function useDiagramStoreApi() {
|
|
|
21705
21782
|
throw new Error("useDiagramStoreApi could be used only inside DiagramContext");
|
|
21706
21783
|
return store;
|
|
21707
21784
|
}
|
|
21708
|
-
function
|
|
21709
|
-
const isDynamicView = view.__ === "dynamic", editor = {
|
|
21710
|
-
nodes: [],
|
|
21711
|
-
edges: []
|
|
21712
|
-
}, nodeLookup = /* @__PURE__ */ new Map(), traverse = view.nodes.reduce(
|
|
21713
|
-
(acc, node) => (nodeLookup.set(node.id, node), node.parent || acc.push({ node, parent: null }), acc),
|
|
21714
|
-
new Array()
|
|
21715
|
-
), ns = "", nodeById = (id2) => nonNullable(nodeLookup.get(id2), `Node not found: ${id2}`);
|
|
21716
|
-
let next;
|
|
21717
|
-
for (; next = traverse.shift(); ) {
|
|
21718
|
-
const { node, parent } = next;
|
|
21719
|
-
node.children.length > 0 && traverse.push(...node.children.map((child) => ({ node: nodeById(child), parent: node })));
|
|
21720
|
-
const isCompound = i$3(node.children, 1), position = {
|
|
21721
|
-
x: node.position[0],
|
|
21722
|
-
y: node.position[1]
|
|
21723
|
-
};
|
|
21724
|
-
parent && (position.x -= parent.position[0], position.y -= parent.position[1]);
|
|
21725
|
-
const id2 = ns + node.id, draggable = opts.draggable && (!parent || parent.children.length > 1);
|
|
21726
|
-
editor.nodes.push({
|
|
21727
|
-
id: id2,
|
|
21728
|
-
type: isCompound ? "compound" : "element",
|
|
21729
|
-
data: {
|
|
21730
|
-
fqn: node.id,
|
|
21731
|
-
element: node
|
|
21732
|
-
},
|
|
21733
|
-
draggable,
|
|
21734
|
-
selectable: opts.selectable,
|
|
21735
|
-
deletable: !1,
|
|
21736
|
-
position,
|
|
21737
|
-
zIndex: isCompound ? ZIndexes.Compound : ZIndexes.Element,
|
|
21738
|
-
hidden: !1,
|
|
21739
|
-
initialWidth: node.width,
|
|
21740
|
-
initialHeight: node.height,
|
|
21741
|
-
width: node.width,
|
|
21742
|
-
height: node.height,
|
|
21743
|
-
...parent && {
|
|
21744
|
-
parentId: ns + parent.id
|
|
21745
|
-
},
|
|
21746
|
-
...isCompound && {
|
|
21747
|
-
dragHandle: ".likec4-compound-title"
|
|
21748
|
-
}
|
|
21749
|
-
});
|
|
21750
|
-
}
|
|
21751
|
-
for (const edge of view.edges) {
|
|
21752
|
-
const source = edge.source, target = edge.target, id2 = ns + edge.id;
|
|
21753
|
-
invariant$1(i$3(edge.points, 2), "edge should have at least 2 points"), editor.edges.push({
|
|
21754
|
-
id: id2,
|
|
21755
|
-
type: "relationship",
|
|
21756
|
-
source: ns + source,
|
|
21757
|
-
target: ns + target,
|
|
21758
|
-
zIndex: ZIndexes.Edge,
|
|
21759
|
-
selectable: opts.selectable,
|
|
21760
|
-
deletable: !1,
|
|
21761
|
-
data: {
|
|
21762
|
-
edge,
|
|
21763
|
-
type: "bezier",
|
|
21764
|
-
controlPoints: view.manualLayout?.edges[edge.id]?.controlPoints || null,
|
|
21765
|
-
stepNum: isDynamicView ? extractStep(edge.id) : null,
|
|
21766
|
-
label: edge.labelBBox ? {
|
|
21767
|
-
bbox: edge.labelBBox,
|
|
21768
|
-
text: edge.label ?? ""
|
|
21769
|
-
} : null
|
|
21770
|
-
},
|
|
21771
|
-
interactionWidth: 20
|
|
21772
|
-
});
|
|
21773
|
-
}
|
|
21774
|
-
return editor;
|
|
21775
|
-
}
|
|
21776
|
-
function useNavigationHistory() {
|
|
21777
|
-
const store = useDiagramStoreApi(), viewId = useDiagramState((s) => s.view.id), [historyViewId, historyOps, {
|
|
21778
|
-
history,
|
|
21779
|
-
current: historyIndex
|
|
21780
|
-
}] = useStateHistory(viewId), hasBack = historyIndex > 0, hasForward = historyIndex < history.length - 1;
|
|
21781
|
-
return useUpdateEffect(() => {
|
|
21782
|
-
viewId !== historyViewId && historyOps.set(viewId);
|
|
21783
|
-
}, [viewId]), useUpdateEffect(() => {
|
|
21784
|
-
viewId !== historyViewId && store.getState().onNavigateTo?.(historyViewId);
|
|
21785
|
-
}, [historyViewId]), useMemo(() => ({
|
|
21786
|
-
hasBack,
|
|
21787
|
-
hasForward,
|
|
21788
|
-
ops: historyOps
|
|
21789
|
-
}), [
|
|
21790
|
-
hasBack,
|
|
21791
|
-
hasForward,
|
|
21792
|
-
historyOps
|
|
21793
|
-
]);
|
|
21794
|
-
}
|
|
21795
|
-
function selectDimensions(state) {
|
|
21785
|
+
function selectXYFlowSize(state) {
|
|
21796
21786
|
return `${Math.round(state.width)}:${Math.round(state.height)}`;
|
|
21797
21787
|
}
|
|
21798
|
-
function
|
|
21799
|
-
|
|
21788
|
+
function selectDiagramsize({ view, fitViewPadding }) {
|
|
21789
|
+
return [
|
|
21790
|
+
view.bounds.x,
|
|
21791
|
+
view.bounds.y,
|
|
21792
|
+
view.bounds.width,
|
|
21793
|
+
view.bounds.height,
|
|
21794
|
+
fitViewPadding
|
|
21795
|
+
].map(Math.round).join(":");
|
|
21796
|
+
}
|
|
21797
|
+
function FitViewOnViewportResize({ diagramApi }) {
|
|
21798
|
+
const xyflowsize = useXYStore(selectXYFlowSize), viewsize = useDiagramState(selectDiagramsize), dimensions = xyflowsize + viewsize, prevDimensionsRef = useRef(dimensions);
|
|
21800
21799
|
return useDebouncedEffect(
|
|
21801
21800
|
() => {
|
|
21802
21801
|
const { focusedNodeId, fitDiagram } = diagramApi.getState();
|
|
21803
|
-
focusedNodeId || prevDimensionsRef.current === dimensions || (
|
|
21802
|
+
focusedNodeId || prevDimensionsRef.current === dimensions || (prevDimensionsRef.current = dimensions, fitDiagram(250));
|
|
21804
21803
|
},
|
|
21805
|
-
[dimensions, diagramApi
|
|
21806
|
-
|
|
21804
|
+
[dimensions, diagramApi],
|
|
21805
|
+
250,
|
|
21807
21806
|
1e3
|
|
21808
21807
|
), null;
|
|
21809
21808
|
}
|
|
21810
|
-
function selector$3({ view,
|
|
21811
|
-
|
|
21812
|
-
|
|
21813
|
-
|
|
21814
|
-
xyflowSynced,
|
|
21815
|
-
viewportChanged,
|
|
21816
|
-
waitCorrection: !0,
|
|
21817
|
-
elFrom: lastOnNavigate.element,
|
|
21818
|
-
elTo
|
|
21819
|
-
} : {
|
|
21820
|
-
viewId,
|
|
21821
|
-
xyflowSynced,
|
|
21822
|
-
viewportChanged,
|
|
21823
|
-
waitCorrection: !1,
|
|
21824
|
-
fromElement: null,
|
|
21825
|
-
toElement: null
|
|
21809
|
+
function selector$3({ view, viewportChanged, fitViewPadding }) {
|
|
21810
|
+
return {
|
|
21811
|
+
layoutId: view.id + "_" + view.autoLayout + "_" + fitViewPadding,
|
|
21812
|
+
viewportNotMoved: !viewportChanged
|
|
21826
21813
|
};
|
|
21827
21814
|
}
|
|
21828
21815
|
function FitViewOnDiagramChange() {
|
|
21829
|
-
const
|
|
21830
|
-
|
|
21831
|
-
|
|
21832
|
-
|
|
21833
|
-
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
|
|
21837
|
-
|
|
21838
|
-
|
|
21839
|
-
|
|
21840
|
-
invariant$1(elTo, "elTo should be defined"), invariant$1(elFrom, "elFrom should be defined");
|
|
21841
|
-
const { xyflow, lastOnNavigate } = diagramApi.getState();
|
|
21842
|
-
invariant$1(lastOnNavigate, "lastOnNavigate should be defined");
|
|
21843
|
-
const fromPos = lastOnNavigate.elementScreenPosition, toPos = xyflow.flowToScreenPosition({
|
|
21844
|
-
x: elTo.position[0],
|
|
21845
|
-
// + elFrom.width / 2,
|
|
21846
|
-
y: elTo.position[1]
|
|
21847
|
-
// + elFrom.height / 2
|
|
21848
|
-
}), diff = {
|
|
21849
|
-
x: toDomPrecision(fromPos.x - toPos.x),
|
|
21850
|
-
y: toDomPrecision(fromPos.y - toPos.y)
|
|
21851
|
-
};
|
|
21852
|
-
xyflowApi.getState().panBy(diff), durationRef.current = 500, diagramApi.setState({ lastOnNavigate: null });
|
|
21853
|
-
return;
|
|
21854
|
-
}
|
|
21855
|
-
processedRef.current = pendingViewId, diagramApi.getState().fitDiagram(durationRef.current), durationRef.current = 300;
|
|
21856
|
-
}
|
|
21857
|
-
}, [pendingViewId, xyflowSynced, waitCorrection]), !viewportChanged && xyflowSynced ? /* @__PURE__ */ jsx(FitViewOnViewportResize, { xyflowApi, diagramApi }) : null;
|
|
21816
|
+
const {
|
|
21817
|
+
layoutId,
|
|
21818
|
+
viewportNotMoved
|
|
21819
|
+
} = useDiagramState(selector$3, shallowEqual), diagramApi = useDiagramStoreApi(), [currentLayoutId, setCurrent] = useState(layoutId), requiresFit = layoutId !== currentLayoutId;
|
|
21820
|
+
return useDebouncedEffect(
|
|
21821
|
+
() => {
|
|
21822
|
+
layoutId !== currentLayoutId && (setCurrent(layoutId), diagramApi.getState().fitDiagram(450));
|
|
21823
|
+
},
|
|
21824
|
+
[requiresFit, diagramApi],
|
|
21825
|
+
50
|
|
21826
|
+
), viewportNotMoved && !requiresFit ? /* @__PURE__ */ jsx(FitViewOnViewportResize, { diagramApi }) : null;
|
|
21858
21827
|
}
|
|
21859
21828
|
function SelectEdgesOnNodeFocus() {
|
|
21860
21829
|
const diagramStore = useDiagramStoreApi();
|
|
@@ -21903,51 +21872,6 @@ function SelectEdgesOnNodeFocus() {
|
|
|
21903
21872
|
[diagramStore]
|
|
21904
21873
|
), null;
|
|
21905
21874
|
}
|
|
21906
|
-
function SyncWithDiagram() {
|
|
21907
|
-
const xyflowSynced = useDiagramState((s) => s.xyflowSynced), diagramStoreApi = useDiagramStoreApi();
|
|
21908
|
-
return useEffect(() => {
|
|
21909
|
-
if (xyflowSynced)
|
|
21910
|
-
return;
|
|
21911
|
-
const {
|
|
21912
|
-
view,
|
|
21913
|
-
nodesDraggable,
|
|
21914
|
-
nodesSelectable,
|
|
21915
|
-
focusedNodeId,
|
|
21916
|
-
xystore
|
|
21917
|
-
} = diagramStoreApi.getState(), updates = diagramViewToXYFlowData(view, {
|
|
21918
|
-
draggable: nodesDraggable,
|
|
21919
|
-
selectable: nodesSelectable || focusedNodeId !== null
|
|
21920
|
-
}), {
|
|
21921
|
-
nodeLookup,
|
|
21922
|
-
edgeLookup,
|
|
21923
|
-
setNodes,
|
|
21924
|
-
setEdges
|
|
21925
|
-
} = xystore.getState();
|
|
21926
|
-
setNodes(updates.nodes.map((update) => {
|
|
21927
|
-
const existing = nodeLookup.get(update.id)?.internals.userNode;
|
|
21928
|
-
return existing && existing.type === update.type && deepEqual$1(existing.parentId, update.parentId) ? deepEqual$1(existing.data.element, update.data.element) ? existing : {
|
|
21929
|
-
...existing,
|
|
21930
|
-
...update
|
|
21931
|
-
} : update;
|
|
21932
|
-
})), setEdges(updates.edges.map((update) => {
|
|
21933
|
-
const existing = edgeLookup.get(update.id);
|
|
21934
|
-
return existing ? deepEqual$1(existing.data.controlPoints, update.data.controlPoints) && deepEqual$1(existing.markerStart, update.markerStart) && deepEqual$1(existing.markerEnd, update.markerEnd) && deepEqual$1(existing.data.edge, update.data.edge) ? existing : {
|
|
21935
|
-
...y$2(existing, ["data", "markerStart", "markerEnd"]),
|
|
21936
|
-
...update,
|
|
21937
|
-
data: {
|
|
21938
|
-
...existing.data,
|
|
21939
|
-
...update.data
|
|
21940
|
-
}
|
|
21941
|
-
} : update;
|
|
21942
|
-
})), diagramStoreApi.setState(
|
|
21943
|
-
{
|
|
21944
|
-
xyflowSynced: !0
|
|
21945
|
-
},
|
|
21946
|
-
!1,
|
|
21947
|
-
"xyflowSynced"
|
|
21948
|
-
);
|
|
21949
|
-
}, [xyflowSynced, diagramStoreApi]), null;
|
|
21950
|
-
}
|
|
21951
21875
|
function getVarName(variable) {
|
|
21952
21876
|
var matches = variable.match(/^var\((.*)\)$/);
|
|
21953
21877
|
return matches ? matches[1] : variable;
|
|
@@ -22089,19 +22013,19 @@ function x(p2) {
|
|
|
22089
22013
|
function y(p2) {
|
|
22090
22014
|
return p2[1];
|
|
22091
22015
|
}
|
|
22092
|
-
function d3line(x$1, y$
|
|
22016
|
+
function d3line(x$1, y$1) {
|
|
22093
22017
|
var defined = constant(!0), context = null, curve2 = curveLinear, output = null, path = withPath(line);
|
|
22094
|
-
x$1 = typeof x$1 == "function" ? x$1 : x$1 === void 0 ? x : constant(x$1), y$
|
|
22018
|
+
x$1 = typeof x$1 == "function" ? x$1 : x$1 === void 0 ? x : constant(x$1), y$1 = typeof y$1 == "function" ? y$1 : y$1 === void 0 ? y : constant(y$1);
|
|
22095
22019
|
function line(data) {
|
|
22096
22020
|
var i2, n2 = (data = array(data)).length, d2, defined0 = !1, buffer;
|
|
22097
22021
|
for (context == null && (output = curve2(buffer = path())), i2 = 0; i2 <= n2; ++i2)
|
|
22098
|
-
!(i2 < n2 && defined(d2 = data[i2], i2, data)) === defined0 && ((defined0 = !defined0) ? output.lineStart() : output.lineEnd()), defined0 && output.point(+x$1(d2, i2, data), +y$
|
|
22022
|
+
!(i2 < n2 && defined(d2 = data[i2], i2, data)) === defined0 && ((defined0 = !defined0) ? output.lineStart() : output.lineEnd()), defined0 && output.point(+x$1(d2, i2, data), +y$1(d2, i2, data));
|
|
22099
22023
|
if (buffer) return output = null, buffer + "" || null;
|
|
22100
22024
|
}
|
|
22101
22025
|
return line.x = function(_) {
|
|
22102
22026
|
return arguments.length ? (x$1 = typeof _ == "function" ? _ : constant(+_), line) : x$1;
|
|
22103
22027
|
}, line.y = function(_) {
|
|
22104
|
-
return arguments.length ? (y$
|
|
22028
|
+
return arguments.length ? (y$1 = typeof _ == "function" ? _ : constant(+_), line) : y$1;
|
|
22105
22029
|
}, line.defined = function(_) {
|
|
22106
22030
|
return arguments.length ? (defined = typeof _ == "function" ? _ : constant(!!_), line) : defined;
|
|
22107
22031
|
}, line.curve = function(_) {
|
|
@@ -22517,18 +22441,18 @@ const toMarker = (arrowType) => {
|
|
|
22517
22441
|
};
|
|
22518
22442
|
function bezierPath(bezierSpline) {
|
|
22519
22443
|
let [start2, ...points] = bezierSpline;
|
|
22520
|
-
invariant
|
|
22444
|
+
invariant(start2, "start should be defined");
|
|
22521
22445
|
let path = `M ${start2[0]},${start2[1]}`;
|
|
22522
|
-
for (; i$
|
|
22446
|
+
for (; i$2(points, 3); ) {
|
|
22523
22447
|
const [cp1, cp2, end, ...rest] = points;
|
|
22524
22448
|
path = path + ` C ${cp1[0]},${cp1[1]} ${cp2[0]},${cp2[1]} ${end[0]},${end[1]}`, points = rest;
|
|
22525
22449
|
}
|
|
22526
|
-
return invariant
|
|
22450
|
+
return invariant(points.length === 0, "all points should be consumed"), path;
|
|
22527
22451
|
}
|
|
22528
22452
|
const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
22529
22453
|
const [ax, ay] = n$2(a2) ? a2 : [a2.x, a2.y], [bx, by] = n$2(b) ? b : [b.x, b.y];
|
|
22530
22454
|
return isSame(ax, bx) && isSame(ay, by);
|
|
22531
|
-
}, sameControlPoints = (a2, b) => a2 === b ? !0 : !a2 || !b || a2.length !== b.length ? !1 : a2.every((ap, i2) => isSamePoint(ap, b[i2])), isEqualProps$2 = (prev, next) => prev.id === next.id && deepEqual$1(prev.source, next.source) && deepEqual$1(prev.target, next.target) && deepEqual$1(prev.selected ?? !1, next.selected ?? !1) && isSame(prev.sourceX, next.sourceX) && isSame(prev.sourceY, next.sourceY) && isSame(prev.targetX, next.targetX) && isSame(prev.targetY, next.targetY) && deepEqual$1(prev.data.stepNum, next.data.stepNum) && sameControlPoints(prev.data.controlPoints, next.data.controlPoints) && deepEqual$1(prev.data.edge, next.data.edge), curve = d3line().curve(curveCatmullRomOpen).x((d2) => d2.x).y((d2) => d2.y), RelationshipEdge = /* @__PURE__ */ memo$1(function({
|
|
22455
|
+
}, sameControlPoints = (a2, b) => a2 === b ? !0 : !a2 || !b || a2.length !== b.length ? !1 : a2.every((ap, i2) => isSamePoint(ap, b[i2])), isEqualProps$2 = (prev, next) => prev.id === next.id && deepEqual$1(prev.source, next.source) && deepEqual$1(prev.target, next.target) && deepEqual$1(prev.selected ?? !1, next.selected ?? !1) && isSame(prev.sourceX, next.sourceX) && isSame(prev.sourceY, next.sourceY) && isSame(prev.targetX, next.targetX) && isSame(prev.targetY, next.targetY) && deepEqual$1(prev.data.stepNum, next.data.stepNum) && deepEqual$1(prev.data.label, next.data.label) && sameControlPoints(prev.data.controlPoints, next.data.controlPoints) && deepEqual$1(prev.data.edge, next.data.edge), curve = d3line().curve(curveCatmullRomOpen).x((d2) => d2.x).y((d2) => d2.y), RelationshipEdge = /* @__PURE__ */ memo$1(function({
|
|
22532
22456
|
id: id2,
|
|
22533
22457
|
data,
|
|
22534
22458
|
selected: selected2,
|
|
@@ -22541,18 +22465,18 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22541
22465
|
target,
|
|
22542
22466
|
interactionWidth
|
|
22543
22467
|
}) {
|
|
22544
|
-
const [isControlPointDragging, setIsControlPointDragging] = useState(!1), diagramStore = useDiagramStoreApi(), xyflowStore = useXYStoreApi(), { isActive,
|
|
22545
|
-
isEditable: s.readonly !== !0,
|
|
22468
|
+
const [isControlPointDragging, setIsControlPointDragging] = useState(!1), diagramStore = useDiagramStoreApi(), xyflowStore = useXYStoreApi(), { isActive, isEdgePathEditable, isHovered, isDimmed } = useDiagramState((s) => ({
|
|
22546
22469
|
isEdgePathEditable: s.readonly !== !0 && s.experimentalEdgeEditing === !0,
|
|
22547
22470
|
isActive: s.focusedNodeId === source || s.focusedNodeId === target || s.activeDynamicViewStep !== null && s.activeDynamicViewStep === data.stepNum,
|
|
22548
22471
|
isHovered: s.hoveredEdgeId === id2,
|
|
22549
22472
|
isDimmed: s.dimmed.has(id2)
|
|
22550
|
-
})), { nodeLookup, edgeLookup } = xyflowStore.getState(), sourceNode = nonNullable(nodeLookup.get(source), `source node ${source} not found`), targetNode = nonNullable(nodeLookup.get(target), `target node ${target} not found`), isModified =
|
|
22473
|
+
})), { nodeLookup, edgeLookup } = xyflowStore.getState(), sourceNode = nonNullable(nodeLookup.get(source), `source node ${source} not found`), targetNode = nonNullable(nodeLookup.get(target), `target node ${target} not found`), isModified = n$4(data.controlPoints) || !isSamePoint(sourceNode.internals.positionAbsolute, sourceNode.data.element.position) || !isSamePoint(targetNode.internals.positionAbsolute, targetNode.data.element.position), {
|
|
22551
22474
|
label,
|
|
22552
22475
|
edge: {
|
|
22553
22476
|
points: diagramEdgePoints,
|
|
22554
22477
|
line = "dashed",
|
|
22555
22478
|
color: color2 = "gray",
|
|
22479
|
+
labelBBox,
|
|
22556
22480
|
...diagramEdge
|
|
22557
22481
|
}
|
|
22558
22482
|
} = data;
|
|
@@ -22560,10 +22484,10 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22560
22484
|
const isStepEdge = data.stepNum !== null, isDotted = line === "dotted", isDashed = isDotted || line === "dashed";
|
|
22561
22485
|
let strokeDasharray;
|
|
22562
22486
|
isDotted ? strokeDasharray = "1,8" : isDashed && (strokeDasharray = "8,10");
|
|
22563
|
-
let labelX =
|
|
22487
|
+
let labelX = labelBBox?.x ?? 0, labelY = labelBBox?.y ?? 0;
|
|
22564
22488
|
const [labelPos, setLabelPosition] = useState({
|
|
22565
|
-
x: labelX,
|
|
22566
|
-
y: labelY
|
|
22489
|
+
x: label?.bbox.x ?? labelX,
|
|
22490
|
+
y: label?.bbox.y ?? labelY
|
|
22567
22491
|
});
|
|
22568
22492
|
let edgePath;
|
|
22569
22493
|
if (isModified) {
|
|
@@ -22572,20 +22496,20 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22572
22496
|
targetCenterPos,
|
|
22573
22497
|
getNodeIntersectionFromCenterToPoint(targetNode, d(controlPoints) ?? sourceCenterPos),
|
|
22574
22498
|
...controlPoints,
|
|
22575
|
-
getNodeIntersectionFromCenterToPoint(sourceNode, a$
|
|
22499
|
+
getNodeIntersectionFromCenterToPoint(sourceNode, a$1(controlPoints) ?? targetCenterPos),
|
|
22576
22500
|
sourceCenterPos
|
|
22577
22501
|
] : [
|
|
22578
22502
|
sourceCenterPos,
|
|
22579
22503
|
getNodeIntersectionFromCenterToPoint(sourceNode, d(controlPoints) ?? targetCenterPos),
|
|
22580
22504
|
...controlPoints,
|
|
22581
|
-
getNodeIntersectionFromCenterToPoint(targetNode, a$
|
|
22505
|
+
getNodeIntersectionFromCenterToPoint(targetNode, a$1(controlPoints) ?? sourceCenterPos),
|
|
22582
22506
|
targetCenterPos
|
|
22583
22507
|
];
|
|
22584
22508
|
edgePath = nonNullable(curve(points));
|
|
22585
22509
|
} else
|
|
22586
22510
|
edgePath = bezierPath(diagramEdgePoints);
|
|
22587
22511
|
const svgPathRef = useRef(null);
|
|
22588
|
-
|
|
22512
|
+
useEffect(() => {
|
|
22589
22513
|
const path = svgPathRef.current;
|
|
22590
22514
|
if (!path) return;
|
|
22591
22515
|
const dompoint = path.getPointAtLength(path.getTotalLength() * 0.5), point2 = {
|
|
@@ -22593,7 +22517,22 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22593
22517
|
y: Math.round(dompoint.y)
|
|
22594
22518
|
};
|
|
22595
22519
|
setLabelPosition((current) => isSamePoint(current, point2) ? current : point2);
|
|
22596
|
-
}, [edgePath])
|
|
22520
|
+
}, [edgePath]), useDebouncedEffect(
|
|
22521
|
+
() => {
|
|
22522
|
+
!label || label.bbox.x === labelPos.x && label.bbox.y === labelPos.y || diagramStore.getState().xyflow.updateEdgeData(id2, {
|
|
22523
|
+
label: {
|
|
22524
|
+
...label,
|
|
22525
|
+
bbox: {
|
|
22526
|
+
...label.bbox,
|
|
22527
|
+
...labelPos
|
|
22528
|
+
}
|
|
22529
|
+
}
|
|
22530
|
+
});
|
|
22531
|
+
},
|
|
22532
|
+
[labelPos],
|
|
22533
|
+
100,
|
|
22534
|
+
300
|
|
22535
|
+
);
|
|
22597
22536
|
const onControlPointerDown = (index2, e2) => {
|
|
22598
22537
|
const { domNode } = xyflowStore.getState();
|
|
22599
22538
|
if (!domNode || e2.pointerType !== "mouse")
|
|
@@ -22608,11 +22547,12 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22608
22547
|
}
|
|
22609
22548
|
if (e2.button !== 0)
|
|
22610
22549
|
return;
|
|
22550
|
+
const wasCanceled = diagramStore.getState().cancelSaveManualLayout();
|
|
22611
22551
|
e2.stopPropagation();
|
|
22612
22552
|
let hasMoved = !1, pointer2 = { x: e2.clientX, y: e2.clientY };
|
|
22613
22553
|
const onPointerMove = (e22) => {
|
|
22614
22554
|
if (!isSamePoint(pointer2, [e22.clientX, e22.clientY])) {
|
|
22615
|
-
setIsControlPointDragging(!0), hasMoved
|
|
22555
|
+
setIsControlPointDragging(!0), hasMoved = !0, pointer2 = { x: e22.clientX, y: e22.clientY };
|
|
22616
22556
|
const { x: x2, y: y2 } = xyflow.screenToFlowPosition(pointer2, { snapToGrid: !1 }), newControlPoints = controlPoints.slice();
|
|
22617
22557
|
newControlPoints[index2] = {
|
|
22618
22558
|
x: Math.round(x2),
|
|
@@ -22620,21 +22560,21 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22620
22560
|
}, xyflow.updateEdgeData(id2, { controlPoints: newControlPoints });
|
|
22621
22561
|
}
|
|
22622
22562
|
}, onPointerUp = () => {
|
|
22623
|
-
|
|
22563
|
+
domNode.removeEventListener("pointermove", onPointerMove), domNode.removeEventListener("pointerup", onPointerUp), (hasMoved || wasCanceled) && diagramStore.getState().scheduleSaveManualLayout(), setIsControlPointDragging(!1);
|
|
22624
22564
|
};
|
|
22625
22565
|
domNode.addEventListener("pointermove", onPointerMove), domNode.addEventListener("pointerup", onPointerUp, { once: !0 });
|
|
22626
22566
|
};
|
|
22627
22567
|
let markerStartName = toMarker(diagramEdge.tail), markerEndName = toMarker(diagramEdge.head ?? "normal");
|
|
22628
22568
|
diagramEdge.dir === "back" && ([markerStartName, markerEndName] = [markerEndName, markerStartName]);
|
|
22629
|
-
const MarkerStart = markerStartName ? EdgeMarkers[markerStartName] : null, MarkerEnd = markerEndName ? EdgeMarkers[markerEndName] : null;
|
|
22569
|
+
const MarkerStart = markerStartName ? EdgeMarkers[markerStartName] : null, MarkerEnd = markerEndName ? EdgeMarkers[markerEndName] : null, labelZIndex = 1 + (isHovered ? ZIndexes.Element : edgeLookup.get(id2).zIndex ?? ZIndexes.Edge);
|
|
22630
22570
|
return /* @__PURE__ */ jsxs(
|
|
22631
22571
|
"g",
|
|
22632
22572
|
{
|
|
22633
|
-
className: clsx(
|
|
22573
|
+
className: clsx(
|
|
22634
22574
|
container$4,
|
|
22635
22575
|
isDimmed && dimmed$2,
|
|
22636
22576
|
isControlPointDragging && controlDragging
|
|
22637
|
-
|
|
22577
|
+
),
|
|
22638
22578
|
"data-likec4-color": color2,
|
|
22639
22579
|
"data-edge-dir": diagramEdge.dir,
|
|
22640
22580
|
"data-edge-active": isActive,
|
|
@@ -22709,7 +22649,7 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22709
22649
|
selected: selected2 ?? !1,
|
|
22710
22650
|
stepNum: data.stepNum,
|
|
22711
22651
|
label: data.label,
|
|
22712
|
-
zIndex:
|
|
22652
|
+
zIndex: labelZIndex,
|
|
22713
22653
|
isHovered,
|
|
22714
22654
|
isActive,
|
|
22715
22655
|
isStepEdge
|
|
@@ -22760,7 +22700,7 @@ const isSame = (a2, b) => Math.abs(a2 - b) < 3.1, isSamePoint = (a2, b) => {
|
|
|
22760
22700
|
},
|
|
22761
22701
|
children: [
|
|
22762
22702
|
stepNum !== null && /* @__PURE__ */ jsx(Box, { className: stepEdgeNumber, children: stepNum }),
|
|
22763
|
-
n$
|
|
22703
|
+
n$4(label?.text) && /* @__PURE__ */ jsx(Box, { className: edgeLabelText, children: label.text })
|
|
22764
22704
|
]
|
|
22765
22705
|
}
|
|
22766
22706
|
) }), deepEqual$1);
|
|
@@ -23127,9 +23067,9 @@ const _Strength = class _Strength {
|
|
|
23127
23067
|
* @param [w] weight
|
|
23128
23068
|
* @return strength
|
|
23129
23069
|
*/
|
|
23130
|
-
static create(a2, b,
|
|
23070
|
+
static create(a2, b, c, w2 = 1) {
|
|
23131
23071
|
let result = 0;
|
|
23132
|
-
return result += Math.max(0, Math.min(1e3, a2 * w2)) * 1e6, result += Math.max(0, Math.min(1e3, b * w2)) * 1e3, result += Math.max(0, Math.min(1e3,
|
|
23072
|
+
return result += Math.max(0, Math.min(1e3, a2 * w2)) * 1e6, result += Math.max(0, Math.min(1e3, b * w2)) * 1e3, result += Math.max(0, Math.min(1e3, c * w2)), result;
|
|
23133
23073
|
}
|
|
23134
23074
|
/**
|
|
23135
23075
|
* Clip a symbolic strength to the allowed min and max.
|
|
@@ -23570,9 +23510,9 @@ class Solver {
|
|
|
23570
23510
|
_getDualEnteringSymbol(row) {
|
|
23571
23511
|
let ratio = Number.MAX_VALUE, entering = INVALID_SYMBOL, cells = row.cells();
|
|
23572
23512
|
for (let i2 = 0, n2 = cells.size(); i2 < n2; ++i2) {
|
|
23573
|
-
let pair = cells.itemAt(i2), symbol = pair.first,
|
|
23574
|
-
if (
|
|
23575
|
-
let r2 = this._objective.coefficientFor(symbol) /
|
|
23513
|
+
let pair = cells.itemAt(i2), symbol = pair.first, c = pair.second;
|
|
23514
|
+
if (c > 0 && symbol.type() !== SymbolType.Dummy) {
|
|
23515
|
+
let r2 = this._objective.coefficientFor(symbol) / c;
|
|
23576
23516
|
r2 < ratio && (ratio = r2, entering = symbol);
|
|
23577
23517
|
}
|
|
23578
23518
|
}
|
|
@@ -23626,17 +23566,17 @@ class Solver {
|
|
|
23626
23566
|
_getMarkerLeavingSymbol(marker) {
|
|
23627
23567
|
let dmax = Number.MAX_VALUE, r1 = dmax, r2 = dmax, invalid = INVALID_SYMBOL, first = invalid, second = invalid, third = invalid, rows = this._rowMap;
|
|
23628
23568
|
for (let i2 = 0, n2 = rows.size(); i2 < n2; ++i2) {
|
|
23629
|
-
let pair = rows.itemAt(i2), row = pair.second,
|
|
23630
|
-
if (
|
|
23569
|
+
let pair = rows.itemAt(i2), row = pair.second, c = row.coefficientFor(marker);
|
|
23570
|
+
if (c === 0)
|
|
23631
23571
|
continue;
|
|
23632
23572
|
let symbol = pair.first;
|
|
23633
23573
|
if (symbol.type() === SymbolType.External)
|
|
23634
23574
|
third = symbol;
|
|
23635
|
-
else if (
|
|
23636
|
-
let r3 = -row.constant() /
|
|
23575
|
+
else if (c < 0) {
|
|
23576
|
+
let r3 = -row.constant() / c;
|
|
23637
23577
|
r3 < r1 && (r1 = r3, first = symbol);
|
|
23638
23578
|
} else {
|
|
23639
|
-
let r3 = row.constant() /
|
|
23579
|
+
let r3 = row.constant() / c;
|
|
23640
23580
|
r3 < r2 && (r2 = r3, second = symbol);
|
|
23641
23581
|
}
|
|
23642
23582
|
}
|
|
@@ -23929,22 +23869,22 @@ class Compound extends Rect {
|
|
|
23929
23869
|
rect.minX,
|
|
23930
23870
|
[-1, this.minX]
|
|
23931
23871
|
), { weak } = Strength;
|
|
23932
|
-
this.solver.createConstraint(leftPadding, Operator.Ge, 40), this.solver.createConstraint(leftPadding, Operator.Eq,
|
|
23872
|
+
this.solver.createConstraint(leftPadding, Operator.Ge, 40), this.solver.createConstraint(leftPadding, Operator.Eq, 41, weak);
|
|
23933
23873
|
const topPadding = new Expression(
|
|
23934
23874
|
rect.minY,
|
|
23935
23875
|
[-1, this.minY]
|
|
23936
23876
|
);
|
|
23937
|
-
this.solver.createConstraint(topPadding, Operator.Ge,
|
|
23877
|
+
this.solver.createConstraint(topPadding, Operator.Ge, 54), this.solver.createConstraint(topPadding, Operator.Eq, 55, weak);
|
|
23938
23878
|
const rightPadding = new Expression(
|
|
23939
23879
|
this.maxX,
|
|
23940
23880
|
[-1, rect.maxX]
|
|
23941
23881
|
);
|
|
23942
|
-
this.solver.createConstraint(rightPadding, Operator.Ge, 40), this.solver.createConstraint(rightPadding, Operator.Eq,
|
|
23882
|
+
this.solver.createConstraint(rightPadding, Operator.Ge, 40), this.solver.createConstraint(rightPadding, Operator.Eq, 41, weak);
|
|
23943
23883
|
const bottomPadding = new Expression(
|
|
23944
23884
|
this.maxY,
|
|
23945
23885
|
[-1, rect.maxY]
|
|
23946
23886
|
);
|
|
23947
|
-
this.solver.createConstraint(bottomPadding, Operator.Ge, 40), this.solver.createConstraint(bottomPadding, Operator.Eq,
|
|
23887
|
+
this.solver.createConstraint(bottomPadding, Operator.Ge, 40), this.solver.createConstraint(bottomPadding, Operator.Eq, 41, weak);
|
|
23948
23888
|
}
|
|
23949
23889
|
}
|
|
23950
23890
|
class Leaf extends Rect {
|
|
@@ -23961,7 +23901,7 @@ class Leaf extends Rect {
|
|
|
23961
23901
|
parent && parent.addChild(this);
|
|
23962
23902
|
}
|
|
23963
23903
|
}
|
|
23964
|
-
function createLayoutConstraints(
|
|
23904
|
+
function createLayoutConstraints(xyflowApi, draggingNodeId) {
|
|
23965
23905
|
const { parentLookup, nodeLookup } = xyflowApi.getState(), solver = new Solver(), rects = /* @__PURE__ */ new Map(), traverse = new Array();
|
|
23966
23906
|
for (const [, xynode] of nodeLookup)
|
|
23967
23907
|
e$3(xynode.parentId) && traverse.push({
|
|
@@ -23978,36 +23918,30 @@ function createLayoutConstraints(xyflow, xyflowApi, draggingNodeId) {
|
|
|
23978
23918
|
});
|
|
23979
23919
|
}
|
|
23980
23920
|
solver.updateVariables(), solver.maxIterations = 1e3;
|
|
23921
|
+
const rectsToUpdate = [...rects.values()].filter((r2) => r2.id !== draggingNodeId);
|
|
23981
23922
|
function updateXYFlowNodes() {
|
|
23982
|
-
solver.updateVariables(),
|
|
23983
|
-
(
|
|
23984
|
-
|
|
23985
|
-
|
|
23986
|
-
|
|
23987
|
-
|
|
23988
|
-
|
|
23989
|
-
|
|
23990
|
-
|
|
23991
|
-
|
|
23992
|
-
|
|
23993
|
-
|
|
23994
|
-
|
|
23995
|
-
measured: dimensions
|
|
23996
|
-
} : dimensions.width !== n2.width || dimensions.height !== n2.height ? {
|
|
23997
|
-
...n2,
|
|
23998
|
-
width: dimensions.width,
|
|
23999
|
-
height: dimensions.height,
|
|
24000
|
-
measured: dimensions
|
|
24001
|
-
} : n2;
|
|
24002
|
-
})
|
|
23923
|
+
solver.updateVariables(), xyflowApi.getState().triggerNodeChanges(
|
|
23924
|
+
rectsToUpdate.reduce((acc, r2) => (acc.push({
|
|
23925
|
+
id: r2.id,
|
|
23926
|
+
type: "position",
|
|
23927
|
+
dragging: !1,
|
|
23928
|
+
position: r2.position,
|
|
23929
|
+
positionAbsolute: r2.positionAbsolute
|
|
23930
|
+
}), r2 instanceof Compound && acc.push({
|
|
23931
|
+
id: r2.id,
|
|
23932
|
+
type: "dimensions",
|
|
23933
|
+
setAttributes: !0,
|
|
23934
|
+
dimensions: r2.dimensions
|
|
23935
|
+
}), acc), [])
|
|
24003
23936
|
);
|
|
24004
23937
|
}
|
|
24005
23938
|
let animationFrameId = null;
|
|
24006
23939
|
function onNodeDrag(xynode) {
|
|
24007
|
-
|
|
24008
|
-
|
|
24009
|
-
|
|
24010
|
-
|
|
23940
|
+
rectsToUpdate.length !== 0 && (animationFrameId ?? (animationFrameId = requestAnimationFrame(() => {
|
|
23941
|
+
animationFrameId = null;
|
|
23942
|
+
const pos = nodeLookup.get(xynode.id).internals.positionAbsolute, rect = nonNullable(rects.get(xynode.id));
|
|
23943
|
+
solver.suggestValue(rect.minX, Math.ceil(pos.x)), solver.suggestValue(rect.minY, Math.ceil(pos.y)), updateXYFlowNodes();
|
|
23944
|
+
})));
|
|
24011
23945
|
}
|
|
24012
23946
|
return {
|
|
24013
23947
|
onNodeDrag,
|
|
@@ -24015,26 +23949,19 @@ function createLayoutConstraints(xyflow, xyflowApi, draggingNodeId) {
|
|
|
24015
23949
|
};
|
|
24016
23950
|
}
|
|
24017
23951
|
function useLayoutConstraints() {
|
|
24018
|
-
const diagramApi = useDiagramStoreApi(),
|
|
24019
|
-
x: 0,
|
|
24020
|
-
y: 0
|
|
24021
|
-
});
|
|
23952
|
+
const diagramApi = useDiagramStoreApi(), solverRef = useRef();
|
|
24022
23953
|
return useMemo(() => ({
|
|
24023
|
-
onNodeDragStart: (
|
|
24024
|
-
|
|
24025
|
-
|
|
24026
|
-
y: event.clientY
|
|
24027
|
-
};
|
|
24028
|
-
const { xyflow, cancelSaveManualLayout } = diagramApi.getState();
|
|
24029
|
-
cancelSaveManualLayout(), solverRef.current = createLayoutConstraints(xyflow, xyflowApi, xynode.id);
|
|
23954
|
+
onNodeDragStart: (_event, xynode) => {
|
|
23955
|
+
const { cancelSaveManualLayout, xystore } = diagramApi.getState();
|
|
23956
|
+
cancelSaveManualLayout(), solverRef.current = createLayoutConstraints(xystore, xynode.id);
|
|
24030
23957
|
},
|
|
24031
23958
|
onNodeDrag: (_event, xynode) => {
|
|
24032
|
-
invariant
|
|
23959
|
+
invariant(solverRef.current, "solverRef.current should be defined"), solverRef.current?.onNodeDrag(xynode);
|
|
24033
23960
|
},
|
|
24034
|
-
onNodeDragStop: (
|
|
24035
|
-
|
|
23961
|
+
onNodeDragStop: (_event, _xynode) => {
|
|
23962
|
+
diagramApi.getState().scheduleSaveManualLayout(), solverRef.current = void 0;
|
|
24036
23963
|
}
|
|
24037
|
-
}), [
|
|
23964
|
+
}), [diagramApi]);
|
|
24038
23965
|
}
|
|
24039
23966
|
/**
|
|
24040
23967
|
* @license @tabler/icons-react v3.11.0 - MIT
|
|
@@ -24286,7 +24213,7 @@ const selector$2 = (s) => {
|
|
|
24286
24213
|
function ElementLink({
|
|
24287
24214
|
element
|
|
24288
24215
|
}) {
|
|
24289
|
-
invariant
|
|
24216
|
+
invariant(element.links, "ElementLink: links are required");
|
|
24290
24217
|
const id2 = useId$2(), portalProps = useDiagramState(selector$2);
|
|
24291
24218
|
return /* @__PURE__ */ jsx("div", { className: elementLink, "data-likec4-linkid": id2, children: /* @__PURE__ */ jsxs(
|
|
24292
24219
|
HoverCard,
|
|
@@ -24638,7 +24565,7 @@ const Text = Text$1.withProps({
|
|
|
24638
24565
|
{
|
|
24639
24566
|
className: clsx(
|
|
24640
24567
|
elementDataContainer,
|
|
24641
|
-
n$
|
|
24568
|
+
n$4(elementIcon2) && hasIcon,
|
|
24642
24569
|
"likec4-element"
|
|
24643
24570
|
),
|
|
24644
24571
|
children: [
|
|
@@ -24738,18 +24665,17 @@ function useXYFlowEvents() {
|
|
|
24738
24665
|
},
|
|
24739
24666
|
onNodeClick: (event, xynode) => {
|
|
24740
24667
|
const {
|
|
24741
|
-
zoomable,
|
|
24742
|
-
fitViewEnabled,
|
|
24743
24668
|
focusedNodeId,
|
|
24744
24669
|
fitDiagram,
|
|
24745
24670
|
focusOnNode,
|
|
24746
24671
|
onNodeClick,
|
|
24672
|
+
enableFocusMode,
|
|
24747
24673
|
lastClickedNodeId,
|
|
24748
24674
|
setLastClickedNode
|
|
24749
24675
|
} = diagramApi.getState();
|
|
24750
24676
|
setLastClickedNode(xynode.id);
|
|
24751
|
-
const
|
|
24752
|
-
if (
|
|
24677
|
+
const shallChangeFocus = !!focusedNodeId && focusedNodeId !== xynode.id, clickedRecently = lastClickedNodeId === xynode.id && lastClickWasRecent();
|
|
24678
|
+
if (enableFocusMode) {
|
|
24753
24679
|
let stopPropagation = !1;
|
|
24754
24680
|
switch (!0) {
|
|
24755
24681
|
case (!focusedNodeId && clickedRecently):
|
|
@@ -24771,27 +24697,60 @@ function useXYFlowEvents() {
|
|
|
24771
24697
|
onNodeDoubleClick: (event, xynode) => {
|
|
24772
24698
|
const {
|
|
24773
24699
|
focusedNodeId,
|
|
24774
|
-
|
|
24775
|
-
fitViewEnabled,
|
|
24700
|
+
enableFocusMode,
|
|
24776
24701
|
fitDiagram,
|
|
24777
24702
|
focusOnNode,
|
|
24778
24703
|
setLastClickedNode
|
|
24779
24704
|
} = diagramApi.getState();
|
|
24780
|
-
setLastClickedNode(xynode.id), lastClickTimestamp.current = Date.now(), (focusedNodeId ||
|
|
24705
|
+
setLastClickedNode(xynode.id), lastClickTimestamp.current = Date.now(), (l$1(focusedNodeId) || enableFocusMode) && (focusedNodeId === xynode.id ? fitDiagram() : focusOnNode(xynode.id), event.stopPropagation());
|
|
24781
24706
|
},
|
|
24782
24707
|
onEdgeClick: (event, xyedge) => {
|
|
24783
|
-
diagramApi.getState().setLastClickedEdge(xyedge.id);
|
|
24784
24708
|
const {
|
|
24709
|
+
lastClickedEdgeId,
|
|
24710
|
+
isDynamicView,
|
|
24711
|
+
enableDynamicViewWalkthrough,
|
|
24712
|
+
activateDynamicStep,
|
|
24713
|
+
activeDynamicViewStep,
|
|
24785
24714
|
focusedNodeId,
|
|
24786
24715
|
focusOnNode,
|
|
24787
|
-
onEdgeClick
|
|
24716
|
+
onEdgeClick,
|
|
24717
|
+
setLastClickedEdge
|
|
24788
24718
|
} = diagramApi.getState();
|
|
24789
|
-
|
|
24719
|
+
lastClickedEdgeId !== xyedge.id && setLastClickedEdge(xyedge.id);
|
|
24720
|
+
const isNotAFirstClick = lastClickedEdgeId === xyedge.id, isEdgeOfFocusedNode = n$4(focusedNodeId) && (focusedNodeId === xyedge.source || focusedNodeId === xyedge.target);
|
|
24721
|
+
if (isDynamicView && enableDynamicViewWalkthrough && (isEdgeOfFocusedNode || isNotAFirstClick || l$1(activeDynamicViewStep))) {
|
|
24722
|
+
const nextStep = extractStep(xyedge.data.edge.id);
|
|
24723
|
+
if (activeDynamicViewStep !== nextStep) {
|
|
24724
|
+
activateDynamicStep(nextStep), event.stopPropagation();
|
|
24725
|
+
return;
|
|
24726
|
+
}
|
|
24727
|
+
}
|
|
24728
|
+
isEdgeOfFocusedNode && (focusOnNode(focusedNodeId === xyedge.source ? xyedge.target : xyedge.source), onEdgeClick || event.stopPropagation()), onEdgeClick?.({
|
|
24790
24729
|
edge: xyedge.data.edge,
|
|
24791
24730
|
xyedge,
|
|
24792
24731
|
event
|
|
24793
24732
|
});
|
|
24794
24733
|
},
|
|
24734
|
+
onEdgeDoubleClick: (event, xyedge) => {
|
|
24735
|
+
diagramApi.getState().setLastClickedEdge(xyedge.id);
|
|
24736
|
+
const {
|
|
24737
|
+
enableFocusMode,
|
|
24738
|
+
isDynamicView,
|
|
24739
|
+
enableDynamicViewWalkthrough,
|
|
24740
|
+
focusOnNode,
|
|
24741
|
+
activateDynamicStep,
|
|
24742
|
+
activeDynamicViewStep
|
|
24743
|
+
} = diagramApi.getState();
|
|
24744
|
+
if (isDynamicView && enableDynamicViewWalkthrough) {
|
|
24745
|
+
const nextStep = extractStep(xyedge.data.edge.id);
|
|
24746
|
+
activeDynamicViewStep !== nextStep && (activateDynamicStep(extractStep(xyedge.data.edge.id)), event.stopPropagation());
|
|
24747
|
+
return;
|
|
24748
|
+
}
|
|
24749
|
+
if (enableFocusMode) {
|
|
24750
|
+
focusOnNode(xyedge.source), event.stopPropagation();
|
|
24751
|
+
return;
|
|
24752
|
+
}
|
|
24753
|
+
},
|
|
24795
24754
|
onMoveEnd: (event, _viewport) => {
|
|
24796
24755
|
const viewportChanged = !!event;
|
|
24797
24756
|
viewportChanged !== diagramApi.getState().viewportChanged && diagramApi.setState({ viewportChanged }, !1, `viewport-changed: ${viewportChanged}`);
|
|
@@ -24823,15 +24782,15 @@ const nodeTypes = {
|
|
|
24823
24782
|
}, edgeTypes = {
|
|
24824
24783
|
relationship: RelationshipEdge
|
|
24825
24784
|
}, selector$1 = (s) => ({
|
|
24785
|
+
nodes: s.xynodes,
|
|
24786
|
+
edges: s.xyedges,
|
|
24787
|
+
onInit: s.onInit,
|
|
24788
|
+
onNodesChange: s.onNodesChange,
|
|
24789
|
+
onEdgesChange: s.onEdgesChange,
|
|
24826
24790
|
nodesSelectable: s.nodesSelectable || s.focusedNodeId !== null,
|
|
24827
24791
|
nodesDraggable: s.nodesDraggable,
|
|
24828
24792
|
fitView: s.fitViewEnabled,
|
|
24829
|
-
|
|
24830
|
-
minZoom: MinZoom,
|
|
24831
|
-
maxZoom: 1,
|
|
24832
|
-
padding: s.fitViewPadding,
|
|
24833
|
-
includeHiddenNodes: !0
|
|
24834
|
-
},
|
|
24793
|
+
fitViewPadding: s.fitViewPadding,
|
|
24835
24794
|
hasOnNavigateTo: !!s.onNavigateTo,
|
|
24836
24795
|
hasOnNodeClick: !!s.onNodeClick,
|
|
24837
24796
|
hasOnNodeContextMenu: !!s.onNodeContextMenu,
|
|
@@ -24839,21 +24798,28 @@ const nodeTypes = {
|
|
|
24839
24798
|
hasOnEdgeContextMenu: !!s.onEdgeContextMenu,
|
|
24840
24799
|
hasOnEdgeClick: !!s.onEdgeClick,
|
|
24841
24800
|
zoomable: s.zoomable,
|
|
24842
|
-
pannable: s.pannable
|
|
24801
|
+
pannable: s.pannable,
|
|
24802
|
+
// If fitView is not enabled
|
|
24803
|
+
// And diagram starts with a negative x or y - we need to translate viewprot
|
|
24804
|
+
translateX: s.fitViewEnabled ? 0 : -Math.min(s.view.bounds.x, 0),
|
|
24805
|
+
translateY: s.fitViewEnabled ? 0 : -Math.min(s.view.bounds.y, 0)
|
|
24843
24806
|
});
|
|
24844
24807
|
function XYFlow({
|
|
24845
24808
|
colorMode = "system",
|
|
24846
24809
|
className,
|
|
24847
24810
|
children: children2,
|
|
24848
|
-
defaultNodes,
|
|
24849
|
-
defaultEdges,
|
|
24850
24811
|
style: style2
|
|
24851
24812
|
}) {
|
|
24852
|
-
const xyflowApi = useXYStoreApi(),
|
|
24813
|
+
const xyflowApi = useXYStoreApi(), {
|
|
24814
|
+
nodes,
|
|
24815
|
+
edges,
|
|
24816
|
+
onInit,
|
|
24817
|
+
onNodesChange,
|
|
24818
|
+
onEdgesChange,
|
|
24853
24819
|
nodesSelectable,
|
|
24854
24820
|
nodesDraggable,
|
|
24855
24821
|
fitView: fitView2,
|
|
24856
|
-
|
|
24822
|
+
fitViewPadding,
|
|
24857
24823
|
pannable,
|
|
24858
24824
|
zoomable,
|
|
24859
24825
|
hasOnNodeClick,
|
|
@@ -24861,15 +24827,13 @@ function XYFlow({
|
|
|
24861
24827
|
hasOnNodeContextMenu,
|
|
24862
24828
|
hasOnCanvasContextMenu,
|
|
24863
24829
|
hasOnEdgeContextMenu,
|
|
24864
|
-
|
|
24865
|
-
|
|
24830
|
+
translateX,
|
|
24831
|
+
translateY
|
|
24832
|
+
} = useDiagramState(selector$1, shallowEqual), layoutConstraints = useLayoutConstraints(), handlers = useXYFlowEvents();
|
|
24866
24833
|
return useOnViewportChange({
|
|
24867
24834
|
onEnd: ({ x: x2, y: y2, zoom: zoom2 }) => {
|
|
24868
|
-
const
|
|
24869
|
-
|
|
24870
|
-
y: Math.round(y2)
|
|
24871
|
-
};
|
|
24872
|
-
(x2 !== rounded.x || y2 !== rounded.y) && xyflowApi.setState({ transform: [rounded.x, rounded.y, zoom2] });
|
|
24835
|
+
const roundedX = Math.round(x2), roundedY = Math.round(y2);
|
|
24836
|
+
(x2 !== roundedX || y2 !== roundedY) && xyflowApi.setState({ transform: [roundedX, roundedY, zoom2] });
|
|
24873
24837
|
}
|
|
24874
24838
|
}), /* @__PURE__ */ jsx(
|
|
24875
24839
|
index$2,
|
|
@@ -24877,8 +24841,8 @@ function XYFlow({
|
|
|
24877
24841
|
className,
|
|
24878
24842
|
style: style2,
|
|
24879
24843
|
...colorMode && { colorMode },
|
|
24880
|
-
|
|
24881
|
-
|
|
24844
|
+
nodes,
|
|
24845
|
+
edges,
|
|
24882
24846
|
nodeTypes,
|
|
24883
24847
|
edgeTypes,
|
|
24884
24848
|
zoomOnPinch: zoomable,
|
|
@@ -24889,26 +24853,43 @@ function XYFlow({
|
|
|
24889
24853
|
maxZoom: zoomable ? 1.9 : 1,
|
|
24890
24854
|
minZoom: zoomable ? MinZoom : 1,
|
|
24891
24855
|
fitView: fitView2,
|
|
24892
|
-
fitViewOptions
|
|
24856
|
+
fitViewOptions: useMemo(() => ({
|
|
24857
|
+
minZoom: MinZoom,
|
|
24858
|
+
maxZoom: 1,
|
|
24859
|
+
padding: fitViewPadding,
|
|
24860
|
+
includeHiddenNodes: !0
|
|
24861
|
+
}), [fitViewPadding]),
|
|
24862
|
+
...!fitView2 && {
|
|
24863
|
+
viewport: {
|
|
24864
|
+
x: translateX,
|
|
24865
|
+
y: translateY,
|
|
24866
|
+
zoom: 1
|
|
24867
|
+
}
|
|
24868
|
+
},
|
|
24893
24869
|
preventScrolling: zoomable || pannable,
|
|
24894
24870
|
defaultMarkerColor: "var(--xy-edge-stroke)",
|
|
24895
24871
|
noDragClassName: "nodrag",
|
|
24896
24872
|
noPanClassName: "nopan",
|
|
24897
24873
|
panOnScroll: pannable,
|
|
24898
24874
|
panOnDrag: pannable,
|
|
24875
|
+
...!pannable && {
|
|
24876
|
+
selectionKeyCode: null
|
|
24877
|
+
},
|
|
24899
24878
|
elementsSelectable: nodesSelectable,
|
|
24900
24879
|
nodesFocusable: nodesDraggable || nodesSelectable || hasOnNodeClick || hasOnNavigateTo,
|
|
24901
|
-
edgesFocusable:
|
|
24880
|
+
edgesFocusable: !1,
|
|
24902
24881
|
nodesDraggable,
|
|
24903
24882
|
...nodesDraggable && {
|
|
24904
24883
|
onNodeDragStart: layoutConstraints.onNodeDragStart,
|
|
24905
24884
|
onNodeDrag: layoutConstraints.onNodeDrag,
|
|
24906
24885
|
onNodeDragStop: layoutConstraints.onNodeDragStop
|
|
24907
24886
|
},
|
|
24887
|
+
nodeDragThreshold: 3,
|
|
24908
24888
|
zoomOnDoubleClick: !1,
|
|
24909
24889
|
elevateNodesOnSelect: !1,
|
|
24910
24890
|
selectNodesOnDrag: !1,
|
|
24911
|
-
|
|
24891
|
+
onNodesChange,
|
|
24892
|
+
onEdgesChange,
|
|
24912
24893
|
onDoubleClick: handlers.onDoubleClick,
|
|
24913
24894
|
onPaneClick: handlers.onPaneClick,
|
|
24914
24895
|
onMoveEnd: handlers.onMoveEnd,
|
|
@@ -24919,9 +24900,8 @@ function XYFlow({
|
|
|
24919
24900
|
onNodeClick: handlers.onNodeClick,
|
|
24920
24901
|
onNodeDoubleClick: handlers.onNodeDoubleClick,
|
|
24921
24902
|
onEdgeClick: handlers.onEdgeClick,
|
|
24922
|
-
|
|
24923
|
-
|
|
24924
|
-
}, [diagramApi]),
|
|
24903
|
+
onEdgeDoubleClick: handlers.onEdgeDoubleClick,
|
|
24904
|
+
onInit,
|
|
24925
24905
|
...hasOnNodeContextMenu && {
|
|
24926
24906
|
onNodeContextMenu: handlers.onNodeContextMenu
|
|
24927
24907
|
},
|
|
@@ -24936,8 +24916,19 @@ function XYFlow({
|
|
|
24936
24916
|
);
|
|
24937
24917
|
}
|
|
24938
24918
|
var panel$1 = "ufby1u0";
|
|
24919
|
+
const historySelector = (s) => ({
|
|
24920
|
+
hasStepBack: s.navigationHistoryIndex > 0,
|
|
24921
|
+
hasStepForward: s.navigationHistoryIndex < s.navigationHistory.length - 1,
|
|
24922
|
+
goBack: s.goBack,
|
|
24923
|
+
goForward: s.goForward
|
|
24924
|
+
});
|
|
24939
24925
|
function BackwardForwardPanel() {
|
|
24940
|
-
const {
|
|
24926
|
+
const {
|
|
24927
|
+
hasStepBack,
|
|
24928
|
+
hasStepForward,
|
|
24929
|
+
goBack,
|
|
24930
|
+
goForward
|
|
24931
|
+
} = useDiagramState(historySelector);
|
|
24941
24932
|
return /* @__PURE__ */ jsx(
|
|
24942
24933
|
Group,
|
|
24943
24934
|
{
|
|
@@ -24948,7 +24939,7 @@ function BackwardForwardPanel() {
|
|
|
24948
24939
|
),
|
|
24949
24940
|
gap: "xs",
|
|
24950
24941
|
children: /* @__PURE__ */ jsxs(AnimatePresence, { children: [
|
|
24951
|
-
|
|
24942
|
+
hasStepBack && /* @__PURE__ */ jsx(
|
|
24952
24943
|
m.div,
|
|
24953
24944
|
{
|
|
24954
24945
|
layout: !0,
|
|
@@ -24963,14 +24954,16 @@ function BackwardForwardPanel() {
|
|
|
24963
24954
|
{
|
|
24964
24955
|
variant: "light",
|
|
24965
24956
|
color: "gray",
|
|
24966
|
-
onClick: () =>
|
|
24957
|
+
onClick: (e2) => {
|
|
24958
|
+
e2.stopPropagation(), goBack();
|
|
24959
|
+
},
|
|
24967
24960
|
children: /* @__PURE__ */ jsx(IconChevronLeft, {})
|
|
24968
24961
|
}
|
|
24969
24962
|
)
|
|
24970
24963
|
},
|
|
24971
24964
|
"back"
|
|
24972
24965
|
),
|
|
24973
|
-
|
|
24966
|
+
hasStepForward && /* @__PURE__ */ jsx(
|
|
24974
24967
|
m.div,
|
|
24975
24968
|
{
|
|
24976
24969
|
layout: !0,
|
|
@@ -24985,7 +24978,9 @@ function BackwardForwardPanel() {
|
|
|
24985
24978
|
{
|
|
24986
24979
|
variant: "light",
|
|
24987
24980
|
color: "gray",
|
|
24988
|
-
onClick: () =>
|
|
24981
|
+
onClick: (e2) => {
|
|
24982
|
+
e2.stopPropagation(), goForward();
|
|
24983
|
+
},
|
|
24989
24984
|
children: /* @__PURE__ */ jsx(IconChevronRight, {})
|
|
24990
24985
|
}
|
|
24991
24986
|
)
|
|
@@ -25253,13 +25248,13 @@ const {
|
|
|
25253
25248
|
value: defaultTheme.elements[key].fill
|
|
25254
25249
|
})), NodeOptions = memo$1(({ selectedNodeIds }) => {
|
|
25255
25250
|
const diagramApi = useDiagramStoreApi(), nodes = useXYNodesData(selectedNodeIds);
|
|
25256
|
-
if (!i$
|
|
25251
|
+
if (!i$2(nodes, 1))
|
|
25257
25252
|
return null;
|
|
25258
25253
|
if (nodes.length !== selectedNodeIds.length)
|
|
25259
25254
|
throw new Error("NodeOptions: nodes and props.nodes should have the same length");
|
|
25260
25255
|
const showShapeOption = nodes.some((node) => node.type === "element"), [firstNode, ...rest] = nodes, showOpacityOption = firstNode.type === "compound" && (rest.length === 0 || rest.every((node) => node.type === "compound")), triggerChange = (style2) => {
|
|
25261
25256
|
const targets = nodes.map((node) => node.data.element.id);
|
|
25262
|
-
invariant
|
|
25257
|
+
invariant(i$2(targets, 1), "At least one target is required"), diagramApi.getState().triggerChangeElementStyle({
|
|
25263
25258
|
op: "change-element-style",
|
|
25264
25259
|
style: style2,
|
|
25265
25260
|
targets
|
|
@@ -25530,23 +25525,24 @@ const XYFlowInner = memo$1(function({
|
|
|
25530
25525
|
background,
|
|
25531
25526
|
controls,
|
|
25532
25527
|
showDiagramTitle,
|
|
25533
|
-
showNavigationButtons
|
|
25534
|
-
enableDynamicViewWalkthrough
|
|
25528
|
+
showNavigationButtons
|
|
25535
25529
|
}) {
|
|
25536
25530
|
const {
|
|
25537
25531
|
isDynamicView,
|
|
25538
25532
|
isDynamicViewActive,
|
|
25539
|
-
readonly
|
|
25533
|
+
readonly,
|
|
25534
|
+
enableDynamicViewWalkthrough
|
|
25540
25535
|
} = useDiagramState((s) => ({
|
|
25541
|
-
isDynamicView: s.isDynamicView
|
|
25536
|
+
isDynamicView: s.isDynamicView,
|
|
25542
25537
|
readonly: s.readonly,
|
|
25543
|
-
|
|
25538
|
+
enableDynamicViewWalkthrough: s.enableDynamicViewWalkthrough,
|
|
25539
|
+
isDynamicViewActive: l$1(s.activeDynamicViewStep)
|
|
25544
25540
|
}));
|
|
25545
25541
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25546
25542
|
background !== "transparent" && background !== "solid" && /* @__PURE__ */ jsx(XYFlowBackground, { background }),
|
|
25547
25543
|
controls && /* @__PURE__ */ jsx(Controls, { position: "bottom-right" }),
|
|
25548
25544
|
readonly === !1 && /* @__PURE__ */ jsx(OptionsPanel, {}),
|
|
25549
|
-
|
|
25545
|
+
showDiagramTitle === !0 && !isDynamicViewActive && /* @__PURE__ */ jsx(DiagramTitlePanel, {}),
|
|
25550
25546
|
isDynamicView && enableDynamicViewWalkthrough && /* @__PURE__ */ jsx(DynamicViewWalkthrough, {}),
|
|
25551
25547
|
showNavigationButtons && /* @__PURE__ */ jsx(BackwardForwardPanel, {}),
|
|
25552
25548
|
children2
|
|
@@ -25568,7 +25564,8 @@ function LikeC4Diagram({
|
|
|
25568
25564
|
showElementLinks = !0,
|
|
25569
25565
|
showDiagramTitle = !0,
|
|
25570
25566
|
showNavigationButtons = !1,
|
|
25571
|
-
enableDynamicViewWalkthrough = !
|
|
25567
|
+
enableDynamicViewWalkthrough = !1,
|
|
25568
|
+
enableFocusMode = readonly,
|
|
25572
25569
|
initialWidth,
|
|
25573
25570
|
initialHeight,
|
|
25574
25571
|
keepAspectRatio = !1,
|
|
@@ -25582,22 +25579,16 @@ function LikeC4Diagram({
|
|
|
25582
25579
|
onNavigateTo,
|
|
25583
25580
|
onNodeClick,
|
|
25584
25581
|
onNodeContextMenu,
|
|
25582
|
+
onEditorCommand,
|
|
25585
25583
|
renderIcon
|
|
25586
25584
|
}) {
|
|
25587
|
-
const initialRef = useRef(
|
|
25588
|
-
|
|
25589
|
-
|
|
25590
|
-
|
|
25591
|
-
|
|
25592
|
-
|
|
25593
|
-
|
|
25594
|
-
defaultNodes: initial.nodes,
|
|
25595
|
-
defaultEdges: initial.edges,
|
|
25596
|
-
initialWidth: initialWidth ?? view.width,
|
|
25597
|
-
initialHeight: initialHeight ?? view.height
|
|
25598
|
-
};
|
|
25599
|
-
}
|
|
25600
|
-
return /* @__PURE__ */ jsx(EnsureMantine, { children: /* @__PURE__ */ jsx(
|
|
25585
|
+
const initialRef = useRef({
|
|
25586
|
+
defaultNodes: [],
|
|
25587
|
+
defaultEdges: [],
|
|
25588
|
+
initialWidth: initialWidth ?? view.bounds.width,
|
|
25589
|
+
initialHeight: initialHeight ?? view.bounds.height
|
|
25590
|
+
});
|
|
25591
|
+
return /* @__PURE__ */ jsx(EnsureMantine, { children: /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, strict: !0, children: /* @__PURE__ */ jsx(
|
|
25601
25592
|
ReactFlowProvider,
|
|
25602
25593
|
{
|
|
25603
25594
|
fitView: fitView2,
|
|
@@ -25617,64 +25608,55 @@ function LikeC4Diagram({
|
|
|
25617
25608
|
nodesDraggable,
|
|
25618
25609
|
nodesSelectable,
|
|
25619
25610
|
experimentalEdgeEditing,
|
|
25611
|
+
enableDynamicViewWalkthrough,
|
|
25612
|
+
enableFocusMode,
|
|
25620
25613
|
renderIcon: renderIcon ?? null,
|
|
25621
|
-
onCanvasClick,
|
|
25622
|
-
onCanvasContextMenu,
|
|
25623
|
-
onEdgeClick,
|
|
25624
|
-
onEdgeContextMenu,
|
|
25625
|
-
onNodeClick,
|
|
25626
|
-
onNodeContextMenu,
|
|
25627
|
-
onChange,
|
|
25628
|
-
onNavigateTo,
|
|
25629
|
-
onCanvasDblClick,
|
|
25630
|
-
|
|
25614
|
+
onCanvasClick: onCanvasClick ?? null,
|
|
25615
|
+
onCanvasContextMenu: onCanvasContextMenu ?? null,
|
|
25616
|
+
onEdgeClick: onEdgeClick ?? null,
|
|
25617
|
+
onEdgeContextMenu: onEdgeContextMenu ?? null,
|
|
25618
|
+
onNodeClick: onNodeClick ?? null,
|
|
25619
|
+
onNodeContextMenu: onNodeContextMenu ?? null,
|
|
25620
|
+
onChange: onChange ?? null,
|
|
25621
|
+
onNavigateTo: onNavigateTo ?? null,
|
|
25622
|
+
onCanvasDblClick: onCanvasDblClick ?? null,
|
|
25623
|
+
onEditorCommand: onEditorCommand ?? null,
|
|
25624
|
+
children: /* @__PURE__ */ jsx(
|
|
25631
25625
|
LikeC4DiagramInnerMemo,
|
|
25632
25626
|
{
|
|
25633
|
-
defaultNodes: initialRef.current.defaultNodes,
|
|
25634
|
-
defaultEdges: initialRef.current.defaultEdges,
|
|
25635
|
-
fitView: fitView2,
|
|
25636
|
-
zoomable,
|
|
25637
|
-
background,
|
|
25638
25627
|
controls,
|
|
25639
|
-
|
|
25628
|
+
background,
|
|
25640
25629
|
showDiagramTitle,
|
|
25641
|
-
showNavigationButtons
|
|
25642
|
-
enableDynamicViewWalkthrough
|
|
25630
|
+
showNavigationButtons
|
|
25643
25631
|
}
|
|
25644
|
-
)
|
|
25632
|
+
)
|
|
25645
25633
|
}
|
|
25646
25634
|
)
|
|
25647
25635
|
}
|
|
25648
|
-
) });
|
|
25636
|
+
) }) });
|
|
25649
25637
|
}
|
|
25650
25638
|
const LikeC4DiagramInnerMemo = memo$1(function({
|
|
25651
25639
|
background,
|
|
25652
|
-
fitView: fitView2,
|
|
25653
|
-
zoomable,
|
|
25654
25640
|
controls,
|
|
25655
|
-
pannable,
|
|
25656
|
-
defaultNodes,
|
|
25657
|
-
defaultEdges,
|
|
25658
25641
|
showDiagramTitle,
|
|
25659
|
-
showNavigationButtons
|
|
25660
|
-
enableDynamicViewWalkthrough
|
|
25642
|
+
showNavigationButtons
|
|
25661
25643
|
}) {
|
|
25662
|
-
const
|
|
25663
|
-
|
|
25664
|
-
|
|
25665
|
-
|
|
25666
|
-
|
|
25667
|
-
|
|
25668
|
-
|
|
25669
|
-
|
|
25670
|
-
|
|
25671
|
-
|
|
25672
|
-
|
|
25644
|
+
const {
|
|
25645
|
+
isInitialized,
|
|
25646
|
+
pannable,
|
|
25647
|
+
fitView: fitView2,
|
|
25648
|
+
enableFocusMode
|
|
25649
|
+
} = useDiagramState((s) => ({
|
|
25650
|
+
isInitialized: s.initialized,
|
|
25651
|
+
zoomable: s.zoomable,
|
|
25652
|
+
pannable: s.pannable,
|
|
25653
|
+
fitView: s.fitViewEnabled,
|
|
25654
|
+
enableFocusMode: s.enableFocusMode
|
|
25655
|
+
}));
|
|
25656
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25673
25657
|
/* @__PURE__ */ jsx(
|
|
25674
25658
|
XYFlow,
|
|
25675
25659
|
{
|
|
25676
|
-
defaultNodes,
|
|
25677
|
-
defaultEdges,
|
|
25678
25660
|
className: clsx(
|
|
25679
25661
|
"likec4-diagram",
|
|
25680
25662
|
cssReactFlow,
|
|
@@ -25687,7 +25669,6 @@ const LikeC4DiagramInnerMemo = memo$1(function({
|
|
|
25687
25669
|
{
|
|
25688
25670
|
showNavigationButtons,
|
|
25689
25671
|
showDiagramTitle,
|
|
25690
|
-
enableDynamicViewWalkthrough,
|
|
25691
25672
|
background,
|
|
25692
25673
|
controls
|
|
25693
25674
|
}
|
|
@@ -25695,9 +25676,8 @@ const LikeC4DiagramInnerMemo = memo$1(function({
|
|
|
25695
25676
|
}
|
|
25696
25677
|
),
|
|
25697
25678
|
isInitialized && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25698
|
-
/* @__PURE__ */ jsx(SyncWithDiagram, {}),
|
|
25699
25679
|
fitView2 && /* @__PURE__ */ jsx(FitViewOnDiagramChange, {}),
|
|
25700
|
-
|
|
25680
|
+
enableFocusMode && /* @__PURE__ */ jsx(SelectEdgesOnNodeFocus, {})
|
|
25701
25681
|
] })
|
|
25702
25682
|
] });
|
|
25703
25683
|
}, shallowEqual), RenderIcon = ({ node }) => {
|
|
@@ -25705,7 +25685,7 @@ const LikeC4DiagramInnerMemo = memo$1(function({
|
|
|
25705
25685
|
return IconComponent ? /* @__PURE__ */ jsx(IconComponent, {}) : null;
|
|
25706
25686
|
}, fontCss = '@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-400-normal.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-500-normal.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-600-normal.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-400-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-500-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-ext-600-normal.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-400-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-500-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/cyrillic-600-normal.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-400-normal.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-500-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-500-normal.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-600-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans@latest/latin-ext-600-normal.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}', bundledStyles = () => {
|
|
25707
25687
|
let BundledStyles;
|
|
25708
|
-
return BundledStyles = `*,*:before,*:after{box-sizing:border-box}input,button,textarea,select{font:inherit}button,select{text-transform:none}body{margin:0;font-family:var(--mantine-font-family);font-size:var(--mantine-font-size-md);line-height:var(--mantine-line-height);background-color:var(--mantine-color-body);color:var(--mantine-color-text);-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}@media screen and (max-device-width: 31.25em){body{-webkit-text-size-adjust:100%}}@media (prefers-reduced-motion: reduce){[data-respect-reduced-motion] [data-reduce-motion]{transition:none;animation:none}}[data-mantine-color-scheme=light] .mantine-light-hidden,[data-mantine-color-scheme=dark] .mantine-dark-hidden{display:none}.mantine-focus-auto:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-always:focus{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-never:focus{outline:none}.mantine-active:active{transform:translateY(calc(.0625rem * var(--mantine-scale)))}:where([dir=rtl]) .mantine-rotate-rtl{transform:rotate(180deg)}:root{color-scheme:var(--mantine-color-scheme);--mantine-z-index-app: 100;--mantine-z-index-modal: 200;--mantine-z-index-popover: 300;--mantine-z-index-overlay: 400;--mantine-z-index-max: 9999;--mantine-scale: 1;--mantine-cursor-type: default;--mantine-webkit-font-smoothing: antialiased;--mantine-color-scheme: light dark;--mantine-moz-font-smoothing: grayscale;--mantine-color-white: #fff;--mantine-color-black: #000;--mantine-line-height: 1.55;--mantine-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--mantine-font-family-headings: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-heading-font-weight: 700;--mantine-radius-default: calc(.25rem * var(--mantine-scale));--mantine-primary-color-0: var(--mantine-color-blue-0);--mantine-primary-color-1: var(--mantine-color-blue-1);--mantine-primary-color-2: var(--mantine-color-blue-2);--mantine-primary-color-3: var(--mantine-color-blue-3);--mantine-primary-color-4: var(--mantine-color-blue-4);--mantine-primary-color-5: var(--mantine-color-blue-5);--mantine-primary-color-6: var(--mantine-color-blue-6);--mantine-primary-color-7: var(--mantine-color-blue-7);--mantine-primary-color-8: var(--mantine-color-blue-8);--mantine-primary-color-9: var(--mantine-color-blue-9);--mantine-primary-color-filled: var(--mantine-color-blue-filled);--mantine-primary-color-filled-hover: var(--mantine-color-blue-filled-hover);--mantine-primary-color-light: var(--mantine-color-blue-light);--mantine-primary-color-light-hover: var(--mantine-color-blue-light-hover);--mantine-primary-color-light-color: var(--mantine-color-blue-light-color);--mantine-breakpoint-xs: 36em;--mantine-breakpoint-sm: 48em;--mantine-breakpoint-md: 62em;--mantine-breakpoint-lg: 75em;--mantine-breakpoint-xl: 88em;--mantine-spacing-xs: calc(.625rem * var(--mantine-scale));--mantine-spacing-sm: calc(.75rem * var(--mantine-scale));--mantine-spacing-md: calc(1rem * var(--mantine-scale));--mantine-spacing-lg: calc(1.25rem * var(--mantine-scale));--mantine-spacing-xl: calc(2rem * var(--mantine-scale));--mantine-font-size-xs: calc(.75rem * var(--mantine-scale));--mantine-font-size-sm: calc(.875rem * var(--mantine-scale));--mantine-font-size-md: calc(1rem * var(--mantine-scale));--mantine-font-size-lg: calc(1.125rem * var(--mantine-scale));--mantine-font-size-xl: calc(1.25rem * var(--mantine-scale));--mantine-line-height-xs: 1.4;--mantine-line-height-sm: 1.45;--mantine-line-height-md: 1.55;--mantine-line-height-lg: 1.6;--mantine-line-height-xl: 1.65;--mantine-shadow-xs: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), 0 calc(.0625rem * var(--mantine-scale)) calc(.125rem * var(--mantine-scale)) rgba(0, 0, 0, .1);--mantine-shadow-sm: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(.625rem * var(--mantine-scale)) calc(.9375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.4375rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-md: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.25rem * var(--mantine-scale)) calc(1.5625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.625rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-lg: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.75rem * var(--mantine-scale)) calc(1.4375rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.75rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-shadow-xl: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(2.25rem * var(--mantine-scale)) calc(1.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(1.0625rem * var(--mantine-scale)) calc(1.0625rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-radius-xs: calc(.125rem * var(--mantine-scale));--mantine-radius-sm: calc(.25rem * var(--mantine-scale));--mantine-radius-md: calc(.5rem * var(--mantine-scale));--mantine-radius-lg: calc(1rem * var(--mantine-scale));--mantine-radius-xl: calc(2rem * var(--mantine-scale));--mantine-color-dark-0: #c9c9c9;--mantine-color-dark-1: #b8b8b8;--mantine-color-dark-2: #828282;--mantine-color-dark-3: #696969;--mantine-color-dark-4: #424242;--mantine-color-dark-5: #3b3b3b;--mantine-color-dark-6: #2e2e2e;--mantine-color-dark-7: #242424;--mantine-color-dark-8: #1f1f1f;--mantine-color-dark-9: #141414;--mantine-color-gray-0: #f8f9fa;--mantine-color-gray-1: #f1f3f5;--mantine-color-gray-2: #e9ecef;--mantine-color-gray-3: #dee2e6;--mantine-color-gray-4: #ced4da;--mantine-color-gray-5: #adb5bd;--mantine-color-gray-6: #868e96;--mantine-color-gray-7: #495057;--mantine-color-gray-8: #343a40;--mantine-color-gray-9: #212529;--mantine-color-red-0: #fff5f5;--mantine-color-red-1: #ffe3e3;--mantine-color-red-2: #ffc9c9;--mantine-color-red-3: #ffa8a8;--mantine-color-red-4: #ff8787;--mantine-color-red-5: #ff6b6b;--mantine-color-red-6: #fa5252;--mantine-color-red-7: #f03e3e;--mantine-color-red-8: #e03131;--mantine-color-red-9: #c92a2a;--mantine-color-pink-0: #fff0f6;--mantine-color-pink-1: #ffdeeb;--mantine-color-pink-2: #fcc2d7;--mantine-color-pink-3: #faa2c1;--mantine-color-pink-4: #f783ac;--mantine-color-pink-5: #f06595;--mantine-color-pink-6: #e64980;--mantine-color-pink-7: #d6336c;--mantine-color-pink-8: #c2255c;--mantine-color-pink-9: #a61e4d;--mantine-color-grape-0: #f8f0fc;--mantine-color-grape-1: #f3d9fa;--mantine-color-grape-2: #eebefa;--mantine-color-grape-3: #e599f7;--mantine-color-grape-4: #da77f2;--mantine-color-grape-5: #cc5de8;--mantine-color-grape-6: #be4bdb;--mantine-color-grape-7: #ae3ec9;--mantine-color-grape-8: #9c36b5;--mantine-color-grape-9: #862e9c;--mantine-color-violet-0: #f3f0ff;--mantine-color-violet-1: #e5dbff;--mantine-color-violet-2: #d0bfff;--mantine-color-violet-3: #b197fc;--mantine-color-violet-4: #9775fa;--mantine-color-violet-5: #845ef7;--mantine-color-violet-6: #7950f2;--mantine-color-violet-7: #7048e8;--mantine-color-violet-8: #6741d9;--mantine-color-violet-9: #5f3dc4;--mantine-color-indigo-0: #edf2ff;--mantine-color-indigo-1: #dbe4ff;--mantine-color-indigo-2: #bac8ff;--mantine-color-indigo-3: #91a7ff;--mantine-color-indigo-4: #748ffc;--mantine-color-indigo-5: #5c7cfa;--mantine-color-indigo-6: #4c6ef5;--mantine-color-indigo-7: #4263eb;--mantine-color-indigo-8: #3b5bdb;--mantine-color-indigo-9: #364fc7;--mantine-color-blue-0: #e7f5ff;--mantine-color-blue-1: #d0ebff;--mantine-color-blue-2: #a5d8ff;--mantine-color-blue-3: #74c0fc;--mantine-color-blue-4: #4dabf7;--mantine-color-blue-5: #339af0;--mantine-color-blue-6: #228be6;--mantine-color-blue-7: #1c7ed6;--mantine-color-blue-8: #1971c2;--mantine-color-blue-9: #1864ab;--mantine-color-cyan-0: #e3fafc;--mantine-color-cyan-1: #c5f6fa;--mantine-color-cyan-2: #99e9f2;--mantine-color-cyan-3: #66d9e8;--mantine-color-cyan-4: #3bc9db;--mantine-color-cyan-5: #22b8cf;--mantine-color-cyan-6: #15aabf;--mantine-color-cyan-7: #1098ad;--mantine-color-cyan-8: #0c8599;--mantine-color-cyan-9: #0b7285;--mantine-color-teal-0: #e6fcf5;--mantine-color-teal-1: #c3fae8;--mantine-color-teal-2: #96f2d7;--mantine-color-teal-3: #63e6be;--mantine-color-teal-4: #38d9a9;--mantine-color-teal-5: #20c997;--mantine-color-teal-6: #12b886;--mantine-color-teal-7: #0ca678;--mantine-color-teal-8: #099268;--mantine-color-teal-9: #087f5b;--mantine-color-green-0: #ebfbee;--mantine-color-green-1: #d3f9d8;--mantine-color-green-2: #b2f2bb;--mantine-color-green-3: #8ce99a;--mantine-color-green-4: #69db7c;--mantine-color-green-5: #51cf66;--mantine-color-green-6: #40c057;--mantine-color-green-7: #37b24d;--mantine-color-green-8: #2f9e44;--mantine-color-green-9: #2b8a3e;--mantine-color-lime-0: #f4fce3;--mantine-color-lime-1: #e9fac8;--mantine-color-lime-2: #d8f5a2;--mantine-color-lime-3: #c0eb75;--mantine-color-lime-4: #a9e34b;--mantine-color-lime-5: #94d82d;--mantine-color-lime-6: #82c91e;--mantine-color-lime-7: #74b816;--mantine-color-lime-8: #66a80f;--mantine-color-lime-9: #5c940d;--mantine-color-yellow-0: #fff9db;--mantine-color-yellow-1: #fff3bf;--mantine-color-yellow-2: #ffec99;--mantine-color-yellow-3: #ffe066;--mantine-color-yellow-4: #ffd43b;--mantine-color-yellow-5: #fcc419;--mantine-color-yellow-6: #fab005;--mantine-color-yellow-7: #f59f00;--mantine-color-yellow-8: #f08c00;--mantine-color-yellow-9: #e67700;--mantine-color-orange-0: #fff4e6;--mantine-color-orange-1: #ffe8cc;--mantine-color-orange-2: #ffd8a8;--mantine-color-orange-3: #ffc078;--mantine-color-orange-4: #ffa94d;--mantine-color-orange-5: #ff922b;--mantine-color-orange-6: #fd7e14;--mantine-color-orange-7: #f76707;--mantine-color-orange-8: #e8590c;--mantine-color-orange-9: #d9480f;--mantine-h1-font-size: calc(2.125rem * var(--mantine-scale));--mantine-h1-line-height: 1.3;--mantine-h1-font-weight: 700;--mantine-h2-font-size: calc(1.625rem * var(--mantine-scale));--mantine-h2-line-height: 1.35;--mantine-h2-font-weight: 700;--mantine-h3-font-size: calc(1.375rem * var(--mantine-scale));--mantine-h3-line-height: 1.4;--mantine-h3-font-weight: 700;--mantine-h4-font-size: calc(1.125rem * var(--mantine-scale));--mantine-h4-line-height: 1.45;--mantine-h4-font-weight: 700;--mantine-h5-font-size: calc(1rem * var(--mantine-scale));--mantine-h5-line-height: 1.5;--mantine-h5-font-weight: 700;--mantine-h6-font-size: calc(.875rem * var(--mantine-scale));--mantine-h6-line-height: 1.5;--mantine-h6-font-weight: 700}:root[data-mantine-color-scheme=dark]{--mantine-color-scheme: dark;--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-bright: var(--mantine-color-white);--mantine-color-text: var(--mantine-color-dark-0);--mantine-color-body: var(--mantine-color-dark-7);--mantine-color-error: var(--mantine-color-red-8);--mantine-color-placeholder: var(--mantine-color-dark-3);--mantine-color-anchor: var(--mantine-color-blue-4);--mantine-color-default: var(--mantine-color-dark-6);--mantine-color-default-hover: var(--mantine-color-dark-5);--mantine-color-default-color: var(--mantine-color-white);--mantine-color-default-border: var(--mantine-color-dark-4);--mantine-color-dimmed: var(--mantine-color-dark-2);--mantine-color-dark-text: var(--mantine-color-dark-4);--mantine-color-dark-filled: var(--mantine-color-dark-8);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(36, 36, 36, .15);--mantine-color-dark-light-hover: rgba(36, 36, 36, .2);--mantine-color-dark-light-color: var(--mantine-color-dark-3);--mantine-color-dark-outline: var(--mantine-color-dark-4);--mantine-color-dark-outline-hover: rgba(36, 36, 36, .05);--mantine-color-gray-text: var(--mantine-color-gray-4);--mantine-color-gray-filled: var(--mantine-color-gray-8);--mantine-color-gray-filled-hover: var(--mantine-color-gray-9);--mantine-color-gray-light: rgba(134, 142, 150, .15);--mantine-color-gray-light-hover: rgba(134, 142, 150, .2);--mantine-color-gray-light-color: var(--mantine-color-gray-3);--mantine-color-gray-outline: var(--mantine-color-gray-4);--mantine-color-gray-outline-hover: rgba(206, 212, 218, .05);--mantine-color-red-text: var(--mantine-color-red-4);--mantine-color-red-filled: var(--mantine-color-red-8);--mantine-color-red-filled-hover: var(--mantine-color-red-9);--mantine-color-red-light: rgba(250, 82, 82, .15);--mantine-color-red-light-hover: rgba(250, 82, 82, .2);--mantine-color-red-light-color: var(--mantine-color-red-3);--mantine-color-red-outline: var(--mantine-color-red-4);--mantine-color-red-outline-hover: rgba(255, 135, 135, .05);--mantine-color-pink-text: var(--mantine-color-pink-4);--mantine-color-pink-filled: var(--mantine-color-pink-8);--mantine-color-pink-filled-hover: var(--mantine-color-pink-9);--mantine-color-pink-light: rgba(230, 73, 128, .15);--mantine-color-pink-light-hover: rgba(230, 73, 128, .2);--mantine-color-pink-light-color: var(--mantine-color-pink-3);--mantine-color-pink-outline: var(--mantine-color-pink-4);--mantine-color-pink-outline-hover: rgba(247, 131, 172, .05);--mantine-color-grape-text: var(--mantine-color-grape-4);--mantine-color-grape-filled: var(--mantine-color-grape-8);--mantine-color-grape-filled-hover: var(--mantine-color-grape-9);--mantine-color-grape-light: rgba(190, 75, 219, .15);--mantine-color-grape-light-hover: rgba(190, 75, 219, .2);--mantine-color-grape-light-color: var(--mantine-color-grape-3);--mantine-color-grape-outline: var(--mantine-color-grape-4);--mantine-color-grape-outline-hover: rgba(218, 119, 242, .05);--mantine-color-violet-text: var(--mantine-color-violet-4);--mantine-color-violet-filled: var(--mantine-color-violet-8);--mantine-color-violet-filled-hover: var(--mantine-color-violet-9);--mantine-color-violet-light: rgba(121, 80, 242, .15);--mantine-color-violet-light-hover: rgba(121, 80, 242, .2);--mantine-color-violet-light-color: var(--mantine-color-violet-3);--mantine-color-violet-outline: var(--mantine-color-violet-4);--mantine-color-violet-outline-hover: rgba(151, 117, 250, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-4);--mantine-color-indigo-filled: var(--mantine-color-indigo-8);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-9);--mantine-color-indigo-light: rgba(76, 110, 245, .15);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-3);--mantine-color-indigo-outline: var(--mantine-color-indigo-4);--mantine-color-indigo-outline-hover: rgba(116, 143, 252, .05);--mantine-color-blue-text: var(--mantine-color-blue-4);--mantine-color-blue-filled: var(--mantine-color-blue-8);--mantine-color-blue-filled-hover: var(--mantine-color-blue-9);--mantine-color-blue-light: rgba(34, 139, 230, .15);--mantine-color-blue-light-hover: rgba(34, 139, 230, .2);--mantine-color-blue-light-color: var(--mantine-color-blue-3);--mantine-color-blue-outline: var(--mantine-color-blue-4);--mantine-color-blue-outline-hover: rgba(77, 171, 247, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-4);--mantine-color-cyan-filled: var(--mantine-color-cyan-8);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-9);--mantine-color-cyan-light: rgba(21, 170, 191, .15);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-3);--mantine-color-cyan-outline: var(--mantine-color-cyan-4);--mantine-color-cyan-outline-hover: rgba(59, 201, 219, .05);--mantine-color-teal-text: var(--mantine-color-teal-4);--mantine-color-teal-filled: var(--mantine-color-teal-8);--mantine-color-teal-filled-hover: var(--mantine-color-teal-9);--mantine-color-teal-light: rgba(18, 184, 134, .15);--mantine-color-teal-light-hover: rgba(18, 184, 134, .2);--mantine-color-teal-light-color: var(--mantine-color-teal-3);--mantine-color-teal-outline: var(--mantine-color-teal-4);--mantine-color-teal-outline-hover: rgba(56, 217, 169, .05);--mantine-color-green-text: var(--mantine-color-green-4);--mantine-color-green-filled: var(--mantine-color-green-8);--mantine-color-green-filled-hover: var(--mantine-color-green-9);--mantine-color-green-light: rgba(64, 192, 87, .15);--mantine-color-green-light-hover: rgba(64, 192, 87, .2);--mantine-color-green-light-color: var(--mantine-color-green-3);--mantine-color-green-outline: var(--mantine-color-green-4);--mantine-color-green-outline-hover: rgba(105, 219, 124, .05);--mantine-color-lime-text: var(--mantine-color-lime-4);--mantine-color-lime-filled: var(--mantine-color-lime-8);--mantine-color-lime-filled-hover: var(--mantine-color-lime-9);--mantine-color-lime-light: rgba(130, 201, 30, .15);--mantine-color-lime-light-hover: rgba(130, 201, 30, .2);--mantine-color-lime-light-color: var(--mantine-color-lime-3);--mantine-color-lime-outline: var(--mantine-color-lime-4);--mantine-color-lime-outline-hover: rgba(169, 227, 75, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-4);--mantine-color-yellow-filled: var(--mantine-color-yellow-8);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-9);--mantine-color-yellow-light: rgba(250, 176, 5, .15);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-3);--mantine-color-yellow-outline: var(--mantine-color-yellow-4);--mantine-color-yellow-outline-hover: rgba(255, 212, 59, .05);--mantine-color-orange-text: var(--mantine-color-orange-4);--mantine-color-orange-filled: var(--mantine-color-orange-8);--mantine-color-orange-filled-hover: var(--mantine-color-orange-9);--mantine-color-orange-light: rgba(253, 126, 20, .15);--mantine-color-orange-light-hover: rgba(253, 126, 20, .2);--mantine-color-orange-light-color: var(--mantine-color-orange-3);--mantine-color-orange-outline: var(--mantine-color-orange-4);--mantine-color-orange-outline-hover: rgba(255, 169, 77, .05)}:root[data-mantine-color-scheme=light]{--mantine-color-scheme: light;--mantine-color-bright: var(--mantine-color-black);--mantine-color-text: var(--mantine-color-black);--mantine-color-body: var(--mantine-color-white);--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-error: var(--mantine-color-red-6);--mantine-color-placeholder: var(--mantine-color-gray-5);--mantine-color-anchor: var(--mantine-primary-color-filled);--mantine-color-default: var(--mantine-color-white);--mantine-color-default-hover: var(--mantine-color-gray-0);--mantine-color-default-color: var(--mantine-color-gray-9);--mantine-color-default-border: var(--mantine-color-gray-4);--mantine-color-dimmed: var(--mantine-color-gray-6);--mantine-color-dark-text: var(--mantine-color-dark-filled);--mantine-color-dark-filled: var(--mantine-color-dark-6);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(56, 56, 56, .1);--mantine-color-dark-light-hover: rgba(56, 56, 56, .12);--mantine-color-dark-light-color: var(--mantine-color-dark-6);--mantine-color-dark-outline: var(--mantine-color-dark-6);--mantine-color-dark-outline-hover: rgba(56, 56, 56, .05);--mantine-color-gray-text: var(--mantine-color-gray-filled);--mantine-color-gray-filled: var(--mantine-color-gray-6);--mantine-color-gray-filled-hover: var(--mantine-color-gray-7);--mantine-color-gray-light: rgba(134, 142, 150, .1);--mantine-color-gray-light-hover: rgba(134, 142, 150, .12);--mantine-color-gray-light-color: var(--mantine-color-gray-6);--mantine-color-gray-outline: var(--mantine-color-gray-6);--mantine-color-gray-outline-hover: rgba(134, 142, 150, .05);--mantine-color-red-text: var(--mantine-color-red-filled);--mantine-color-red-filled: var(--mantine-color-red-6);--mantine-color-red-filled-hover: var(--mantine-color-red-7);--mantine-color-red-light: rgba(250, 82, 82, .1);--mantine-color-red-light-hover: rgba(250, 82, 82, .12);--mantine-color-red-light-color: var(--mantine-color-red-6);--mantine-color-red-outline: var(--mantine-color-red-6);--mantine-color-red-outline-hover: rgba(250, 82, 82, .05);--mantine-color-pink-text: var(--mantine-color-pink-filled);--mantine-color-pink-filled: var(--mantine-color-pink-6);--mantine-color-pink-filled-hover: var(--mantine-color-pink-7);--mantine-color-pink-light: rgba(230, 73, 128, .1);--mantine-color-pink-light-hover: rgba(230, 73, 128, .12);--mantine-color-pink-light-color: var(--mantine-color-pink-6);--mantine-color-pink-outline: var(--mantine-color-pink-6);--mantine-color-pink-outline-hover: rgba(230, 73, 128, .05);--mantine-color-grape-text: var(--mantine-color-grape-filled);--mantine-color-grape-filled: var(--mantine-color-grape-6);--mantine-color-grape-filled-hover: var(--mantine-color-grape-7);--mantine-color-grape-light: rgba(190, 75, 219, .1);--mantine-color-grape-light-hover: rgba(190, 75, 219, .12);--mantine-color-grape-light-color: var(--mantine-color-grape-6);--mantine-color-grape-outline: var(--mantine-color-grape-6);--mantine-color-grape-outline-hover: rgba(190, 75, 219, .05);--mantine-color-violet-text: var(--mantine-color-violet-filled);--mantine-color-violet-filled: var(--mantine-color-violet-6);--mantine-color-violet-filled-hover: var(--mantine-color-violet-7);--mantine-color-violet-light: rgba(121, 80, 242, .1);--mantine-color-violet-light-hover: rgba(121, 80, 242, .12);--mantine-color-violet-light-color: var(--mantine-color-violet-6);--mantine-color-violet-outline: var(--mantine-color-violet-6);--mantine-color-violet-outline-hover: rgba(121, 80, 242, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-filled);--mantine-color-indigo-filled: var(--mantine-color-indigo-6);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-7);--mantine-color-indigo-light: rgba(76, 110, 245, .1);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .12);--mantine-color-indigo-light-color: var(--mantine-color-indigo-6);--mantine-color-indigo-outline: var(--mantine-color-indigo-6);--mantine-color-indigo-outline-hover: rgba(76, 110, 245, .05);--mantine-color-blue-text: var(--mantine-color-blue-filled);--mantine-color-blue-filled: var(--mantine-color-blue-6);--mantine-color-blue-filled-hover: var(--mantine-color-blue-7);--mantine-color-blue-light: rgba(34, 139, 230, .1);--mantine-color-blue-light-hover: rgba(34, 139, 230, .12);--mantine-color-blue-light-color: var(--mantine-color-blue-6);--mantine-color-blue-outline: var(--mantine-color-blue-6);--mantine-color-blue-outline-hover: rgba(34, 139, 230, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-filled);--mantine-color-cyan-filled: var(--mantine-color-cyan-6);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-7);--mantine-color-cyan-light: rgba(21, 170, 191, .1);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .12);--mantine-color-cyan-light-color: var(--mantine-color-cyan-6);--mantine-color-cyan-outline: var(--mantine-color-cyan-6);--mantine-color-cyan-outline-hover: rgba(21, 170, 191, .05);--mantine-color-teal-text: var(--mantine-color-teal-filled);--mantine-color-teal-filled: var(--mantine-color-teal-6);--mantine-color-teal-filled-hover: var(--mantine-color-teal-7);--mantine-color-teal-light: rgba(18, 184, 134, .1);--mantine-color-teal-light-hover: rgba(18, 184, 134, .12);--mantine-color-teal-light-color: var(--mantine-color-teal-6);--mantine-color-teal-outline: var(--mantine-color-teal-6);--mantine-color-teal-outline-hover: rgba(18, 184, 134, .05);--mantine-color-green-text: var(--mantine-color-green-filled);--mantine-color-green-filled: var(--mantine-color-green-6);--mantine-color-green-filled-hover: var(--mantine-color-green-7);--mantine-color-green-light: rgba(64, 192, 87, .1);--mantine-color-green-light-hover: rgba(64, 192, 87, .12);--mantine-color-green-light-color: var(--mantine-color-green-6);--mantine-color-green-outline: var(--mantine-color-green-6);--mantine-color-green-outline-hover: rgba(64, 192, 87, .05);--mantine-color-lime-text: var(--mantine-color-lime-filled);--mantine-color-lime-filled: var(--mantine-color-lime-6);--mantine-color-lime-filled-hover: var(--mantine-color-lime-7);--mantine-color-lime-light: rgba(130, 201, 30, .1);--mantine-color-lime-light-hover: rgba(130, 201, 30, .12);--mantine-color-lime-light-color: var(--mantine-color-lime-6);--mantine-color-lime-outline: var(--mantine-color-lime-6);--mantine-color-lime-outline-hover: rgba(130, 201, 30, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-filled);--mantine-color-yellow-filled: var(--mantine-color-yellow-6);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-7);--mantine-color-yellow-light: rgba(250, 176, 5, .1);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .12);--mantine-color-yellow-light-color: var(--mantine-color-yellow-6);--mantine-color-yellow-outline: var(--mantine-color-yellow-6);--mantine-color-yellow-outline-hover: rgba(250, 176, 5, .05);--mantine-color-orange-text: var(--mantine-color-orange-filled);--mantine-color-orange-filled: var(--mantine-color-orange-6);--mantine-color-orange-filled-hover: var(--mantine-color-orange-7);--mantine-color-orange-light: rgba(253, 126, 20, .1);--mantine-color-orange-light-hover: rgba(253, 126, 20, .12);--mantine-color-orange-light-color: var(--mantine-color-orange-6);--mantine-color-orange-outline: var(--mantine-color-orange-6);--mantine-color-orange-outline-hover: rgba(253, 126, 20, .05)}.m_d57069b5{--scrollarea-scrollbar-size: calc(.75rem * var(--mantine-scale));position:relative;overflow:hidden}.m_c0783ff9{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;width:100%;height:100%}.m_c0783ff9::-webkit-scrollbar{display:none}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=y]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=y]){padding-inline-end:var(--scrollarea-scrollbar-size);padding-inline-start:unset}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=x]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=x]){padding-bottom:var(--scrollarea-scrollbar-size)}.m_f8f631dd{min-width:100%;display:table}.m_c44ba933{-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;box-sizing:border-box;transition:background-color .15s ease,opacity .15s ease;padding:calc(var(--scrollarea-scrollbar-size) / 5);display:flex;background-color:transparent;flex-direction:row}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_c44ba933:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:hover>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover>.m_d8b5e363{background-color:#ffffff80}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_c44ba933:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:active>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active>.m_d8b5e363{background-color:#ffffff80}}.m_c44ba933:where([data-hidden],[data-state=hidden]){display:none}.m_c44ba933:where([data-orientation=vertical]){width:var(--scrollarea-scrollbar-size);top:0;bottom:var(--sa-corner-width);inset-inline-end:0}.m_c44ba933:where([data-orientation=horizontal]){height:var(--scrollarea-scrollbar-size);flex-direction:column;bottom:0;inset-inline-start:0;inset-inline-end:var(--sa-corner-width)}.m_d8b5e363{flex:1;border-radius:var(--scrollarea-scrollbar-size);position:relative;transition:background-color .15s ease;overflow:hidden}.m_d8b5e363:before{content:'""';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:calc(2.75rem * var(--mantine-scale));min-height:calc(2.75rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d8b5e363{background-color:#0006}:where([data-mantine-color-scheme=dark]) .m_d8b5e363{background-color:#fff6}.m_21657268{position:absolute;opacity:0;transition:opacity .15s ease;display:block;inset-inline-end:0;bottom:0}:where([data-mantine-color-scheme=light]) .m_21657268{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_21657268{background-color:var(--mantine-color-dark-8)}.m_21657268:where([data-hovered]){opacity:1}.m_21657268:where([data-hidden]){display:none}.m_87cf2631{background-color:transparent;cursor:pointer;border:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--mantine-font-size-md);text-align:left;text-decoration:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where([dir=rtl]) .m_87cf2631{text-align:right}.m_515a97f8{border:0;clip:rect(0 0 0 0);height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));margin:calc(-.0625rem * var(--mantine-scale));overflow:hidden;padding:0;position:absolute;white-space:nowrap}.m_1b7284a3{--paper-radius: var(--mantine-radius-default);outline:0;-webkit-tap-highlight-color:transparent;display:block;touch-action:manipulation;text-decoration:none;border-radius:var(--paper-radius);box-shadow:var(--paper-shadow);background-color:var(--mantine-color-body)}:where([data-mantine-color-scheme=light]) .m_1b7284a3:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_1b7284a3:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4)}.m_38a85659{position:absolute;border:1px solid var(--popover-border-color);padding:var(--mantine-spacing-sm) var(--mantine-spacing-md);box-shadow:var(--popover-shadow, none);border-radius:var(--popover-radius, var(--mantine-radius-default))}.m_38a85659:where([data-fixed]){position:fixed}.m_38a85659:focus{outline:none}:where([data-mantine-color-scheme=light]) .m_38a85659{--popover-border-color: var(--mantine-color-gray-2);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_38a85659{--popover-border-color: var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_a31dc6c1{background-color:inherit;border:1px solid var(--popover-border-color);z-index:1}.m_5ae2e3c{--loader-size-xs: calc(1.125rem * var(--mantine-scale));--loader-size-sm: calc(1.375rem * var(--mantine-scale));--loader-size-md: calc(2.25rem * var(--mantine-scale));--loader-size-lg: calc(2.75rem * var(--mantine-scale));--loader-size-xl: calc(3.625rem * var(--mantine-scale));--loader-size: var(--loader-size-md);--loader-color: var(--mantine-primary-color-filled)}@keyframes m_5d2b3b9d{0%{transform:scale(.6);opacity:0}50%,to{transform:scale(1)}}.m_7a2bd4cd{position:relative;width:var(--loader-size);height:var(--loader-size);display:flex;gap:calc(var(--loader-size) / 5)}.m_870bb79{flex:1;background:var(--loader-color);animation:m_5d2b3b9d 1.2s cubic-bezier(0,.5,.5,1) infinite;border-radius:calc(.125rem * var(--mantine-scale))}.m_870bb79:nth-of-type(1){animation-delay:-.24s}.m_870bb79:nth-of-type(2){animation-delay:-.12s}.m_870bb79:nth-of-type(3){animation-delay:0}@keyframes m_aac34a1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.5}}.m_4e3f22d7{display:flex;justify-content:center;align-items:center;gap:calc(var(--loader-size) / 10);position:relative;width:var(--loader-size);height:var(--loader-size)}.m_870c4af{width:calc(var(--loader-size) / 3 - var(--loader-size) / 15);height:calc(var(--loader-size) / 3 - var(--loader-size) / 15);border-radius:50%;background:var(--loader-color);animation:m_aac34a1 .8s infinite linear}.m_870c4af:nth-child(2){animation-delay:.4s}@keyframes m_f8e89c4b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.m_b34414df{display:inline-block;width:var(--loader-size);height:var(--loader-size)}.m_b34414df:after{content:"";display:block;width:var(--loader-size);height:var(--loader-size);border-radius:calc(625rem * var(--mantine-scale));border-width:calc(var(--loader-size) / 8);border-style:solid;border-color:var(--loader-color) var(--loader-color) var(--loader-color) transparent;animation:m_f8e89c4b 1.2s linear infinite}.m_8d3f4000{--ai-size-xs: calc(1.125rem * var(--mantine-scale));--ai-size-sm: calc(1.375rem * var(--mantine-scale));--ai-size-md: calc(1.75rem * var(--mantine-scale));--ai-size-lg: calc(2.125rem * var(--mantine-scale));--ai-size-xl: calc(2.75rem * var(--mantine-scale));--ai-size-input-xs: calc(1.875rem * var(--mantine-scale));--ai-size-input-sm: calc(2.25rem * var(--mantine-scale));--ai-size-input-md: calc(2.625rem * var(--mantine-scale));--ai-size-input-lg: calc(3.125rem * var(--mantine-scale));--ai-size-input-xl: calc(3.75rem * var(--mantine-scale));--ai-size: var(--ai-size-md);--ai-color: var(--mantine-color-white);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;width:var(--ai-size);height:var(--ai-size);min-width:var(--ai-size);min-height:var(--ai-size);border-radius:var(--ai-radius, var(--mantine-radius-default));background:var(--ai-bg, var(--mantine-primary-color-filled));color:var(--ai-color, var(--mantine-color-white));border:var(--ai-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);cursor:pointer}@media (hover: hover){.m_8d3f4000:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}@media (hover: none){.m_8d3f4000:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}.m_8d3f4000[data-loading]{cursor:not-allowed}.m_8d3f4000[data-loading] .m_8d3afb97{opacity:0;transform:translateY(100%)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-gray-1);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])):active{transform:none}.m_302b9fb1{inset:calc(-.0625rem * var(--mantine-scale));position:absolute;border-radius:var(--ai-radius, var(--mantine-radius-default));display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_302b9fb1{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_302b9fb1{background-color:#00000026}.m_1a0f1b21{--ai-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_1a0f1b21 :where(*):focus{position:relative;z-index:1}.m_1a0f1b21[data-orientation=horizontal]{flex-direction:row}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical]{flex-direction:column}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2);border-top-width:calc(var(--ai-border-width) / 2)}.m_8d3afb97{display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .1s ease;width:100%;height:100%}.m_86a44da5{--cb-size-xs: calc(1.125rem * var(--mantine-scale));--cb-size-sm: calc(1.375rem * var(--mantine-scale));--cb-size-md: calc(1.75rem * var(--mantine-scale));--cb-size-lg: calc(2.125rem * var(--mantine-scale));--cb-size-xl: calc(2.75rem * var(--mantine-scale));--cb-size: var(--cb-size-md);--cb-icon-size: 70%;--cb-radius: var(--mantine-radius-default);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--cb-size);height:var(--cb-size);min-width:var(--cb-size);min-height:var(--cb-size);border-radius:var(--cb-radius)}:where([data-mantine-color-scheme=light]) .m_86a44da5{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_86a44da5{color:var(--mantine-color-dark-1)}.m_86a44da5[data-disabled],.m_86a44da5:disabled{cursor:not-allowed;opacity:.6}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-dark-6)}}.m_4081bf90{display:flex;flex-direction:row;flex-wrap:var(--group-wrap, wrap);justify-content:var(--group-justify, flex-start);align-items:var(--group-align, center);gap:var(--group-gap, var(--mantine-spacing-md))}.m_4081bf90:where([data-grow])>*{flex-grow:1;max-width:var(--group-child-width)}.m_9814e45f{inset:0;position:absolute;background:var(--overlay-bg, rgba(0, 0, 0, .6));backdrop-filter:var(--overlay-filter);-webkit-backdrop-filter:var(--overlay-filter);border-radius:var(--overlay-radius, 0);z-index:var(--overlay-z-index)}.m_9814e45f:where([data-fixed]){position:fixed}.m_9814e45f:where([data-center]){display:flex;align-items:center;justify-content:center}.m_615af6c9{line-height:1;padding:0;margin:0;font-weight:400;font-size:var(--mantine-font-size-md)}.m_b5489c3c{display:flex;justify-content:space-between;align-items:center;padding:var(--mb-padding, var(--mantine-spacing-md));padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) - calc(.3125rem * var(--mantine-scale)));position:sticky;top:0;background-color:var(--mantine-color-body);z-index:1000;min-height:calc(3.75rem * var(--mantine-scale));transition:padding-inline-end .1s}.m_60c222c7{position:fixed;width:100%;top:0;bottom:0;z-index:var(--mb-z-index);pointer-events:none}.m_fd1ab0aa{pointer-events:all;box-shadow:var(--mb-shadow, var(--mantine-shadow-xl))}.m_fd1ab0aa [data-mantine-scrollbar]{z-index:1001}.m_fd1ab0aa:has([data-mantine-scrollbar][data-state=visible]) .m_b5489c3c{padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(.3125rem * var(--mantine-scale)))}.m_606cb269{margin-inline-start:auto}.m_5df29311{padding:var(--mb-padding, var(--mantine-spacing-md));padding-top:var(--mb-padding, var(--mantine-spacing-md))}.m_5df29311:where(:not(:only-child)){padding-top:0}.m_6c018570{position:relative;margin-top:var(--input-margin-top, 0rem);margin-bottom:var(--input-margin-bottom, 0rem);--input-height-xs: calc(1.875rem * var(--mantine-scale));--input-height-sm: calc(2.25rem * var(--mantine-scale));--input-height-md: calc(2.625rem * var(--mantine-scale));--input-height-lg: calc(3.125rem * var(--mantine-scale));--input-height-xl: calc(3.75rem * var(--mantine-scale));--input-padding-y-xs: calc(.3125rem * var(--mantine-scale));--input-padding-y-sm: calc(.375rem * var(--mantine-scale));--input-padding-y-md: calc(.5rem * var(--mantine-scale));--input-padding-y-lg: calc(.625rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-height: var(--input-height-sm);--input-radius: var(--mantine-radius-default);--input-cursor: text;--input-text-align: left;--input-line-height: calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));--input-padding: calc(var(--input-height) / 3);--input-padding-inline-start: var(--input-padding);--input-padding-inline-end: var(--input-padding);--input-placeholder-color: var(--mantine-color-placeholder);--input-color: var(--mantine-color-text);--input-left-section-size: var(--input-left-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))));--input-right-section-size: var( --input-right-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))) );--input-size: var(--input-height);--section-y: calc(.0625rem * var(--mantine-scale));--left-section-start: calc(.0625rem * var(--mantine-scale));--left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);--right-section-end: calc(.0625rem * var(--mantine-scale));--right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0}.m_6c018570[data-variant=unstyled]{--input-padding: 0;--input-padding-y: 0;--input-padding-inline-start: 0;--input-padding-inline-end: 0}.m_6c018570[data-pointer]{--input-cursor: pointer}.m_6c018570[data-multiline]{--input-padding-y-xs: calc(.28125rem * var(--mantine-scale));--input-padding-y-sm: calc(.34375rem * var(--mantine-scale));--input-padding-y-md: calc(.4375rem * var(--mantine-scale));--input-padding-y-lg: calc(.59375rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-size: auto;--input-line-height: var(--mantine-line-height);--input-padding-y: var(--input-padding-y-sm)}.m_6c018570[data-with-left-section]{--input-padding-inline-start: var(--input-left-section-size)}.m_6c018570[data-with-right-section]{--input-padding-inline-end: var(--input-right-section-size)}[data-mantine-color-scheme=light] .m_6c018570{--input-disabled-bg: var(--mantine-color-gray-1);--input-disabled-color: var(--mantine-color-gray-6)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-gray-4);--input-bg: var(--mantine-color-white);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-gray-1);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme=dark] .m_6c018570{--input-disabled-bg: var(--mantine-color-dark-6);--input-disabled-color: var(--mantine-color-dark-2)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-dark-4);--input-bg: var(--mantine-color-dark-6);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-dark-5);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme] .m_6c018570[data-error]:not([data-variant=unstyled]){--input-bd: var(--mantine-color-error)}[data-mantine-color-scheme] .m_6c018570[data-error]{--input-color: var(--mantine-color-error);--input-placeholder-color: var(--mantine-color-error);--input-section-color: var(--mantine-color-error)}:where([dir=rtl]) .m_6c018570{--input-text-align: right;--left-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;--right-section-border-radius: var(--input-radius) 0 0 var(--input-radius)}.m_8fb7ebe7{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:var(--input-resize, none);display:block;width:100%;transition:border-color .1s ease;text-align:var(--input-text-align);color:var(--input-color);border:calc(.0625rem * var(--mantine-scale)) solid var(--input-bd);background-color:var(--input-bg);font-family:var(--input-font-family, var(--mantine-font-family));height:var(--input-size);min-height:var(--input-height);line-height:var(--input-line-height);font-size:var(--input-fz, var(--input-fz, var(--mantine-font-size-sm)));border-radius:var(--input-radius);padding-inline-start:var(--input-padding-inline-start);padding-inline-end:var(--input-padding-inline-end);padding-top:var(--input-padding-y, 0rem);padding-bottom:var(--input-padding-y, 0rem);cursor:var(--input-cursor);overflow:var(--input-overflow)}.m_8fb7ebe7[data-no-overflow]{--input-overflow: hidden}.m_8fb7ebe7[data-monospace]{--input-font-family: var(--mantine-font-family-monospace);--input-fz: calc(var(--input-fz, var(--mantine-font-size-sm)) - calc(.125rem * var(--mantine-scale)))}.m_8fb7ebe7:focus,.m_8fb7ebe7:focus-within{outline:none;--input-bd: var(--input-bd-focus)}[data-error] .m_8fb7ebe7:focus,[data-error] .m_8fb7ebe7:focus-within{--input-bd: var(--mantine-color-error)}.m_8fb7ebe7::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_8fb7ebe7::placeholder{color:var(--input-placeholder-color);opacity:1}.m_8fb7ebe7::-webkit-inner-spin-button,.m_8fb7ebe7::-webkit-outer-spin-button,.m_8fb7ebe7::-webkit-search-decoration,.m_8fb7ebe7::-webkit-search-cancel-button,.m_8fb7ebe7::-webkit-search-results-button,.m_8fb7ebe7::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.m_8fb7ebe7[type=number]{-moz-appearance:textfield}.m_8fb7ebe7:disabled,.m_8fb7ebe7[data-disabled]{cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_8fb7ebe7:has(input:disabled){cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_82577fc2{pointer-events:var(--section-pointer-events);position:absolute;z-index:1;inset-inline-start:var(--section-start);inset-inline-end:var(--section-end);bottom:var(--section-y);top:var(--section-y);display:flex;align-items:center;justify-content:center;width:var(--section-size);border-radius:var(--section-border-radius);color:var(--input-section-color, var(--mantine-color-dimmed))}.m_82577fc2[data-position=right]{--section-pointer-events: var(--input-right-section-pointer-events);--section-end: var(--right-section-end);--section-size: var(--input-right-section-size);--section-border-radius: var(--right-section-border-radius)}.m_82577fc2[data-position=left]{--section-pointer-events: var(--input-left-section-pointer-events);--section-start: var(--left-section-start);--section-size: var(--input-left-section-size);--section-border-radius: var(--left-section-border-radius)}.m_88bacfd0{color:var(--input-placeholder-color, var(--mantine-color-placeholder))}[data-error] .m_88bacfd0{--input-placeholder-color: var(--input-color, var(--mantine-color-placeholder))}.m_46b77525{line-height:var(--mantine-line-height)}.m_8fdc1311{display:inline-block;font-weight:500;word-break:break-word;cursor:default;-webkit-tap-highlight-color:transparent;font-size:var(--input-label-size, var(--mantine-font-size-sm))}.m_78a94662{color:var(--input-asterisk-color, var(--mantine-color-error))}.m_8f816625,.m_fe47ce59{word-wrap:break-word;line-height:1.2;display:block;margin:0;padding:0}.m_8f816625{color:var(--mantine-color-error);font-size:var(--input-error-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_fe47ce59{color:var(--mantine-color-dimmed);font-size:var(--input-description-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_8bffd616{display:flex}.m_96b553a6{--transition-duration: .15s;top:0;left:0;position:absolute;z-index:0;transition-property:transform,width,height;transition-timing-function:ease;transition-duration:0ms}.m_96b553a6:where([data-initialized]){transition-duration:var(--transition-duration)}.m_96b553a6:where([data-hidden]){background-color:red;display:none}.m_9bdbb667{--accordion-radius: var(--mantine-radius-default)}.m_df78851f{word-break:break-word}.m_4ba554d4{padding:var(--mantine-spacing-md);padding-top:calc(var(--mantine-spacing-xs) / 2)}.m_8fa820a0{margin:0;padding:0}.m_4ba585b8{width:100%;display:flex;align-items:center;flex-direction:row-reverse;padding-inline:var(--mantine-spacing-md);opacity:1;cursor:pointer;background-color:transparent}.m_4ba585b8:where([data-chevron-position=left]){flex-direction:row;padding-inline-start:0}:where([data-mantine-color-scheme=light]) .m_4ba585b8{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_4ba585b8{color:var(--mantine-color-dark-0)}.m_4ba585b8:where(:disabled,[data-disabled]){opacity:.4;cursor:not-allowed}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-dark-6)}}.m_df3ffa0f{color:inherit;font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;padding-top:var(--mantine-spacing-sm);padding-bottom:var(--mantine-spacing-sm)}.m_3f35ae96{display:flex;align-items:center;justify-content:flex-start;transition:transform var(--accordion-transition-duration, .2s) ease;width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));min-width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));transform:rotate(0)}.m_3f35ae96:where([data-rotate]){transform:rotate(180deg)}.m_3f35ae96:where([data-position=left]){margin-inline-end:var(--mantine-spacing-md);margin-inline-start:var(--mantine-spacing-md)}.m_9bd771fe{display:flex;align-items:center;justify-content:center;margin-inline-end:var(--mantine-spacing-sm)}.m_9bd771fe:where([data-chevron-position=left]){margin-inline-end:0;margin-inline-start:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_9bd7b098{--item-border-color: var(--mantine-color-gray-3);--item-filled-color: var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_9bd7b098{--item-border-color: var(--mantine-color-dark-4);--item-filled-color: var(--mantine-color-dark-6)}.m_fe19b709{border-bottom:1px solid var(--item-border-color)}.m_1f921b3b{border:1px solid var(--item-border-color);transition:background-color .15s ease}.m_1f921b3b:where([data-active]){background-color:var(--item-filled-color)}.m_1f921b3b:first-of-type{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:first-of-type>[data-accordion-control]{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type>[data-accordion-control]{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b+.m_1f921b3b{border-top:0}.m_2cdf939a{border-radius:var(--accordion-radius)}.m_2cdf939a:where([data-active]){background-color:var(--item-filled-color)}.m_9f59b069{background-color:var(--item-filled-color);border-radius:var(--accordion-radius);border:calc(.0625rem * var(--mantine-scale)) solid transparent;transition:background-color .15s ease}.m_9f59b069[data-active]{border-color:var(--item-border-color)}:where([data-mantine-color-scheme=light]) .m_9f59b069[data-active]{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_9f59b069[data-active]{background-color:var(--mantine-color-dark-7)}.m_9f59b069+.m_9f59b069{margin-top:var(--mantine-spacing-md)}.m_7f854edf{position:fixed;z-index:var(--affix-z-index);inset-inline-start:var(--affix-left);inset-inline-end:var(--affix-right);top:var(--affix-top);bottom:var(--affix-bottom)}.m_66836ed3{--alert-radius: var(--mantine-radius-default);--alert-bg: var(--mantine-primary-color-light);--alert-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--alert-color: var(--mantine-primary-color-light-color);padding:var(--mantine-spacing-md) var(--mantine-spacing-md);border-radius:var(--alert-radius);position:relative;overflow:hidden;background-color:var(--alert-bg);border:var(--alert-bd);color:var(--alert-color)}.m_a5d60502{display:flex}.m_667c2793{flex:1;display:flex;flex-direction:column;gap:var(--mantine-spacing-xs)}.m_6a03f287{display:flex;align-items:center;justify-content:space-between;font-size:var(--mantine-font-size-sm);font-weight:700}.m_6a03f287:where([data-with-close-button]){padding-inline-end:var(--mantine-spacing-md)}.m_698f4f23{display:block;overflow:hidden;text-overflow:ellipsis}.m_667f2a6a{line-height:1;width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));display:flex;align-items:center;justify-content:flex-start;margin-inline-end:var(--mantine-spacing-md);margin-top:calc(.0625rem * var(--mantine-scale))}.m_7fa78076{text-overflow:ellipsis;overflow:hidden;font-size:var(--mantine-font-size-sm)}:where([data-mantine-color-scheme=light]) .m_7fa78076{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_7fa78076{color:var(--mantine-color-white)}.m_7fa78076:where([data-variant=filled]){color:var(--alert-color)}.m_7fa78076:where([data-variant=white]){color:var(--mantine-color-black)}.m_87f54839{width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));color:var(--alert-color)}.m_b6d8b162{-webkit-tap-highlight-color:transparent;text-decoration:none;font-size:var(--text-fz, var(--mantine-font-size-md));line-height:var(--text-lh, var(--mantine-line-height-md));font-weight:400;margin:0;padding:0;color:var(--text-color)}.m_b6d8b162:where([data-truncate]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m_b6d8b162:where([data-truncate=start]){direction:rtl;text-align:right}:where([dir=rtl]) .m_b6d8b162:where([data-truncate=start]){direction:ltr;text-align:left}.m_b6d8b162:where([data-variant=gradient]){background-image:var(--text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.m_b6d8b162:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--text-line-clamp);-webkit-box-orient:vertical}.m_b6d8b162:where([data-inherit]){line-height:inherit;font-weight:inherit;font-size:inherit}.m_b6d8b162:where([data-inline]){line-height:1}.m_849cf0da{color:var(--mantine-color-anchor);text-decoration:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:inline;padding:0;margin:0;background-color:transparent;cursor:pointer}@media (hover: hover){.m_849cf0da:where([data-underline=hover]):hover{text-decoration:underline}}@media (hover: none){.m_849cf0da:where([data-underline=hover]):active{text-decoration:underline}}.m_849cf0da:where([data-underline=always]){text-decoration:underline}.m_849cf0da:where([data-variant=gradient]),.m_849cf0da:where([data-variant=gradient]):hover{text-decoration:none}.m_849cf0da:where([data-line-clamp]){display:-webkit-box}.m_89ab340[data-resizing]{--app-shell-transition-duration: 0ms !important}.m_89ab340[data-disabled]{--app-shell-header-offset: 0rem !important;--app-shell-navbar-offset: 0rem !important}[data-mantine-color-scheme=light] .m_89ab340{--app-shell-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89ab340{--app-shell-border-color: var(--mantine-color-dark-4)}.m_45252eee,.m_9cdde9a,.m_3b16f56b,.m_8983817,.m_3840c879{transition-duration:var(--app-shell-transition-duration);transition-timing-function:var(--app-shell-transition-timing-function)}.m_45252eee,.m_9cdde9a{position:fixed;display:flex;flex-direction:column;top:var(--app-shell-header-offset, 0rem);height:calc(100dvh - var(--app-shell-header-offset, 0rem) - var(--app-shell-footer-offset, 0rem));background-color:var(--mantine-color-body);transition-property:transform,top,height}:where([data-layout=alt]) .m_45252eee,:where([data-layout=alt]) .m_9cdde9a{top:0rem;height:100dvh}.m_45252eee{inset-inline-start:0;width:var(--app-shell-navbar-width);transition-property:transform,top,height;transform:var(--app-shell-navbar-transform);z-index:var(--app-shell-navbar-z-index)}:where([dir=rtl]) .m_45252eee{transform:var(--app-shell-navbar-transform-rtl)}.m_45252eee:where([data-with-border]){border-inline-end:1px solid var(--app-shell-border-color)}.m_9cdde9a{inset-inline-end:0;width:var(--app-shell-aside-width);transform:var(--app-shell-aside-transform);z-index:var(--app-shell-aside-z-index)}:where([dir=rtl]) .m_9cdde9a{transform:var(--app-shell-aside-transform-rtl)}.m_9cdde9a:where([data-with-border]){border-inline-start:1px solid var(--app-shell-border-color)}.m_8983817{padding-inline-start:calc(var(--app-shell-navbar-offset, 0rem) + var(--app-shell-padding));padding-inline-end:calc(var(--app-shell-aside-offset, 0rem) + var(--app-shell-padding));padding-top:calc(var(--app-shell-header-offset, 0rem) + var(--app-shell-padding));padding-bottom:calc(var(--app-shell-footer-offset, 0rem) + var(--app-shell-padding));min-height:100dvh;transition-property:padding}.m_3b16f56b,.m_3840c879{position:fixed;inset-inline:0;transition-property:transform,left,right;background-color:var(--mantine-color-body)}:where([data-layout=alt]) .m_3b16f56b,:where([data-layout=alt]) .m_3840c879{inset-inline-start:var(--app-shell-navbar-offset, 0rem);inset-inline-end:var(--app-shell-aside-offset, 0rem)}.m_3b16f56b{top:0;height:var(--app-shell-header-height);background-color:var(--mantine-color-body);transform:var(--app-shell-header-transform);z-index:var(--app-shell-header-z-index)}.m_3b16f56b:where([data-with-border]){border-bottom:1px solid var(--app-shell-border-color)}.m_3840c879{bottom:0;height:calc(var(--app-shell-footer-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform:var(--app-shell-footer-transform);z-index:var(--app-shell-footer-z-index)}.m_3840c879:where([data-with-border]){border-top:1px solid var(--app-shell-border-color)}.m_6dcfc7c7{flex-grow:0}.m_6dcfc7c7:where([data-grow]){flex-grow:1}.m_71ac47fc{--ar-ratio: 1;max-width:100%}.m_71ac47fc>:where(*:not(style)){aspect-ratio:var(--ar-ratio);width:100%}.m_71ac47fc>:where(img,video){-o-object-fit:cover;object-fit:cover}.m_88b62a41{--combobox-padding: calc(.25rem * var(--mantine-scale));padding:var(--combobox-padding)}.m_88b62a41:has([data-mantine-scrollbar]){padding-inline-end:0}.m_88b62a41[data-hidden]{display:none}.m_88b62a41,.m_b2821a6e{--combobox-option-padding-xs: calc(.25rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));--combobox-option-padding-sm: calc(.375rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--combobox-option-padding-md: calc(.5rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale));--combobox-option-padding-lg: calc(.625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--combobox-option-padding-xl: calc(.875rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--combobox-option-padding: var(--combobox-option-padding-sm)}.m_92253aa5{padding:var(--combobox-option-padding);font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border-radius:var(--mantine-radius-default);background-color:transparent;color:inherit;cursor:pointer;word-break:break-word}.m_92253aa5:where([data-combobox-selected]){background-color:var(--mantine-primary-color-filled);color:var(--mantine-color-white)}.m_92253aa5:where([data-combobox-disabled]){cursor:not-allowed;opacity:.35}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}.m_985517d8{margin-inline:calc(var(--combobox-padding) * -1);margin-top:calc(var(--combobox-padding) * -1);width:calc(100% + var(--combobox-padding) * 2);border-top-width:0;border-inline-width:0;border-end-start-radius:0;border-end-end-radius:0;margin-bottom:var(--combobox-padding);position:relative}:where([data-mantine-color-scheme=light]) .m_985517d8,:where([data-mantine-color-scheme=light]) .m_985517d8:focus{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_985517d8,:where([data-mantine-color-scheme=dark]) .m_985517d8:focus{border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=light]) .m_985517d8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_985517d8{background-color:var(--mantine-color-dark-7)}.m_2530cd1d{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));text-align:center;padding:var(--combobox-option-padding);color:var(--mantine-color-dimmed)}.m_858f94bd,.m_82b967cb{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border:0 solid transparent;margin-inline:calc(var(--combobox-padding) * -1);padding:var(--combobox-option-padding)}:where([data-mantine-color-scheme=light]) .m_858f94bd,:where([data-mantine-color-scheme=light]) .m_82b967cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_858f94bd,:where([data-mantine-color-scheme=dark]) .m_82b967cb{border-color:var(--mantine-color-dark-4)}.m_82b967cb{border-top-width:calc(.0625rem * var(--mantine-scale));margin-top:var(--combobox-padding);margin-bottom:calc(var(--combobox-padding) * -1)}.m_858f94bd{border-bottom-width:calc(.0625rem * var(--mantine-scale));margin-bottom:var(--combobox-padding);margin-top:calc(var(--combobox-padding) * -1)}.m_254f3e4f:has(.m_2bb2e9e5:only-child){display:none}.m_2bb2e9e5{color:var(--mantine-color-dimmed);font-size:calc(var(--combobox-option-fz, var(--mantine-font-size-sm)) * .85);padding:var(--combobox-option-padding);font-weight:500;position:relative;display:flex;align-items:center}.m_2bb2e9e5:after{content:"";flex:1;inset-inline:0;height:calc(.0625rem * var(--mantine-scale));margin-inline-start:var(--mantine-spacing-xs)}:where([data-mantine-color-scheme=light]) .m_2bb2e9e5:after{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2bb2e9e5:after{background-color:var(--mantine-color-dark-4)}.m_2bb2e9e5:only-child{display:none}.m_2943220b{--combobox-chevron-size-xs: calc(.875rem * var(--mantine-scale));--combobox-chevron-size-sm: calc(1.125rem * var(--mantine-scale));--combobox-chevron-size-md: calc(1.25rem * var(--mantine-scale));--combobox-chevron-size-lg: calc(1.5rem * var(--mantine-scale));--combobox-chevron-size-xl: calc(1.75rem * var(--mantine-scale));--combobox-chevron-size: var(--combobox-chevron-size-sm);width:var(--combobox-chevron-size);height:var(--combobox-chevron-size)}:where([data-mantine-color-scheme=light]) .m_2943220b{color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_2943220b{color:var(--mantine-color-dark-3)}.m_2943220b:where([data-error]){color:var(--mantine-color-error)}.m_390b5f4{display:flex;align-items:center;gap:calc(.5rem * var(--mantine-scale))}.m_390b5f4:where([data-reverse]){justify-content:space-between}.m_8ee53fc2{opacity:.4;width:.8em;min-width:.8em;height:.8em}:where([data-combobox-selected]) .m_8ee53fc2{opacity:1}.m_5f75b09e{--label-lh-xs: calc(1rem * var(--mantine-scale));--label-lh-sm: calc(1.25rem * var(--mantine-scale));--label-lh-md: calc(1.5rem * var(--mantine-scale));--label-lh-lg: calc(1.875rem * var(--mantine-scale));--label-lh-xl: calc(2.25rem * var(--mantine-scale));--label-lh: var(--label-lh-sm)}.m_5f75b09e[data-label-position=left]{--label-order: 1;--label-offset-end: var(--mantine-spacing-sm);--label-offset-start: 0}.m_5f75b09e[data-label-position=right]{--label-order: 2;--label-offset-end: 0;--label-offset-start: var(--mantine-spacing-sm)}.m_5f6e695e{display:flex}.m_d3ea56bb{--label-cursor: var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:inline-flex;flex-direction:column;font-size:var(--label-fz, var(--mantine-font-size-sm));line-height:var(--label-lh);cursor:var(--label-cursor);order:var(--label-order)}fieldset:disabled .m_d3ea56bb,.m_d3ea56bb[data-disabled]{--label-cursor: not-allowed}.m_8ee546b8{cursor:var(--label-cursor);color:inherit;padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=light]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=dark]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-dark-3)}.m_328f68c0,.m_8e8a99cc{margin-top:calc(var(--mantine-spacing-xs) / 2);padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}.m_26775b0a{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_26775b0a :where(*){cursor:inherit}.m_26775b0a:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_5e5256ee{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_5e5256ee{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_5e5256ee[data-indeterminate],.m_5e5256ee[data-checked]{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_5e5256ee[data-indeterminate]>.m_1b1c543a,.m_5e5256ee[data-checked]>.m_1b1c543a{opacity:1;transform:none;color:var(--checkbox-icon-color)}.m_5e5256ee[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-dark-3)}.m_76e20374[data-indeterminate]:not([data-disabled]),.m_76e20374[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--checkbox-color)}.m_76e20374[data-indeterminate]:not([data-disabled])>.m_1b1c543a,.m_76e20374[data-checked]:not([data-disabled])>.m_1b1c543a{color:var(--checkbox-color);opacity:1;transform:none}.m_1b1c543a{display:block;width:60%;color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_bf2d988c{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white)}.m_26062bec{position:relative;width:var(--checkbox-size);height:var(--checkbox-size);order:1}.m_26062bec:where([data-label-position=left]){order:2}.m_26063560{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));padding:0;display:block;margin:0;transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_26063560{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_26063560{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_26063560:where([data-error]){border-color:var(--mantine-color-error)}.m_26063560[data-indeterminate],.m_26063560:checked{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_26063560[data-indeterminate]+.m_bf295423,.m_26063560:checked+.m_bf295423{opacity:1;transform:none}.m_26063560:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_26063560:disabled{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26063560:disabled{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-dark-3)}.m_215c4542+.m_bf295423{color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled),.m_215c4542:checked:not(:disabled){background-color:transparent;border-color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled)+.m_bf295423,.m_215c4542:checked:not(:disabled)+.m_bf295423{color:var(--checkbox-color);opacity:1;transform:none}.m_bf295423{position:absolute;inset:0;width:60%;margin:auto;color:var(--checkbox-icon-color);pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:0;transition:transform .1s ease,opacity .1s ease}.m_11def92b{--ag-spacing: var(--mantine-spacing-sm);--ag-offset: calc(var(--ag-spacing) * -1);display:flex;padding-inline-start:var(--ag-spacing)}.m_f85678b6{--avatar-size-xs: calc(1rem * var(--mantine-scale));--avatar-size-sm: calc(1.625rem * var(--mantine-scale));--avatar-size-md: calc(2.375rem * var(--mantine-scale));--avatar-size-lg: calc(3.5rem * var(--mantine-scale));--avatar-size-xl: calc(5.25rem * var(--mantine-scale));--avatar-size: var(--avatar-size-md);--avatar-radius: calc(62.5rem * var(--mantine-scale));--avatar-bg: var(--mantine-color-gray-light);--avatar-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--avatar-color: var(--mantine-color-gray-light-color);--avatar-placeholder-fz: calc(var(--avatar-size) / 2.5);-webkit-tap-highlight-color:transparent;position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:var(--avatar-radius);text-decoration:none;padding:0;width:var(--avatar-size);height:var(--avatar-size);min-width:var(--avatar-size)}.m_f85678b6:where([data-within-group]){margin-inline-start:var(--ag-offset);border:2px solid var(--mantine-color-body);background:var(--mantine-color-body)}.m_11f8ac07{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.m_104cd71f{font-weight:700;display:flex;align-items:center;justify-content:center;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--avatar-radius);font-size:var(--avatar-placeholder-fz);background:var(--avatar-bg);border:var(--avatar-bd);color:var(--avatar-color)}.m_104cd71f>[data-avatar-placeholder-icon]{width:70%;height:70%}.m_2ce0de02{background-size:cover;background-position:center;display:block;width:100%;border:0;text-decoration:none;border-radius:var(--bi-radius, 0)}.m_347db0ec{--badge-height-xs: calc(1rem * var(--mantine-scale));--badge-height-sm: calc(1.125rem * var(--mantine-scale));--badge-height-md: calc(1.25rem * var(--mantine-scale));--badge-height-lg: calc(1.625rem * var(--mantine-scale));--badge-height-xl: calc(2rem * var(--mantine-scale));--badge-fz-xs: calc(.5625rem * var(--mantine-scale));--badge-fz-sm: calc(.625rem * var(--mantine-scale));--badge-fz-md: calc(.6875rem * var(--mantine-scale));--badge-fz-lg: calc(.8125rem * var(--mantine-scale));--badge-fz-xl: calc(1rem * var(--mantine-scale));--badge-padding-x-xs: calc(.375rem * var(--mantine-scale));--badge-padding-x-sm: calc(.5rem * var(--mantine-scale));--badge-padding-x-md: calc(.625rem * var(--mantine-scale));--badge-padding-x-lg: calc(.75rem * var(--mantine-scale));--badge-padding-x-xl: calc(1rem * var(--mantine-scale));--badge-height: var(--badge-height-md);--badge-fz: var(--badge-fz-md);--badge-padding-x: var(--badge-padding-x-md);--badge-radius: calc(62.5rem * var(--mantine-scale));--badge-lh: calc(var(--badge-height) - calc(.125rem * var(--mantine-scale)));--badge-color: var(--mantine-color-white);--badge-bg: var(--mantine-primary-color-filled);--badge-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;-webkit-tap-highlight-color:transparent;font-size:var(--badge-fz);border-radius:var(--badge-radius);height:var(--badge-height);line-height:var(--badge-lh);text-decoration:none;padding:0 var(--badge-padding-x);display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;text-transform:uppercase;font-weight:700;letter-spacing:calc(.015625rem * var(--mantine-scale));cursor:inherit;text-overflow:ellipsis;overflow:hidden;color:var(--badge-color);background:var(--badge-bg);border:var(--badge-bd)}.m_347db0ec:where([data-block]){display:flex;width:100%}.m_347db0ec:where([data-circle]){padding-inline:calc(.125rem * var(--mantine-scale));width:var(--badge-height)}.m_fbd81e3d{--badge-dot-size: calc(var(--badge-height) / 3.4)}:where([data-mantine-color-scheme=light]) .m_fbd81e3d{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fbd81e3d{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_fbd81e3d:before{content:"";display:block;width:var(--badge-dot-size);height:var(--badge-dot-size);border-radius:var(--badge-dot-size);background-color:var(--badge-dot-color);margin-inline-end:var(--badge-dot-size)}.m_5add502a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m_91fdda9b{--badge-section-margin: calc(var(--mantine-spacing-xs) / 2);display:inline-flex;justify-content:center;align-items:center}.m_91fdda9b:where([data-position=left]){margin-inline-end:var(--badge-section-margin)}.m_91fdda9b:where([data-position=right]){margin-inline-start:var(--badge-section-margin)}.m_ddec01c0{--blockquote-border: 3px solid var(--bq-bd);position:relative;margin:0;border-inline-start:var(--blockquote-border);border-start-end-radius:var(--bq-radius);border-end-end-radius:var(--bq-radius);padding:var(--mantine-spacing-xl) calc(2.375rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_ddec01c0{background-color:var(--bq-bg-light)}:where([data-mantine-color-scheme=dark]) .m_ddec01c0{background-color:var(--bq-bg-dark)}.m_dde7bd57{--blockquote-icon-offset: calc(var(--bq-icon-size) / -2);position:absolute;color:var(--bq-bd);background-color:var(--mantine-color-body);display:flex;align-items:center;justify-content:center;top:var(--blockquote-icon-offset);inset-inline-start:var(--blockquote-icon-offset);width:var(--bq-icon-size);height:var(--bq-icon-size);border-radius:var(--bq-icon-size)}.m_dde51a35{display:block;margin-top:var(--mantine-spacing-md);opacity:.6;font-size:85%}.m_8b3717df{display:flex;align-items:center}.m_f678d540{line-height:1;white-space:nowrap;-webkit-tap-highlight-color:transparent}.m_3b8f2208{margin-inline:var(--bc-separator-margin, var(--mantine-spacing-xs));line-height:1;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_3b8f2208{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_3b8f2208{color:var(--mantine-color-dark-2)}.m_fea6bf1a{--burger-size-xs: calc(.75rem * var(--mantine-scale));--burger-size-sm: calc(1.125rem * var(--mantine-scale));--burger-size-md: calc(1.5rem * var(--mantine-scale));--burger-size-lg: calc(2.125rem * var(--mantine-scale));--burger-size-xl: calc(2.625rem * var(--mantine-scale));--burger-size: var(--burger-size-md);--burger-line-size: calc(var(--burger-size) / 12);width:calc(var(--burger-size) + var(--mantine-spacing-xs));height:calc(var(--burger-size) + var(--mantine-spacing-xs));padding:calc(var(--mantine-spacing-xs) / 2);cursor:pointer}:where([data-mantine-color-scheme=light]) .m_fea6bf1a{--burger-color: var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fea6bf1a{--burger-color: var(--mantine-color-white)}.m_d4fb9cad{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_d4fb9cad,.m_d4fb9cad:before,.m_d4fb9cad:after{display:block;width:var(--burger-size);height:var(--burger-line-size);background-color:var(--burger-color);outline:calc(.0625rem * var(--mantine-scale)) solid transparent;transition-property:background-color,transform;transition-duration:var(--burger-transition-duration, .3s);transition-timing-function:var(--burger-transition-timing-function, ease)}.m_d4fb9cad:before,.m_d4fb9cad:after{position:absolute;content:"";inset-inline-start:0}.m_d4fb9cad:before{top:calc(var(--burger-size) / -3)}.m_d4fb9cad:after{top:calc(var(--burger-size) / 3)}.m_d4fb9cad[data-opened]{background-color:transparent}.m_d4fb9cad[data-opened]:before{transform:translateY(calc(var(--burger-size) / 3)) rotate(45deg)}.m_d4fb9cad[data-opened]:after{transform:translateY(calc(var(--burger-size) / -3)) rotate(-45deg)}.m_77c9d27d{--button-height-xs: calc(1.875rem * var(--mantine-scale));--button-height-sm: calc(2.25rem * var(--mantine-scale));--button-height-md: calc(2.625rem * var(--mantine-scale));--button-height-lg: calc(3.125rem * var(--mantine-scale));--button-height-xl: calc(3.75rem * var(--mantine-scale));--button-height-compact-xs: calc(1.375rem * var(--mantine-scale));--button-height-compact-sm: calc(1.625rem * var(--mantine-scale));--button-height-compact-md: calc(1.875rem * var(--mantine-scale));--button-height-compact-lg: calc(2.125rem * var(--mantine-scale));--button-height-compact-xl: calc(2.5rem * var(--mantine-scale));--button-padding-x-xs: calc(.875rem * var(--mantine-scale));--button-padding-x-sm: calc(1.125rem * var(--mantine-scale));--button-padding-x-md: calc(1.375rem * var(--mantine-scale));--button-padding-x-lg: calc(1.625rem * var(--mantine-scale));--button-padding-x-xl: calc(2rem * var(--mantine-scale));--button-padding-x-compact-xs: calc(.4375rem * var(--mantine-scale));--button-padding-x-compact-sm: calc(.5rem * var(--mantine-scale));--button-padding-x-compact-md: calc(.625rem * var(--mantine-scale));--button-padding-x-compact-lg: calc(.75rem * var(--mantine-scale));--button-padding-x-compact-xl: calc(.875rem * var(--mantine-scale));--button-height: var(--button-height-sm);--button-padding-x: var(--button-padding-x-sm);--button-color: var(--mantine-color-white);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:600;position:relative;line-height:1;text-align:center;overflow:hidden;width:auto;cursor:pointer;display:inline-block;border-radius:var(--button-radius, var(--mantine-radius-default));font-size:var(--button-fz, var(--mantine-font-size-sm));background:var(--button-bg, var(--mantine-primary-color-filled));border:var(--button-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);color:var(--button-color, var(--mantine-color-white));height:var(--button-height, var(--button-height-sm));padding-inline:var(--button-padding-x, var(--button-padding-x-sm));vertical-align:middle}.m_77c9d27d:where([data-block]){display:block;width:100%}.m_77c9d27d:where([data-with-left-section]){padding-inline-start:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where([data-with-right-section]){padding-inline-end:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent;transform:none}:where([data-mantine-color-scheme=light]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-gray-5);background:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-dark-3);background:var(--mantine-color-dark-6)}.m_77c9d27d:before{content:"";pointer-events:none;position:absolute;inset:calc(-.0625rem * var(--mantine-scale));border-radius:var(--button-radius, var(--mantine-radius-default));transform:translateY(-100%);opacity:0;filter:blur(12px);transition:transform .15s ease,opacity .1s ease}:where([data-mantine-color-scheme=light]) .m_77c9d27d:before{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:before{background-color:#00000026}.m_77c9d27d:where([data-loading]){cursor:not-allowed;transform:none}.m_77c9d27d:where([data-loading]):before{transform:translateY(0);opacity:1}.m_77c9d27d:where([data-loading]) .m_80f1301b{opacity:0;transform:translateY(100%)}@media (hover: hover){.m_77c9d27d:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}@media (hover: none){.m_77c9d27d:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}.m_80f1301b{display:flex;align-items:center;justify-content:var(--button-justify, center);height:100%;overflow:visible;transition:transform .15s ease,opacity .1s ease}.m_811560b9{white-space:nowrap;height:100%;overflow:hidden;display:flex;align-items:center;opacity:1}.m_811560b9:where([data-loading]){opacity:.2}.m_a74036a{display:flex;align-items:center}.m_a74036a:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_a74036a:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_a25b86ee{position:absolute;left:50%;top:50%}.m_80d6d844{--button-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_80d6d844 :where(*):focus{position:relative;z-index:1}.m_80d6d844[data-orientation=horizontal]{flex-direction:row}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical]{flex-direction:column}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--button-border-width) / 2);border-top-width:calc(var(--button-border-width) / 2)}.m_e615b15f{--card-padding: var(--mantine-spacing-md);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--card-padding);color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_e615b15f{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_e615b15f{background-color:var(--mantine-color-dark-6)}.m_599a2148{display:block;margin-inline:calc(var(--card-padding) * -1)}.m_599a2148:where(:first-child){margin-top:calc(var(--card-padding) * -1);border-top:none!important}.m_599a2148:where(:last-child){margin-bottom:calc(var(--card-padding) * -1);border-bottom:none!important}.m_599a2148:where([data-inherit-padding]){padding-inline:var(--card-padding)}.m_599a2148:where([data-with-border]){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-bottom:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_599a2148{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_599a2148{border-color:var(--mantine-color-dark-4)}.m_599a2148+.m_599a2148{border-top:none!important}.m_4451eb3a{display:flex;align-items:center;justify-content:center}.m_4451eb3a:where([data-inline]){display:inline-flex}.m_f59ffda3{--chip-size-xs: calc(1.4375rem * var(--mantine-scale));--chip-size-sm: calc(1.75rem * var(--mantine-scale));--chip-size-md: calc(2rem * var(--mantine-scale));--chip-size-lg: calc(2.25rem * var(--mantine-scale));--chip-size-xl: calc(2.5rem * var(--mantine-scale));--chip-icon-size-xs: calc(.625rem * var(--mantine-scale));--chip-icon-size-sm: calc(.75rem * var(--mantine-scale));--chip-icon-size-md: calc(.875rem * var(--mantine-scale));--chip-icon-size-lg: calc(1rem * var(--mantine-scale));--chip-icon-size-xl: calc(1.125rem * var(--mantine-scale));--chip-padding-xs: calc(1rem * var(--mantine-scale));--chip-padding-sm: calc(1.25rem * var(--mantine-scale));--chip-padding-md: calc(1.5rem * var(--mantine-scale));--chip-padding-lg: calc(1.75rem * var(--mantine-scale));--chip-padding-xl: calc(2rem * var(--mantine-scale));--chip-checked-padding-xs: calc(.46875rem * var(--mantine-scale));--chip-checked-padding-sm: calc(.625rem * var(--mantine-scale));--chip-checked-padding-md: calc(.73125rem * var(--mantine-scale));--chip-checked-padding-lg: calc(.84375rem * var(--mantine-scale));--chip-checked-padding-xl: calc(.78125rem * var(--mantine-scale));--chip-spacing-xs: calc(.625rem * var(--mantine-scale));--chip-spacing-sm: calc(.75rem * var(--mantine-scale));--chip-spacing-md: calc(1rem * var(--mantine-scale));--chip-spacing-lg: calc(1.25rem * var(--mantine-scale));--chip-spacing-xl: calc(1.375rem * var(--mantine-scale));--chip-size: var(--chip-size-sm);--chip-icon-size: var(--chip-icon-size-sm);--chip-padding: var(--chip-padding-sm);--chip-spacing: var(--chip-spacing-sm);--chip-checked-padding: var(--chip-checked-padding-sm);--chip-bg: var(--mantine-primary-color-filled);--chip-hover: var(--mantine-primary-color-filled-hover);--chip-color: var(--mantine-color-white);--chip-bd: calc(.0625rem * var(--mantine-scale)) solid transparent}.m_be049a53{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--chip-radius, 1000rem);height:var(--chip-size);font-size:var(--chip-fz, var(--mantine-font-size-sm));line-height:calc(var(--chip-size) - calc(.125rem * var(--mantine-scale)));padding-inline:var(--chip-padding);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}.m_be049a53:where([data-checked]){padding:var(--chip-checked-padding)}.m_be049a53:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-gray-2);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-white);border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-dark-6);border:1px solid var(--mantine-color-dark-4)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-dark-5)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-dark-5)}}.m_3904c1af:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);border:var(--chip-bd)}@media (hover: hover){.m_3904c1af:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media (hover: none){.m_3904c1af:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_fa109255:not([data-disabled]),.m_f7e165c3:not([data-disabled]){border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-dark-5)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-dark-4)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-dark-4)}}.m_fa109255:not([data-disabled]):where([data-checked]),.m_f7e165c3:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);color:var(--chip-color);background-color:var(--chip-bg)}@media (hover: hover){.m_fa109255:not([data-disabled]):where([data-checked]):hover,.m_f7e165c3:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media (hover: none){.m_fa109255:not([data-disabled]):where([data-checked]):active,.m_f7e165c3:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_9ac86df9{width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));max-width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));height:var(--chip-icon-size);display:flex;align-items:center;overflow:hidden}.m_d6d72580{width:var(--chip-icon-size);height:var(--chip-icon-size);display:block;color:var(--chip-icon-color, inherit)}.m_bde07329{width:0;height:0;padding:0;opacity:0;margin:0}.m_bde07329:focus-visible+.m_be049a53{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_b183c0a2{font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);padding:2px calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);font-size:var(--mantine-font-size-xs);margin:0;overflow:auto}:where([data-mantine-color-scheme=light]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-gray-1));color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-dark-5));color:var(--mantine-color-white)}.m_b183c0a2[data-block]{padding:var(--mantine-spacing-xs)}.m_de3d2490{--cs-size: calc(1.75rem * var(--mantine-scale));--cs-radius: calc(62.5rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;line-height:1;position:relative;width:var(--cs-size);height:var(--cs-size);min-width:var(--cs-size);min-height:var(--cs-size);border-radius:var(--cs-radius);color:inherit;text-decoration:none}[data-mantine-color-scheme=light] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-gray-3);--alpha-overlay-bg: var(--mantine-color-white)}[data-mantine-color-scheme=dark] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-dark-4);--alpha-overlay-bg: var(--mantine-color-dark-7)}.m_862f3d1b{position:absolute;inset:0;border-radius:var(--cs-radius)}.m_98ae7f22{position:absolute;inset:0;border-radius:var(--cs-radius);z-index:1;box-shadow:#0000001a 0 0 0 calc(.0625rem * var(--mantine-scale)) inset,#00000026 0 0 calc(.25rem * var(--mantine-scale)) inset}.m_95709ac0{position:absolute;inset:0;border-radius:var(--cs-radius);background-size:calc(.5rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));background-position:0 0,0 calc(.25rem * var(--mantine-scale)),calc(.25rem * var(--mantine-scale)) calc(-.25rem * var(--mantine-scale)),calc(-.25rem * var(--mantine-scale)) 0;background-image:linear-gradient(45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(-45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--alpha-overlay-color) 75%),linear-gradient(-45deg,var(--alpha-overlay-bg) 75%,var(--alpha-overlay-color) 75%)}.m_93e74e3{position:absolute;inset:0;border-radius:var(--cs-radius);z-index:2;display:flex;align-items:center;justify-content:center}.m_fee9c77{--cp-width-xs: calc(11.25rem * var(--mantine-scale));--cp-width-sm: calc(12.5rem * var(--mantine-scale));--cp-width-md: calc(15rem * var(--mantine-scale));--cp-width-lg: calc(17.5rem * var(--mantine-scale));--cp-width-xl: calc(20rem * var(--mantine-scale));--cp-preview-size-xs: calc(1.625rem * var(--mantine-scale));--cp-preview-size-sm: calc(2.125rem * var(--mantine-scale));--cp-preview-size-md: calc(2.625rem * var(--mantine-scale));--cp-preview-size-lg: calc(3.125rem * var(--mantine-scale));--cp-preview-size-xl: calc(3.375rem * var(--mantine-scale));--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-saturation-height-xs: calc(6.25rem * var(--mantine-scale));--cp-saturation-height-sm: calc(6.875rem * var(--mantine-scale));--cp-saturation-height-md: calc(7.5rem * var(--mantine-scale));--cp-saturation-height-lg: calc(8.75rem * var(--mantine-scale));--cp-saturation-height-xl: calc(10rem * var(--mantine-scale));--cp-preview-size: var(--cp-preview-size-sm);--cp-thumb-size: var(--cp-thumb-size-sm);--cp-saturation-height: var(--cp-saturation-height-sm);--cp-width: var(--cp-width-sm);--cp-body-spacing: var(--mantine-spacing-sm);width:var(--cp-width);padding:calc(.0625rem * var(--mantine-scale))}.m_fee9c77:where([data-full-width]){width:100%}.m_9dddfbac{width:var(--cp-preview-size);height:var(--cp-preview-size)}.m_bffecc3e{display:flex;padding-top:calc(var(--cp-body-spacing) / 2)}.m_3283bb96{flex:1}.m_3283bb96:not(:only-child){margin-inline-end:var(--mantine-spacing-xs)}.m_40d572ba{overflow:hidden;position:absolute;box-shadow:0 0 1px #0009;border:2px solid var(--mantine-color-white);width:var(--cp-thumb-size);height:var(--cp-thumb-size);border-radius:var(--cp-thumb-size);left:calc(var(--thumb-x-offset) - var(--cp-thumb-size) / 2);top:calc(var(--thumb-y-offset) - var(--cp-thumb-size) / 2)}.m_d8ee6fd8{height:unset!important;width:unset!important;min-width:0!important;min-height:0!important;margin:calc(.125rem * var(--mantine-scale));cursor:pointer;padding-bottom:calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)));flex:0 0 calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)))}.m_5711e686{margin-top:calc(.3125rem * var(--mantine-scale));margin-inline:calc(-.125rem * var(--mantine-scale));display:flex;flex-wrap:wrap}.m_202a296e{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;position:relative;height:var(--cp-saturation-height);border-radius:var(--mantine-radius-sm);margin:calc(var(--cp-thumb-size) / 2)}.m_202a296e:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_202a296e:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_11b3db02{position:absolute;border-radius:var(--mantine-radius-sm);inset:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)))}.m_d856d47d{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-thumb-size: var(--cp-thumb-size, calc(.75rem * var(--mantine-scale)));position:relative;height:calc(var(--cp-thumb-size) + calc(.125rem * var(--mantine-scale)));margin-inline:calc(var(--cp-thumb-size) / 2);outline:none}.m_d856d47d+.m_d856d47d{margin-top:calc(.375rem * var(--mantine-scale))}.m_d856d47d:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_d856d47d:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}:where([data-mantine-color-scheme=light]) .m_d856d47d{--slider-checkers: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d856d47d{--slider-checkers: var(--mantine-color-dark-4)}.m_8f327113{position:absolute;top:0;bottom:0;inset-inline:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)));border-radius:10000rem}.m_b077c2bc{--ci-eye-dropper-icon-size-xs: calc(.875rem * var(--mantine-scale));--ci-eye-dropper-icon-size-sm: calc(1rem * var(--mantine-scale));--ci-eye-dropper-icon-size-md: calc(1.125rem * var(--mantine-scale));--ci-eye-dropper-icon-size-lg: calc(1.25rem * var(--mantine-scale));--ci-eye-dropper-icon-size-xl: calc(1.375rem * var(--mantine-scale));--ci-eye-dropper-icon-size: var(--ci-eye-dropper-icon-size-sm)}.m_c5ccdcab{--ci-preview-size-xs: calc(1rem * var(--mantine-scale));--ci-preview-size-sm: calc(1.125rem * var(--mantine-scale));--ci-preview-size-md: calc(1.375rem * var(--mantine-scale));--ci-preview-size-lg: calc(1.75rem * var(--mantine-scale));--ci-preview-size-xl: calc(2.25rem * var(--mantine-scale));--ci-preview-size: var(--ci-preview-size-sm)}.m_5ece2cd7{padding:calc(.5rem * var(--mantine-scale))}.m_7485cace{--container-size-xs: calc(33.75rem * var(--mantine-scale));--container-size-sm: calc(45rem * var(--mantine-scale));--container-size-md: calc(60rem * var(--mantine-scale));--container-size-lg: calc(71.25rem * var(--mantine-scale));--container-size-xl: calc(82.5rem * var(--mantine-scale));--container-size: var(--container-size-md);max-width:var(--container-size);padding-inline:var(--mantine-spacing-md);margin-inline:auto}.m_7485cace:where([data-fluid]){max-width:100%}.m_e2125a27{--dialog-size-xs: calc(10rem * var(--mantine-scale));--dialog-size-sm: calc(12.5rem * var(--mantine-scale));--dialog-size-md: calc(21.25rem * var(--mantine-scale));--dialog-size-lg: calc(25rem * var(--mantine-scale));--dialog-size-xl: calc(31.25rem * var(--mantine-scale));--dialog-size: var(--dialog-size-md);position:relative;width:var(--dialog-size);max-width:calc(100vw - var(--mantine-spacing-xl) * 2);min-height:calc(3.125rem * var(--mantine-scale))}.m_5abab665{position:absolute;top:calc(var(--mantine-spacing-md) / 2);inset-inline-end:calc(var(--mantine-spacing-md) / 2)}.m_3eebeb36{--divider-size-xs: calc(.0625rem * var(--mantine-scale));--divider-size-sm: calc(.125rem * var(--mantine-scale));--divider-size-md: calc(.1875rem * var(--mantine-scale));--divider-size-lg: calc(.25rem * var(--mantine-scale));--divider-size-xl: calc(.3125rem * var(--mantine-scale));--divider-size: var(--divider-size-xs)}:where([data-mantine-color-scheme=light]) .m_3eebeb36{--divider-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3eebeb36{--divider-color: var(--mantine-color-dark-4)}.m_3eebeb36:where([data-orientation=horizontal]){border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color)}.m_3eebeb36:where([data-orientation=vertical]){border-inline-start:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);height:auto;align-self:stretch}.m_3eebeb36:where([data-with-label]){border:0}.m_9e365f20{display:flex;align-items:center;font-size:var(--mantine-font-size-xs);color:var(--mantine-color-dimmed);white-space:nowrap}.m_9e365f20:where([data-position=left]):before{display:none}.m_9e365f20:where([data-position=right]):after{display:none}.m_9e365f20:before{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-end:var(--mantine-spacing-xs)}.m_9e365f20:after{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-start:var(--mantine-spacing-xs)}.m_f11b401e{--drawer-size-xs: calc(20rem * var(--mantine-scale));--drawer-size-sm: calc(23.75rem * var(--mantine-scale));--drawer-size-md: calc(27.5rem * var(--mantine-scale));--drawer-size-lg: calc(38.75rem * var(--mantine-scale));--drawer-size-xl: calc(48.75rem * var(--mantine-scale));--drawer-size: var(--drawer-size-md);--drawer-offset: 0rem}.m_5a7c2c9{z-index:1000}.m_b8a05bbd{flex:var(--drawer-flex, 0 0 var(--drawer-size));height:var(--drawer-height, calc(100% - var(--drawer-offset) * 2));margin:var(--drawer-offset);max-width:calc(100% - var(--drawer-offset) * 2);max-height:calc(100% - var(--drawer-offset) * 2);overflow-y:auto}.m_31cd769a{display:flex;justify-content:var(--drawer-justify, flex-start);align-items:var(--drawer-align, flex-start)}.m_e9408a47{padding:var(--mantine-spacing-lg);padding-top:var(--mantine-spacing-xs);border-radius:var(--fieldset-radius, var(--mantine-radius-default));min-inline-size:auto}.m_84c9523a{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_84c9523a{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_84c9523a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-7)}.m_ef274e49{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_ef274e49{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_ef274e49{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_eda993d3{padding:0;border:0;border-radius:0}.m_90794832{font-size:var(--mantine-font-size-sm)}.m_74ca27fe{padding:0;margin-bottom:var(--mantine-spacing-sm)}.m_410352e9{--grid-overflow: visible;--grid-margin: calc(var(--grid-gutter) / -2);--grid-col-padding: calc(var(--grid-gutter) / 2);overflow:var(--grid-overflow)}.m_dee7bd2f{width:calc(100% + var(--grid-gutter));display:flex;flex-wrap:wrap;justify-content:var(--grid-justify);align-items:var(--grid-align);margin:var(--grid-margin)}.m_96bdd299{--col-flex-grow: 0;--col-offset: 0rem;flex-shrink:0;order:var(--col-order);flex-basis:var(--col-flex-basis);width:var(--col-width);max-width:var(--col-max-width);flex-grow:var(--col-flex-grow);margin-inline-start:var(--col-offset);padding:var(--grid-col-padding)}.m_bcb3f3c2{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=light]) .m_bcb3f3c2{background-color:var(--mark-bg-light)}:where([data-mantine-color-scheme=dark]) .m_bcb3f3c2{background-color:var(--mark-bg-dark)}.m_9e117634{display:block;flex:0;-o-object-fit:var(--image-object-fit, cover);object-fit:var(--image-object-fit, cover);width:100%;border-radius:var(--image-radius, 0)}@keyframes m_885901b1{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.8)}}.m_e5262200{--indicator-size: calc(.625rem * var(--mantine-scale));--indicator-color: var(--mantine-primary-color-filled);position:relative;display:block}.m_e5262200:where([data-inline]){display:inline-block}.m_760d1fb1{position:absolute;top:var(--indicator-top);left:var(--indicator-left);right:var(--indicator-right);bottom:var(--indicator-bottom);transform:translate(var(--indicator-translate-x),var(--indicator-translate-y));min-width:var(--indicator-size);height:var(--indicator-size);border-radius:var(--indicator-radius, 1000rem);z-index:var(--indicator-z-index, 200);display:flex;align-items:center;justify-content:center;font-size:var(--mantine-font-size-xs);background-color:var(--indicator-color);color:var(--indicator-text-color, var(--mantine-color-white));white-space:nowrap}.m_760d1fb1:before{content:"";position:absolute;inset:0;background-color:var(--indicator-color);border-radius:var(--indicator-radius, 1000rem);z-index:-1}.m_760d1fb1:where([data-with-label]){padding-inline:calc(var(--mantine-spacing-xs) / 2)}.m_760d1fb1:where([data-with-border]){border:2px solid var(--mantine-color-body)}.m_760d1fb1[data-processing]:before{animation:m_885901b1 1s linear infinite}.m_dc6f14e2{--kbd-fz-xs: calc(.625rem * var(--mantine-scale));--kbd-fz-sm: calc(.75rem * var(--mantine-scale));--kbd-fz-md: calc(.875rem * var(--mantine-scale));--kbd-fz-lg: calc(1rem * var(--mantine-scale));--kbd-fz-xl: calc(1.25rem * var(--mantine-scale));--kbd-fz: var(--kbd-fz-sm);--kbd-padding-xs: calc(.125rem * var(--mantine-scale)) calc(.25rem * var(--mantine-scale));--kbd-padding-sm: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));--kbd-padding-md: calc(.25rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale));--kbd-padding-lg: calc(.3125rem * var(--mantine-scale)) calc(.5625rem * var(--mantine-scale));--kbd-padding-xl: calc(.5rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--kbd-padding: var(--kbd-padding-sm);font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale));unicode-bidi:embed}:where([data-mantine-color-scheme=light]) .m_dc6f14e2{border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_dc6f14e2{border-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-6)}.m_abbac491{--list-fz: var(--mantine-font-size-md);--list-lh: var(--mantine-line-height-md);list-style-position:inside;font-size:var(--list-fz);line-height:var(--list-lh);margin:0;padding:0}.m_abbac491:where([data-with-padding]){padding-inline-start:var(--mantine-spacing-md)}.m_abb6bec2{white-space:nowrap;line-height:var(--list-lh)}.m_abb6bec2:where([data-with-icon]){list-style:none}.m_abb6bec2:where([data-with-icon]) .m_75cd9f71{--li-direction: row;--li-align: center}.m_abb6bec2:where(:not(:first-of-type)){margin-top:var(--list-spacing, 0)}.m_abb6bec2:where([data-centered]){line-height:1}.m_75cd9f71{display:inline-flex;flex-direction:var(--li-direction, column);align-items:var(--li-align, flex-start);white-space:normal}.m_60f83e5b{display:inline-block;vertical-align:middle;margin-inline-end:var(--mantine-spacing-sm)}.m_6e45937b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:var(--lo-z-index)}.m_e8eb006c{position:relative;z-index:calc(var(--lo-z-index) + 1)}.m_df587f17{z-index:var(--lo-z-index)}.m_dc9b7c9f{padding:calc(.25rem * var(--mantine-scale))}.m_9bfac126{color:var(--mantine-color-dimmed);font-weight:500;font-size:var(--mantine-font-size-xs);padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm);cursor:default}.m_efdf90cb{margin-top:calc(.25rem * var(--mantine-scale));margin-bottom:calc(.25rem * var(--mantine-scale));border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_efdf90cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_efdf90cb{border-color:var(--mantine-color-dark-4)}.m_99ac2aa1{font-size:var(--mantine-font-size-sm);width:100%;padding:calc(var(--mantine-spacing-xs) / 1.5) var(--mantine-spacing-sm);border-radius:var(--popover-radius, var(--mantine-radius-default));color:var(--menu-item-color, var(--mantine-color-text));display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_99ac2aa1:where([data-disabled],:disabled){color:var(--mantine-color-dimmed);opacity:.6;pointer-events:none}:where([data-mantine-color-scheme=light]) .m_99ac2aa1:where([data-hovered]){background-color:var(--menu-item-hover, var(--mantine-color-gray-1))}:where([data-mantine-color-scheme=dark]) .m_99ac2aa1:where([data-hovered]){background-color:var(--menu-item-hover, var(--mantine-color-dark-4))}.m_5476e0d3{flex:1}.m_8b75e504{display:flex;justify-content:center;align-items:center}.m_8b75e504:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_8b75e504:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_9df02822{--modal-size-xs: calc(20rem * var(--mantine-scale));--modal-size-sm: calc(23.75rem * var(--mantine-scale));--modal-size-md: calc(27.5rem * var(--mantine-scale));--modal-size-lg: calc(38.75rem * var(--mantine-scale));--modal-size-xl: calc(48.75rem * var(--mantine-scale));--modal-size: var(--modal-size-md);--modal-y-offset: 5dvh;--modal-x-offset: 5vw}.m_9df02822[data-full-screen]{--modal-border-radius: 0 !important}.m_9df02822[data-full-screen] .m_54c44539{--modal-content-flex: 0 0 100%;--modal-content-max-height: auto;--modal-content-height: 100dvh}.m_9df02822[data-full-screen] .m_1f958f16{--modal-inner-y-offset: 0;--modal-inner-x-offset: 0}.m_9df02822[data-centered] .m_1f958f16{--modal-inner-align: center}.m_d0e2b9cd{border-start-start-radius:var(--modal-radius, var(--mantine-radius-default));border-start-end-radius:var(--modal-radius, var(--mantine-radius-default))}.m_54c44539{flex:var(--modal-content-flex, 0 0 var(--modal-size));max-width:100%;max-height:var(--modal-content-max-height, calc(100dvh - var(--modal-y-offset) * 2));height:var(--modal-content-height, auto);overflow-y:auto}.m_54c44539[data-full-screen]{border-radius:0}.m_1f958f16{display:flex;justify-content:center;align-items:var(--modal-inner-align, flex-start);padding-top:var(--modal-inner-y-offset, var(--modal-y-offset));padding-bottom:var(--modal-inner-y-offset, var(--modal-y-offset));padding-inline:var(--modal-inner-x-offset, var(--modal-x-offset))}.m_7cda1cd6{--pill-fz-xs: calc(.625rem * var(--mantine-scale));--pill-fz-sm: calc(.75rem * var(--mantine-scale));--pill-fz-md: calc(.875rem * var(--mantine-scale));--pill-fz-lg: calc(1rem * var(--mantine-scale));--pill-fz-xl: calc(1.125rem * var(--mantine-scale));--pill-height-xs: calc(1.125rem * var(--mantine-scale));--pill-height-sm: calc(1.375rem * var(--mantine-scale));--pill-height-md: calc(1.5625rem * var(--mantine-scale));--pill-height-lg: calc(1.75rem * var(--mantine-scale));--pill-height-xl: calc(2rem * var(--mantine-scale));--pill-fz: var(--pill-fz-sm);--pill-height: var(--pill-height-sm);font-size:var(--pill-fz);flex:0;height:var(--pill-height);padding-inline:.8em;display:inline-flex;align-items:center;border-radius:var(--pill-radius, 1000rem);line-height:1;white-space:nowrap;-moz-user-select:none;user-select:none;-webkit-user-select:none;max-width:100%}:where([data-mantine-color-scheme=dark]) .m_7cda1cd6{background-color:var(--mantine-color-dark-7);color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_7cda1cd6{color:var(--mantine-color-black)}.m_7cda1cd6:where([data-with-remove]:not(:has(button:disabled))){padding-inline-end:0}.m_7cda1cd6:where([data-disabled],:has(button:disabled)){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_44da308b{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=light]) .m_44da308b:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=light]) .m_e3a01f8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=light]) .m_e3a01f8:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}.m_1e0e6180{cursor:inherit;overflow:hidden;height:100%;line-height:var(--pill-height);text-overflow:ellipsis}.m_ae386778{color:inherit;font-size:inherit;height:100%;min-height:unset;min-width:2em;width:unset;border-radius:0;padding-inline-start:.1em;padding-inline-end:.3em;flex:0}.m_7cda1cd6[data-disabled]>.m_ae386778,.m_ae386778:disabled{display:none;background-color:transparent;width:.8em;min-width:.8em;padding:0;cursor:not-allowed}.m_7cda1cd6[data-disabled]>.m_ae386778>svg,.m_ae386778:disabled>svg{display:none}.m_ae386778>svg{pointer-events:none}.m_1dcfd90b{--pg-gap-xs: calc(.375rem * var(--mantine-scale));--pg-gap-sm: calc(.5rem * var(--mantine-scale));--pg-gap-md: calc(.625rem * var(--mantine-scale));--pg-gap-lg: calc(.75rem * var(--mantine-scale));--pg-gap-xl: calc(.75rem * var(--mantine-scale));--pg-gap: var(--pg-gap-sm);display:flex;align-items:center;gap:var(--pg-gap);flex-wrap:wrap}.m_45c4369d{background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:calc(6.25rem * var(--mantine-scale));flex:1;border:0;font-size:inherit;height:1.6em;color:inherit;padding:0}.m_45c4369d::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_45c4369d::placeholder{color:var(--input-placeholder-color);opacity:1}.m_45c4369d:where([data-type=hidden],[data-type=auto]){height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));top:0;left:0;pointer-events:none;position:absolute;opacity:0}.m_45c4369d:focus{outline:none}.m_45c4369d:where([data-type=auto]:focus){height:1.6em;visibility:visible;opacity:1;position:static}.m_45c4369d:where([data-pointer]:not([data-disabled],:disabled)){cursor:pointer}.m_45c4369d:where([data-disabled],:disabled){cursor:not-allowed}.m_f0824112{--nl-bg: var(--mantine-primary-color-light);--nl-hover: var(--mantine-primary-color-light-hover);--nl-color: var(--mantine-primary-color-light-color);display:flex;align-items:center;width:100%;padding:8px var(--mantine-spacing-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_f0824112:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_f0824112:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:active{background-color:var(--mantine-color-dark-6)}}.m_f0824112:where([data-disabled]){opacity:.4;pointer-events:none}.m_f0824112:where([data-active],[aria-current=page]){background-color:var(--nl-bg);color:var(--nl-color)}@media (hover: hover){.m_f0824112:where([data-active],[aria-current=page]):hover{background-color:var(--nl-hover)}}@media (hover: none){.m_f0824112:where([data-active],[aria-current=page]):active{background-color:var(--nl-hover)}}.m_f0824112:where([data-active],[aria-current=page]) .m_57492dcc{--description-opacity: .9;--description-color: var(--nl-color)}.m_690090b5{display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.m_690090b5>svg{display:block}.m_690090b5:where([data-position=left]){margin-inline-end:var(--mantine-spacing-sm)}.m_690090b5:where([data-position=right]){margin-inline-start:var(--mantine-spacing-sm)}.m_690090b5:where([data-rotate]){transform:rotate(90deg)}.m_1f6ac4c4{font-size:var(--mantine-font-size-sm)}.m_f07af9d2{flex:1;overflow:hidden;text-overflow:ellipsis}.m_f07af9d2:where([data-no-wrap]){white-space:nowrap}.m_57492dcc{display:block;font-size:var(--mantine-font-size-xs);opacity:var(--description-opacity, 1);color:var(--description-color, var(--mantine-color-dimmed));overflow:hidden;text-overflow:ellipsis}:where([data-no-wrap]) .m_57492dcc{white-space:nowrap}.m_e17b862f{padding-inline-start:var(--nl-offset, var(--mantine-spacing-lg))}.m_1fd8a00b{transform:rotate(-90deg)}.m_a513464{--notification-radius: var(--mantine-radius-default);--notification-color: var(--mantine-primary-color-filled);overflow:hidden;box-sizing:border-box;position:relative;display:flex;align-items:center;padding-inline-start:calc(1.375rem * var(--mantine-scale));padding-inline-end:var(--mantine-spacing-xs);padding-top:var(--mantine-spacing-xs);padding-bottom:var(--mantine-spacing-xs);border-radius:var(--notification-radius);box-shadow:var(--mantine-shadow-lg)}.m_a513464:before{content:"";display:block;position:absolute;width:calc(.375rem * var(--mantine-scale));top:var(--notification-radius);bottom:var(--notification-radius);inset-inline-start:calc(.25rem * var(--mantine-scale));border-radius:var(--notification-radius);background-color:var(--notification-color)}:where([data-mantine-color-scheme=light]) .m_a513464{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_a513464{background-color:var(--mantine-color-dark-6)}.m_a513464:where([data-with-icon]){padding-inline-start:var(--mantine-spacing-xs)}.m_a513464:where([data-with-icon]):before{display:none}:where([data-mantine-color-scheme=light]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-dark-4)}.m_a4ceffb{box-sizing:border-box;margin-inline-end:var(--mantine-spacing-md);width:calc(1.75rem * var(--mantine-scale));height:calc(1.75rem * var(--mantine-scale));border-radius:calc(1.75rem * var(--mantine-scale));display:flex;align-items:center;justify-content:center;background-color:var(--notification-color);color:var(--mantine-color-white)}.m_b0920b15{margin-inline-end:var(--mantine-spacing-md)}.m_a49ed24{flex:1;overflow:hidden;margin-inline-end:var(--mantine-spacing-xs)}.m_3feedf16{margin-bottom:calc(.125rem * var(--mantine-scale));overflow:hidden;text-overflow:ellipsis;font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);font-weight:500}:where([data-mantine-color-scheme=light]) .m_3feedf16{color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_3feedf16{color:var(--mantine-color-white)}.m_3d733a3a{font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);overflow:hidden;text-overflow:ellipsis}:where([data-mantine-color-scheme=light]) .m_3d733a3a{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a{color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-dark-2)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_919a4d88:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:hover{background-color:var(--mantine-color-dark-8)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_919a4d88:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:active{background-color:var(--mantine-color-dark-8)}}.m_e2f5cd4e{--ni-right-section-width-xs: calc(1.0625rem * var(--mantine-scale));--ni-right-section-width-sm: calc(1.5rem * var(--mantine-scale));--ni-right-section-width-md: calc(1.6875rem * var(--mantine-scale));--ni-right-section-width-lg: calc(1.9375rem * var(--mantine-scale));--ni-right-section-width-xl: calc(2.125rem * var(--mantine-scale))}.m_95e17d22{--ni-chevron-size-xs: calc(.625rem * var(--mantine-scale));--ni-chevron-size-sm: calc(.875rem * var(--mantine-scale));--ni-chevron-size-md: calc(1rem * var(--mantine-scale));--ni-chevron-size-lg: calc(1.125rem * var(--mantine-scale));--ni-chevron-size-xl: calc(1.25rem * var(--mantine-scale));--ni-chevron-size: var(--ni-chevron-size-sm);display:flex;flex-direction:column;width:100%;height:calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));max-width:calc(var(--ni-chevron-size) * 1.7);margin-inline-start:auto}.m_80b4b171{--control-border: 1px solid var(--input-bd);--control-radius: calc(var(--input-radius) - calc(.0625rem * var(--mantine-scale)));flex:0 0 50%;width:100%;padding:0;height:calc(var(--input-height) / 2 - calc(.0625rem * var(--mantine-scale)));border-inline-start:var(--control-border);display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text);background-color:transparent;cursor:pointer}.m_80b4b171:where(:disabled){background-color:transparent;cursor:not-allowed;opacity:.6}:where([data-mantine-color-scheme=light]) .m_80b4b171:where(:disabled){color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:where(:disabled){color:var(--mantine-color-dark-3)}.m_e2f5cd4e[data-error] :where(.m_80b4b171){color:var(--mantine-color-error)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_80b4b171:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:hover{background-color:var(--mantine-color-dark-4)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_80b4b171:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:active{background-color:var(--mantine-color-dark-4)}}.m_80b4b171:where(:first-of-type){border-radius:0;border-start-end-radius:var(--control-radius)}.m_80b4b171:last-of-type{border-radius:0;border-end-end-radius:var(--control-radius)}.m_4addd315{--pagination-control-size-xs: calc(1.375rem * var(--mantine-scale));--pagination-control-size-sm: calc(1.625rem * var(--mantine-scale));--pagination-control-size-md: calc(2rem * var(--mantine-scale));--pagination-control-size-lg: calc(2.375rem * var(--mantine-scale));--pagination-control-size-xl: calc(2.75rem * var(--mantine-scale));--pagination-control-size: var(--pagination-control-size-md);--pagination-control-fz: var(--mantine-font-size-md);--pagination-active-bg: var(--mantine-primary-color-filled)}.m_326d024a{display:flex;align-items:center;justify-content:center;border:calc(.0625rem * var(--mantine-scale)) solid;cursor:pointer;color:var(--mantine-color-text);height:var(--pagination-control-size);min-width:var(--pagination-control-size);font-size:var(--pagination-control-fz);line-height:1;border-radius:var(--pagination-control-radius, var(--mantine-radius-default))}.m_326d024a:where([data-with-padding]){padding:calc(var(--pagination-control-size) / 4)}.m_326d024a:where(:disabled,[data-disabled]){cursor:not-allowed;opacity:.4}:where([data-mantine-color-scheme=light]) .m_326d024a{border-color:var(--mantine-color-gray-4);background-color:var(--mantine-color-white)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}:where([data-mantine-color-scheme=dark]) .m_326d024a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}@media (hover: hover){:where([data-mantine-color-scheme=dark]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}@media (hover: none){:where([data-mantine-color-scheme=dark]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}.m_326d024a:where([data-active]){background-color:var(--pagination-active-bg);border-color:var(--pagination-active-bg);color:var(--pagination-active-color, var(--mantine-color-white))}@media (hover: hover){.m_326d024a:where([data-active]):hover{background-color:var(--pagination-active-bg)}}@media (hover: none){.m_326d024a:where([data-active]):active{background-color:var(--pagination-active-bg)}}.m_4ad7767d{height:var(--pagination-control-size);min-width:var(--pagination-control-size);display:flex;align-items:center;justify-content:center;pointer-events:none}.m_f61ca620{--psi-button-size-xs: calc(1.375rem * var(--mantine-scale));--psi-button-size-sm: calc(1.625rem * var(--mantine-scale));--psi-button-size-md: calc(1.75rem * var(--mantine-scale));--psi-button-size-lg: calc(2rem * var(--mantine-scale));--psi-button-size-xl: calc(2.5rem * var(--mantine-scale));--psi-icon-size-xs: calc(.75rem * var(--mantine-scale));--psi-icon-size-sm: calc(.9375rem * var(--mantine-scale));--psi-icon-size-md: calc(1.0625rem * var(--mantine-scale));--psi-icon-size-lg: calc(1.1875rem * var(--mantine-scale));--psi-icon-size-xl: calc(1.3125rem * var(--mantine-scale));--psi-button-size: var(--psi-button-size-sm);--psi-icon-size: var(--psi-icon-size-sm)}.m_ccf8da4c{position:relative;overflow:hidden}.m_f2d85dd2{font-family:var(--mantine-font-family);background-color:transparent;border:0;padding-inline-end:var(--input-padding-inline-end);padding-inline-start:var(--input-padding-inline-start);position:absolute;inset:0;outline:0;font-size:inherit;line-height:var(--mantine-line-height);height:100%;width:100%;color:inherit}.m_ccf8da4c[data-disabled] .m_f2d85dd2,.m_f2d85dd2:disabled{cursor:not-allowed}.m_f2d85dd2::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_f2d85dd2::placeholder{color:var(--input-placeholder-color);opacity:1}.m_f2d85dd2::-ms-reveal{display:none}.m_b1072d44{width:var(--psi-button-size);height:var(--psi-button-size);min-width:var(--psi-button-size);min-height:var(--psi-button-size)}.m_b1072d44:disabled{display:none}.m_f1cb205a{--pin-input-size-xs: calc(1.875rem * var(--mantine-scale));--pin-input-size-sm: calc(2.25rem * var(--mantine-scale));--pin-input-size-md: calc(2.625rem * var(--mantine-scale));--pin-input-size-lg: calc(3.125rem * var(--mantine-scale));--pin-input-size-xl: calc(3.75rem * var(--mantine-scale));--pin-input-size: var(--pin-input-size-sm)}.m_cb288ead{width:var(--pin-input-size);height:var(--pin-input-size)}@keyframes m_81a374bd{0%{background-position:0 0}to{background-position:calc(2.5rem * var(--mantine-scale)) 0}}.m_db6d6462{--progress-radius: var(--mantine-radius-default);--progress-size: var(--progress-size-md);--progress-size-xs: calc(.1875rem * var(--mantine-scale));--progress-size-sm: calc(.3125rem * var(--mantine-scale));--progress-size-md: calc(.5rem * var(--mantine-scale));--progress-size-lg: calc(.75rem * var(--mantine-scale));--progress-size-xl: calc(1rem * var(--mantine-scale));position:relative;height:var(--progress-size);border-radius:var(--progress-radius);overflow:hidden;display:flex}:where([data-mantine-color-scheme=light]) .m_db6d6462{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_db6d6462{background-color:var(--mantine-color-dark-4)}.m_2242eb65{background-color:var(--progress-section-color);height:100%;width:var(--progress-section-width);display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:calc(1.25rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));transition:width var(--progress-transition-duration, .1s) ease}.m_2242eb65:where([data-striped]){background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.m_2242eb65:where([data-animated]){animation:m_81a374bd 1s linear infinite}.m_2242eb65:where(:last-of-type){border-radius:0;border-start-end-radius:var(--progress-radius);border-end-end-radius:var(--progress-radius)}.m_2242eb65:where(:first-of-type){border-radius:0;border-start-start-radius:var(--progress-radius);border-end-start-radius:var(--progress-radius)}.m_91e40b74{color:var(--progress-label-color, var(--mantine-color-white));font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:min(calc(var(--progress-size) * .65),calc(1.125rem * var(--mantine-scale)));line-height:1;padding-inline:calc(.25rem * var(--mantine-scale))}.m_9dc8ae12{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_9dc8ae12 :where(*){cursor:inherit}.m_9dc8ae12:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_717d7ff6{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-size: var(--radio-size-sm);--radio-color: var(--mantine-primary-color-filled);--radio-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--radio-size);min-width:var(--radio-size);height:var(--radio-size);min-height:var(--radio-size);border-radius:var(--radio-radius, 10000px);transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_717d7ff6{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_717d7ff6[data-indeterminate],.m_717d7ff6[data-checked]{background-color:var(--radio-color);border-color:var(--radio-color)}.m_717d7ff6[data-indeterminate]>.m_3e4da632,.m_717d7ff6[data-checked]>.m_3e4da632{opacity:1;transform:none;color:var(--radio-icon-color)}.m_717d7ff6[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-dark-3)}.m_2980836c[data-indeterminate]:not([data-disabled]),.m_2980836c[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--radio-color)}.m_2980836c[data-indeterminate]:not([data-disabled])>.m_3e4da632,.m_2980836c[data-checked]:not([data-disabled])>.m_3e4da632{color:var(--radio-color);opacity:1;transform:none}.m_3e4da632{display:block;width:var(--radio-icon-size);height:var(--radio-icon-size);color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_f3f1af94{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-size: var(--radio-size-sm);--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-icon-color: var(--mantine-color-white)}.m_89c4f5e4{position:relative;width:var(--radio-size);height:var(--radio-size);order:1}.m_89c4f5e4:where([data-label-position=left]){order:2}.m_f3ed6b2b{color:var(--radio-icon-color);opacity:var(--radio-icon-opacity, 0);transform:var(--radio-icon-transform, scale(.2) translateY(calc(.625rem * var(--mantine-scale))));transition:opacity .1s ease,transform .2s ease;pointer-events:none;width:var(--radio-icon-size);height:var(--radio-icon-size);position:absolute;top:calc(50% - var(--radio-icon-size) / 2);left:calc(50% - var(--radio-icon-size) / 2)}.m_8a3dbb89{border:calc(.0625rem * var(--mantine-scale)) solid;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--radio-size);height:var(--radio-size);border-radius:var(--radio-radius, var(--radio-size));margin:0;display:flex;align-items:center;justify-content:center;transition-property:background-color,border-color;transition-timing-function:ease;transition-duration:.1s;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_8a3dbb89{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_8a3dbb89:checked{background-color:var(--radio-color, var(--mantine-primary-color-filled));border-color:var(--radio-color, var(--mantine-primary-color-filled))}.m_8a3dbb89:checked+.m_f3ed6b2b{--radio-icon-opacity: 1;--radio-icon-transform: scale(1)}.m_8a3dbb89:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-gray-1);border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-dark-7)}.m_8a3dbb89:where([data-error]){border-color:var(--mantine-color-error)}.m_1bfe9d39+.m_f3ed6b2b{--radio-icon-color: var(--radio-color)}.m_1bfe9d39:checked:not(:disabled){background-color:transparent;border-color:var(--radio-color)}.m_1bfe9d39:checked:not(:disabled)+.m_f3ed6b2b{--radio-icon-color: var(--radio-color);--radio-icon-opacity: 1;--radio-icon-transform: none}.m_f8d312f2{--rating-size-xs: calc(.875rem * var(--mantine-scale));--rating-size-sm: calc(1.125rem * var(--mantine-scale));--rating-size-md: calc(1.25rem * var(--mantine-scale));--rating-size-lg: calc(1.75rem * var(--mantine-scale));--rating-size-xl: calc(2rem * var(--mantine-scale));display:flex;width:-moz-max-content;width:max-content}.m_f8d312f2:where(:has(input:disabled)){pointer-events:none}.m_61734bb7{position:relative;transition:transform .1s ease}.m_61734bb7:where([data-active]){z-index:1;transform:scale(1.1)}.m_5662a89a{width:var(--rating-size);height:var(--rating-size);display:block}:where([data-mantine-color-scheme=light]) .m_5662a89a{fill:var(--mantine-color-gray-3);stroke:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5662a89a{fill:var(--mantine-color-dark-3);stroke:var(--mantine-color-dark-3)}.m_5662a89a:where([data-filled]){fill:var(--rating-color);stroke:var(--rating-color)}.m_211007ba{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0;-webkit-tap-highlight-color:transparent}.m_211007ba:focus-visible+label{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_21342ee4{display:block;cursor:pointer;position:absolute;top:0;left:0;z-index:var(--rating-item-z-index, 0);-webkit-tap-highlight-color:transparent}.m_21342ee4:where([data-read-only]){cursor:default}.m_21342ee4:where(:last-of-type){position:relative}.m_fae05d6a{clip-path:var(--rating-symbol-clip-path)}.m_1b3c8819{--tooltip-radius: var(--mantine-radius-default);position:absolute;padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-xs);pointer-events:none;font-size:var(--mantine-font-size-sm);white-space:nowrap;border-radius:var(--tooltip-radius)}:where([data-mantine-color-scheme=light]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-9));color:var(--tooltip-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-2));color:var(--tooltip-color, var(--mantine-color-black))}.m_1b3c8819:where([data-multiline]){white-space:normal}.m_1b3c8819:where([data-fixed]){position:fixed}.m_f898399f{background-color:inherit;border:0;z-index:1}.m_b32e4812{position:relative;width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size)}.m_d43b5134{width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size);transform:rotate(-90deg)}.m_b1ca1fbf{stroke:var(--curve-color, var(--rp-curve-root-color))}[data-mantine-color-scheme=light] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-dark-4)}.m_b23f9dc4{position:absolute;top:50%;transform:translateY(-50%);inset-inline:var(--rp-label-offset)}.m_cf365364{--sc-padding-xs: calc(.1875rem * var(--mantine-scale)) calc(.375rem * var(--mantine-scale));--sc-padding-sm: calc(.3125rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--sc-padding-md: calc(.4375rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--sc-padding-lg: calc(.5625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--sc-padding-xl: calc(.75rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--sc-transition-duration: .2s;--sc-padding: var(--sc-padding-sm);--sc-transition-timing-function: ease;--sc-font-size: var(--mantine-font-size-sm);position:relative;display:inline-flex;flex-direction:row;width:auto;border-radius:var(--sc-radius, var(--mantine-radius-default));overflow:hidden;padding:calc(.25rem * var(--mantine-scale))}.m_cf365364:where([data-full-width]){display:flex}.m_cf365364:where([data-orientation=vertical]){display:flex;flex-direction:column;width:-moz-max-content;width:max-content}.m_cf365364:where([data-orientation=vertical]):where([data-full-width]){width:auto}:where([data-mantine-color-scheme=light]) .m_cf365364{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_cf365364{background-color:var(--mantine-color-dark-8)}.m_9e182ccd{position:absolute;display:block;z-index:1;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_9e182ccd{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_9e182ccd{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}.m_1738fcb2{-webkit-tap-highlight-color:transparent;font-weight:500;display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--sc-radius, var(--mantine-radius-default));font-size:var(--sc-font-size);padding:var(--sc-padding);transition:color var(--sc-transition-duration) var(--sc-transition-timing-function);cursor:pointer;outline:var(--segmented-control-outline, none)}:where([data-mantine-color-scheme=light]) .m_1738fcb2{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2{color:var(--mantine-color-dark-1)}.m_1738fcb2:where([data-read-only]){cursor:default}fieldset:disabled .m_1738fcb2,.m_1738fcb2:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-black))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-white))}.m_cf365364:where([data-initialized]) .m_1738fcb2:where([data-active]):before{display:none}.m_1738fcb2:where([data-active]):before{content:"";inset:0;z-index:0;position:absolute;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]):before{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]):before{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-white)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-white)}}@media (hover: hover){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-dark-3)!important}}@media (hover: none){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-dark-3)!important}}.m_1714d588{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0}.m_1714d588[data-focus-ring=auto]:focus:focus-visible+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_1714d588[data-focus-ring=always]:focus+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_69686b9b{position:relative;flex:1;z-index:2;transition:border-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_cf365364[data-with-items-borders] :where(.m_69686b9b):before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:0;background-color:var(--separator-color);width:calc(.0625rem * var(--mantine-scale));transition:background-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_69686b9b[data-orientation=vertical]:before{top:0;inset-inline:0;bottom:auto;height:calc(.0625rem * var(--mantine-scale));width:auto}:where([data-mantine-color-scheme=light]) .m_69686b9b{--separator-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_69686b9b{--separator-color: var(--mantine-color-dark-4)}.m_69686b9b:first-of-type:before{--separator-color: transparent}[data-mantine-color-scheme] .m_69686b9b[data-active]:before,[data-mantine-color-scheme] .m_69686b9b[data-active]+.m_69686b9b:before{--separator-color: transparent}.m_78882f40{position:relative;z-index:2}.m_925c2d2c{container:simple-grid / inline-size}.m_2415a157{display:grid;grid-template-columns:repeat(var(--sg-cols),minmax(0,1fr));gap:var(--sg-spacing-y) var(--sg-spacing-x)}@keyframes m_299c329c{0%,to{opacity:.4}50%{opacity:1}}.m_18320242{height:var(--skeleton-height, auto);width:var(--skeleton-width, 100%);border-radius:var(--skeleton-radius, var(--mantine-radius-default));position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.m_18320242:where([data-animate]):after{animation:m_299c329c 1.5s linear infinite}.m_18320242:where([data-visible]){overflow:hidden}.m_18320242:where([data-visible]):before{position:absolute;content:"";inset:0;z-index:10;background-color:var(--mantine-color-body)}.m_18320242:where([data-visible]):after{position:absolute;content:"";inset:0;z-index:11}:where([data-mantine-color-scheme=light]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-dark-4)}.m_dd36362e{--slider-size-xs: calc(.25rem * var(--mantine-scale));--slider-size-sm: calc(.375rem * var(--mantine-scale));--slider-size-md: calc(.5rem * var(--mantine-scale));--slider-size-lg: calc(.625rem * var(--mantine-scale));--slider-size-xl: calc(.75rem * var(--mantine-scale));--slider-size: var(--slider-size-md);--slider-radius: calc(62.5rem * var(--mantine-scale));--slider-color: var(--mantine-primary-color-filled);-webkit-tap-highlight-color:transparent;outline:none;height:calc(var(--slider-size) * 2);padding-inline:var(--slider-size);display:flex;flex-direction:column;align-items:center;touch-action:none;position:relative}[data-mantine-color-scheme=light] .m_dd36362e{--slider-track-bg: var(--mantine-color-gray-2);--slider-track-disabled-bg: var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .m_dd36362e{--slider-track-bg: var(--mantine-color-dark-4);--slider-track-disabled-bg: var(--mantine-color-dark-3)}.m_c9357328{position:absolute;top:calc(-2.25rem * var(--mantine-scale));font-size:var(--mantine-font-size-xs);color:var(--mantine-color-white);padding:calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);white-space:nowrap;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}:where([data-mantine-color-scheme=light]) .m_c9357328{background-color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_c9357328{background-color:var(--mantine-color-dark-4)}.m_c9a9a60a{position:absolute;display:flex;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:calc(.25rem * var(--mantine-scale)) solid;transform:translate(-50%,-50%);color:var(--slider-color);top:50%;cursor:pointer;border-radius:var(--slider-radius);align-items:center;justify-content:center;transition:box-shadow .1s ease,transform .1s ease;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;outline-offset:calc(.125rem * var(--mantine-scale));left:var(--slider-thumb-offset)}:where([dir=rtl]) .m_c9a9a60a{left:auto;right:calc(var(--slider-thumb-offset) - var(--slider-thumb-size))}fieldset:disabled .m_c9a9a60a,.m_c9a9a60a:where([data-disabled]){display:none}.m_c9a9a60a:where([data-dragging]){transform:translate(-50%,-50%) scale(1.05);box-shadow:var(--mantine-shadow-sm)}:where([data-mantine-color-scheme=light]) .m_c9a9a60a{border-color:var(--slider-color);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_c9a9a60a{border-color:var(--mantine-color-white);background-color:var(--slider-color)}.m_a8645c2{display:flex;align-items:center;width:100%;height:calc(var(--slider-size) * 2);cursor:pointer}fieldset:disabled .m_a8645c2,.m_a8645c2:where([data-disabled]){cursor:not-allowed}.m_c9ade57f{position:relative;width:100%;height:var(--slider-size)}.m_c9ade57f:where([data-inverted]:not([data-disabled])){--track-bg: var(--slider-color)}fieldset:disabled .m_c9ade57f:where([data-inverted]),.m_c9ade57f:where([data-inverted][data-disabled]){--track-bg: var(--slider-track-disabled-bg)}.m_c9ade57f:before{content:"";position:absolute;top:0;bottom:0;border-radius:var(--slider-radius);inset-inline:calc(var(--slider-size) * -1);background-color:var(--track-bg, var(--slider-track-bg));z-index:0}.m_38aeed47{position:absolute;z-index:1;top:0;bottom:0;background-color:var(--slider-color);border-radius:var(--slider-radius);width:var(--slider-bar-width);inset-inline-start:var(--slider-bar-offset)}.m_38aeed47:where([data-inverted]){background-color:var(--slider-track-bg)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=light]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=dark]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-dark-3)}.m_b7b0423a{position:absolute;inset-inline-start:calc(var(--mark-offset) - var(--slider-size) / 2);top:0;z-index:2;height:0;pointer-events:none}.m_dd33bc19{border:calc(.125rem * var(--mantine-scale)) solid;height:var(--slider-size);width:var(--slider-size);border-radius:calc(62.5rem * var(--mantine-scale));transform:translate((calc(var(--slider-size) / -2)));background-color:var(--mantine-color-white);pointer-events:none}:where([data-mantine-color-scheme=light]) .m_dd33bc19{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19{border-color:var(--mantine-color-dark-4)}.m_dd33bc19:where([data-filled]){border-color:var(--slider-color)}:where([data-mantine-color-scheme=light]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-dark-3)}.m_68c77a5b{transform:translate(calc(-50% + var(--slider-size) / 2),calc(var(--mantine-spacing-xs) / 2));font-size:var(--mantine-font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}:where([data-mantine-color-scheme=light]) .m_68c77a5b{color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_68c77a5b{color:var(--mantine-color-dark-2)}.m_559cce2d{position:relative}.m_559cce2d:where([data-has-spoiler]){margin-bottom:calc(1.5rem * var(--mantine-scale))}.m_b912df4e{display:flex;flex-direction:column;overflow:hidden;transition:max-height var(--spoiler-transition-duration, .2s) ease}.m_b9131032{position:absolute;inset-inline-start:0;top:100%;height:calc(1.5rem * var(--mantine-scale))}.m_6d731127{display:flex;flex-direction:column;align-items:var(--stack-align, stretch);justify-content:var(--stack-justify, flex-start);gap:var(--stack-gap, var(--mantine-spacing-md))}.m_cbb4ea7e{--stepper-icon-size-xs: calc(2.125rem * var(--mantine-scale));--stepper-icon-size-sm: calc(2.25rem * var(--mantine-scale));--stepper-icon-size-md: calc(2.625rem * var(--mantine-scale));--stepper-icon-size-lg: calc(3rem * var(--mantine-scale));--stepper-icon-size-xl: calc(3.25rem * var(--mantine-scale));--stepper-icon-size: var(--stepper-icon-size-md);--stepper-color: var(--mantine-primary-color-filled);--stepper-content-padding: var(--mantine-spacing-md);--stepper-spacing: var(--mantine-spacing-md);--stepper-radius: calc(62.5rem * var(--mantine-scale));--stepper-fz: var(--mantine-font-size-md)}.m_aaf89d0b{display:flex;flex-wrap:nowrap;align-items:center}.m_aaf89d0b:where([data-wrap]){flex-wrap:wrap;gap:var(--mantine-spacing-md) 0}.m_aaf89d0b:where([data-orientation=vertical]){flex-direction:column}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=left]){align-items:flex-start}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=right]){align-items:flex-end}.m_aaf89d0b:where([data-orientation=horizontal]){flex-direction:row}.m_2a371ac9{--separator-offset: calc(var(--stepper-icon-size) / 2 - calc(.0625rem * var(--mantine-scale)));transition:background-color .15s ease;flex:1}:where([data-mantine-color-scheme=light]) .m_2a371ac9{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2a371ac9{background-color:var(--mantine-color-dark-2)}.m_2a371ac9:where([data-active]){background-color:var(--stepper-color)}.m_2a371ac9:where([data-orientation=horizontal]){height:calc(.125rem * var(--mantine-scale));margin-inline:var(--mantine-spacing-md)}.m_2a371ac9:where([data-orientation=vertical]){width:calc(.125rem * var(--mantine-scale));margin-top:calc(var(--mantine-spacing-xs) / 2);margin-bottom:calc(var(--mantine-spacing-xs) - calc(.125rem * var(--mantine-scale)))}.m_2a371ac9:where([data-orientation=vertical]):where([data-icon-position=left]){margin-inline-start:var(--separator-offset)}.m_2a371ac9:where([data-orientation=vertical]):where([data-icon-position=right]){margin-inline-end:var(--separator-offset)}.m_78da155d{padding-top:var(--stepper-content-padding)}.m_cbb57068{--step-color: var(--stepper-color);display:flex;cursor:default}.m_cbb57068:where([data-allow-click]){cursor:pointer}.m_cbb57068:where([data-icon-position=left]){flex-direction:row}.m_cbb57068:where([data-icon-position=right]){flex-direction:row-reverse}.m_f56b1e2c{align-items:center}.m_833edb7e{--separator-spacing: calc(var(--mantine-spacing-xs) / 2);justify-content:flex-start;min-height:calc(var(--stepper-icon-size) + var(--mantine-spacing-xl) + var(--separator-spacing));margin-top:var(--separator-spacing);overflow:hidden}.m_833edb7e:where(:first-of-type){margin-top:0}.m_833edb7e:where(:last-of-type) .m_6496b3f3{display:none}.m_818e70b{position:relative}.m_6496b3f3{top:calc(var(--stepper-icon-size) + var(--separator-spacing));inset-inline-start:calc(var(--stepper-icon-size) / 2);height:100vh;position:absolute;border-inline-start:calc(.125rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_6496b3f3{border-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_6496b3f3{border-color:var(--mantine-color-dark-5)}.m_6496b3f3:where([data-active]){border-color:var(--stepper-color)}.m_1959ad01{height:var(--stepper-icon-size);width:var(--stepper-icon-size);min-height:var(--stepper-icon-size);min-width:var(--stepper-icon-size);border-radius:var(--stepper-radius);font-size:var(--stepper-fz);display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;transition:background-color .15s ease,border-color .15s ease;border:calc(.125rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_1959ad01{background-color:var(--mantine-color-gray-1);border-color:var(--mantine-color-gray-1);color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1959ad01{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-5);color:var(--mantine-color-dark-1)}.m_1959ad01:where([data-progress]){border-color:var(--step-color)}.m_1959ad01:where([data-completed]){color:var(--stepper-icon-color, var(--mantine-color-white));background-color:var(--step-color);border-color:var(--step-color)}.m_a79331dc{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--stepper-icon-color, var(--mantine-color-white))}.m_1956aa2a{display:flex;flex-direction:column}.m_1956aa2a:where([data-icon-position=left]){margin-inline-start:var(--mantine-spacing-sm)}.m_1956aa2a:where([data-icon-position=right]){text-align:right;margin-inline-end:var(--mantine-spacing-sm)}:where([dir=rtl]) .m_1956aa2a:where([data-icon-position=right]){text-align:left}.m_12051f6c{font-weight:500;font-size:var(--stepper-fz);line-height:1}.m_164eea74{margin-top:calc(var(--stepper-spacing) / 3);margin-bottom:calc(var(--stepper-spacing) / 3);font-size:calc(var(--stepper-fz) - calc(.125rem * var(--mantine-scale)));line-height:1;color:var(--mantine-color-dimmed)}.m_5f93f3bb{--switch-height-xs: calc(1rem * var(--mantine-scale));--switch-height-sm: calc(1.25rem * var(--mantine-scale));--switch-height-md: calc(1.5rem * var(--mantine-scale));--switch-height-lg: calc(1.875rem * var(--mantine-scale));--switch-height-xl: calc(2.25rem * var(--mantine-scale));--switch-width-xs: calc(2rem * var(--mantine-scale));--switch-width-sm: calc(2.375rem * var(--mantine-scale));--switch-width-md: calc(2.875rem * var(--mantine-scale));--switch-width-lg: calc(3.5rem * var(--mantine-scale));--switch-width-xl: calc(4.5rem * var(--mantine-scale));--switch-thumb-size-xs: calc(.75rem * var(--mantine-scale));--switch-thumb-size-sm: calc(.875rem * var(--mantine-scale));--switch-thumb-size-md: calc(1.125rem * var(--mantine-scale));--switch-thumb-size-lg: calc(1.375rem * var(--mantine-scale));--switch-thumb-size-xl: calc(1.75rem * var(--mantine-scale));--switch-label-font-size-xs: calc(.3125rem * var(--mantine-scale));--switch-label-font-size-sm: calc(.375rem * var(--mantine-scale));--switch-label-font-size-md: calc(.4375rem * var(--mantine-scale));--switch-label-font-size-lg: calc(.5625rem * var(--mantine-scale));--switch-label-font-size-xl: calc(.6875rem * var(--mantine-scale));--switch-track-label-padding-xs: calc(.0625rem * var(--mantine-scale));--switch-track-label-padding-sm: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-md: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-lg: calc(.1875rem * var(--mantine-scale));--switch-track-label-padding-xl: calc(.1875rem * var(--mantine-scale));--switch-height: var(--switch-height-sm);--switch-width: var(--switch-width-sm);--switch-thumb-size: var(--switch-thumb-size-sm);--switch-label-font-size: var(--switch-label-font-size-sm);--switch-track-label-padding: var(--switch-track-label-padding-sm);--switch-radius: calc(62.5rem * var(--mantine-scale));--switch-color: var(--mantine-primary-color-filled);position:relative}.m_926b4011{height:0;width:0;opacity:0;margin:0;padding:0;position:absolute;overflow:hidden;white-space:nowrap}.m_9307d992{-webkit-tap-highlight-color:transparent;cursor:var(--switch-cursor, var(--mantine-cursor-type));overflow:hidden;position:relative;border-radius:var(--switch-radius);background-color:var(--switch-bg);border:1px solid var(--switch-bd);height:var(--switch-height);min-width:var(--switch-width);margin:0;transition:background-color .15s ease,border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;font-size:var(--switch-label-font-size);font-weight:600;order:var(--switch-order, 1);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;line-height:0;color:var(--switch-text-color)}.m_926b4011:focus-visible+.m_9307d992{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_926b4011:checked+.m_9307d992{--switch-bg: var(--switch-color);--switch-bd: var(--switch-color);--switch-text-color: var(--mantine-color-white)}.m_926b4011:disabled+.m_9307d992,.m_926b4011[data-disabled]+.m_9307d992{--switch-bg: var(--switch-disabled-color);--switch-bd: var(--switch-disabled-color);--switch-cursor: not-allowed}[data-mantine-color-scheme=light] .m_9307d992{--switch-bg: var(--mantine-color-gray-2);--switch-bd: var(--mantine-color-gray-3);--switch-text-color: var(--mantine-color-gray-6);--switch-disabled-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_9307d992{--switch-bg: var(--mantine-color-dark-6);--switch-bd: var(--mantine-color-dark-4);--switch-text-color: var(--mantine-color-dark-1);--switch-disabled-color: var(--mantine-color-dark-4)}.m_9307d992[data-error]{--switch-bd: var(--mantine-color-error)}.m_9307d992[data-label-position=left]{--switch-order: 2}.m_93039a1d{position:absolute;z-index:1;border-radius:var(--switch-radius);display:flex;background-color:var(--switch-thumb-bg, var(--mantine-color-white));height:var(--switch-thumb-size);width:var(--switch-thumb-size);border:1px solid var(--switch-thumb-bd);inset-inline-start:var(--switch-thumb-start, var(--switch-track-label-padding));transition:inset-inline-start .15s ease}.m_93039a1d>*{margin:auto}.m_926b4011:checked+*>.m_93039a1d{--switch-thumb-start: calc(100% - var(--switch-thumb-size) - var(--switch-track-label-padding));--switch-thumb-bd: var(--mantine-color-white)}.m_926b4011:disabled+*>.m_93039a1d,.m_926b4011[data-disabled]+*>.m_93039a1d{--switch-thumb-bd: var(--switch-thumb-bg-disabled);--switch-thumb-bg: var(--switch-thumb-bg-disabled)}[data-mantine-color-scheme=light] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-gray-3);--switch-thumb-bg-disabled: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-white);--switch-thumb-bg-disabled: var(--mantine-color-dark-3)}.m_8277e082{height:100%;display:grid;place-content:center;min-width:calc(var(--switch-width) - var(--switch-thumb-size));padding-inline:var(--switch-track-label-padding);margin-inline-start:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));transition:margin .15s ease}.m_926b4011:checked+*>.m_8277e082{margin-inline-end:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));margin-inline-start:0}.m_b23fa0ef{width:100%;border-collapse:collapse;line-height:var(--mantine-line-height);font-size:var(--mantine-font-size-sm);table-layout:var(--table-layout, auto);caption-side:var(--table-caption-side, bottom);border:none}:where([data-mantine-color-scheme=light]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-gray-1);--table-striped-color: var(--mantine-color-gray-0);--table-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-dark-5);--table-striped-color: var(--mantine-color-dark-6);--table-border-color: var(--mantine-color-dark-4)}.m_b23fa0ef:where([data-with-table-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_4e7aa4f3{text-align:left}:where([dir=rtl]) .m_4e7aa4f3{text-align:right}.m_4e7aa4fd{border-bottom:none;background-color:transparent}@media (hover: hover){.m_4e7aa4fd:hover:where([data-hover]){background-color:var(--tr-hover-bg)}}@media (hover: none){.m_4e7aa4fd:active:where([data-hover]){background-color:var(--tr-hover-bg)}}.m_4e7aa4fd:where([data-with-row-border]){border-bottom:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_4e7aa4ef,.m_4e7aa4f3{padding:var(--table-vertical-spacing) var(--table-horizontal-spacing, var(--mantine-spacing-xs))}.m_4e7aa4ef:where([data-with-column-border]:not(:last-child)),.m_4e7aa4f3:where([data-with-column-border]:not(:last-child)){border-inline-end:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_b2404537 :where(tr):where([data-with-row-border]:last-of-type){border-bottom:none}.m_b2404537 :where(tr):where([data-striped=odd]:nth-of-type(odd)){background-color:var(--table-striped-color)}.m_b2404537 :where(tr):where([data-striped=even]:nth-of-type(2n)){background-color:var(--table-striped-color)}.m_b2404537 :where(tr)[data-hover]{--tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color))}.m_b242d975{top:var(--table-sticky-header-offset, 0);z-index:1}.m_b242d975:where([data-sticky]){position:sticky;background-color:var(--mantine-color-body)}.m_9e5a3ac7{color:var(--mantine-color-dimmed)}.m_9e5a3ac7:where([data-side=top]){margin-bottom:var(--mantine-spacing-xs)}.m_9e5a3ac7:where([data-side=bottom]){margin-top:var(--mantine-spacing-xs)}.m_a100c15{overflow-x:var(--table-overflow)}.m_62259741{min-width:var(--table-min-width)}.m_89d60db1{display:var(--tabs-display);flex-direction:var(--tabs-flex-direction);--tab-justify: flex-start;--tabs-list-direction: row;--tabs-panel-grow: unset;--tabs-display: block;--tabs-flex-direction: row;--tabs-list-border-width: 0;--tabs-list-border-size: 0 0 var(--tabs-list-border-width) 0;--tabs-list-gap: unset;--tabs-list-line-bottom: 0;--tabs-list-line-top: unset;--tabs-list-line-start: 0;--tabs-list-line-end: 0;--tab-radius: var(--tabs-radius) var(--tabs-radius) 0 0;--tab-border-width: 0 0 var(--tabs-list-border-width) 0}.m_89d60db1[data-inverted]{--tabs-list-line-bottom: unset;--tabs-list-line-top: 0;--tab-radius: 0 0 var(--tabs-radius) var(--tabs-radius);--tab-border-width: var(--tabs-list-border-width) 0 0 0}.m_89d60db1[data-inverted] .m_576c9d4:before{top:0;bottom:unset}.m_89d60db1[data-orientation=vertical]{--tabs-list-line-start: unset;--tabs-list-line-end: 0;--tabs-list-line-top: 0;--tabs-list-line-bottom: 0;--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);--tabs-list-direction: column;--tabs-panel-grow: 1;--tabs-display: flex}[dir=rtl] .m_89d60db1[data-orientation=vertical]{--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}.m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-flex-direction: row-reverse;--tabs-list-line-start: 0;--tabs-list-line-end: unset;--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}[dir=rtl] .m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius)}[data-mantine-color-scheme=light] .m_89d60db1{--tab-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89d60db1{--tab-border-color: var(--mantine-color-dark-4)}.m_89d60db1[data-orientation=horizontal]{--tab-justify: center}.m_89d60db1[data-variant=default]{--tabs-list-border-width: calc(.125rem * var(--mantine-scale))}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d60db1[data-variant=outline]{--tabs-list-border-width: calc(.0625rem * var(--mantine-scale))}.m_89d60db1[data-variant=pills]{--tabs-list-gap: calc(var(--mantine-spacing-sm) / 2)}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d33d6d{display:flex;flex-wrap:wrap;justify-content:var(--tabs-justify, flex-start);flex-direction:var(--tabs-list-direction);gap:var(--tabs-list-gap);--tab-grow: unset}.m_89d33d6d[data-grow]{--tab-grow: 1}.m_b0c91715{flex-grow:var(--tabs-panel-grow)}.m_4ec4dce6{position:relative;padding:var(--mantine-spacing-xs) var(--mantine-spacing-md);font-size:var(--mantine-font-size-sm);white-space:nowrap;z-index:0;display:flex;align-items:center;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-grow:var(--tab-grow);justify-content:var(--tab-justify)}.m_4ec4dce6:disabled,.m_4ec4dce6[data-disabled]{opacity:.5;cursor:not-allowed}.m_4ec4dce6:focus{z-index:1}.m_fc420b1f{display:flex;align-items:center;justify-content:center;margin-left:var(--tab-section-margin-left, 0);margin-right:var(--tab-section-margin-right, 0)}.m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: 0rem;--tab-section-margin-left: var(--mantine-spacing-xs)}.m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: 0rem;--tab-section-margin-right: var(--mantine-spacing-xs)}.m_576c9d4{position:relative}.m_576c9d4:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_539e827b{border-radius:var(--tab-radius);border-width:var(--tab-border-width);border-style:solid;border-color:transparent;background-color:var(--tab-bg);--tab-bg: transparent}.m_539e827b:where([data-active]){border-color:var(--tabs-color)}@media (hover: hover){.m_539e827b:hover{--tab-bg: var(--tab-hover-color)}.m_539e827b:hover:where(:not([data-active])){border-color:var(--tab-border-color)}}@media (hover: none){.m_539e827b:active{--tab-bg: var(--tab-hover-color)}.m_539e827b:active:where(:not([data-active])){border-color:var(--tab-border-color)}}@media (hover: hover){.m_539e827b:disabled:hover,.m_539e827b[data-disabled]:hover{--tab-bg: transparent}}@media (hover: none){.m_539e827b:disabled:active,.m_539e827b[data-disabled]:active{--tab-bg: transparent}}.m_6772fbd5{position:relative}.m_6772fbd5:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_b59ab47c{border-top:calc(.0625rem * var(--mantine-scale)) solid transparent;border-bottom:calc(.0625rem * var(--mantine-scale)) solid transparent;border-right:calc(.0625rem * var(--mantine-scale)) solid transparent;border-left:calc(.0625rem * var(--mantine-scale)) solid transparent;border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-radius:var(--tab-radius);position:relative;--tab-border-bottom-color: transparent;--tab-border-top-color: transparent;--tab-border-inline-end-color: transparent;--tab-border-inline-start-color: transparent}.m_b59ab47c:where([data-active]):before{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-before-bottom, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-before-left, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-before-right, auto);top:var(--tab-before-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]):after{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-after-bottom, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-after-right, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-after-left, auto);top:var(--tab-after-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]){border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-inline-start-color:var(--tab-border-inline-start-color);border-inline-end-color:var(--tab-border-inline-end-color);--tab-border-top-color: var(--tab-border-color);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--mantine-color-body)}.m_b59ab47c:where([data-active])[data-inverted]{--tab-border-bottom-color: var(--tab-border-color);--tab-border-top-color: var(--mantine-color-body);--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-bottom: auto;--tab-after-top: calc(-.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-border-inline-end-color: var(--mantine-color-body);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-before-left: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto;--tab-after-right: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-before-right: auto;--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-after-left: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-border-inline-start-color: var(--mantine-color-body);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-before-right: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto;--tab-after-left: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-before-left: auto;--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-after-right: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto}.m_c3381914{border-radius:var(--tabs-radius);background-color:var(--tab-bg);color:var(--tab-color);--tab-bg: transparent;--tab-color: inherit}@media (hover: hover){.m_c3381914:not([data-disabled]):hover{--tab-bg: var(--tab-hover-color)}}@media (hover: none){.m_c3381914:not([data-disabled]):active{--tab-bg: var(--tab-hover-color)}}.m_c3381914[data-active][data-active]{--tab-bg: var(--tabs-color);--tab-color: var(--tabs-text-color, var(--mantine-color-white))}@media (hover: hover){.m_c3381914[data-active][data-active]:hover{--tab-bg: var(--tabs-color)}}@media (hover: none){.m_c3381914[data-active][data-active]:active{--tab-bg: var(--tabs-color)}}.m_7341320d{--ti-size-xs: calc(1.125rem * var(--mantine-scale));--ti-size-sm: calc(1.375rem * var(--mantine-scale));--ti-size-md: calc(1.75rem * var(--mantine-scale));--ti-size-lg: calc(2.125rem * var(--mantine-scale));--ti-size-xl: calc(2.75rem * var(--mantine-scale));--ti-size: var(--ti-size-md);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ti-size);height:var(--ti-size);min-width:var(--ti-size);min-height:var(--ti-size);border-radius:var(--ti-radius, var(--mantine-radius-default));background:var(--ti-bg, var(--mantine-primary-color-filled));color:var(--ti-color, var(--mantine-color-white));border:var(--ti-bd, 1px solid transparent)}.m_43657ece{--offset: calc(var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2);--tl-bullet-size: calc(1.25rem * var(--mantine-scale));--tl-line-width: calc(.25rem * var(--mantine-scale));--tl-radius: calc(62.5rem * var(--mantine-scale));--tl-color: var(--mantine-primary-color-filled)}.m_43657ece:where([data-align=left]){padding-inline-start:var(--offset)}.m_43657ece:where([data-align=right]){padding-inline-end:var(--offset)}.m_2ebe8099{font-weight:500;line-height:1;margin-bottom:calc(var(--mantine-spacing-xs) / 2)}.m_436178ff{--item-border: var(--tl-line-width) var(--tli-border-style, solid) var(--item-border-color);position:relative;color:var(--mantine-color-text)}.m_436178ff:before{content:"";pointer-events:none;position:absolute;top:0;left:var(--timeline-line-left, 0);right:var(--timeline-line-right, 0);bottom:calc(var(--mantine-spacing-xl) * -1);border-inline-start:var(--item-border);display:var(--timeline-line-display, none)}.m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}[dir=rtl] .m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}.m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}[dir=rtl] .m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}.m_43657ece:where([data-align=left]) .m_436178ff{padding-inline-start:var(--offset);text-align:left}.m_43657ece:where([data-align=right]) .m_436178ff{padding-inline-end:var(--offset);text-align:right}:where([data-mantine-color-scheme=light]) .m_436178ff{--item-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_436178ff{--item-border-color: var(--mantine-color-dark-4)}.m_436178ff:where([data-line-active]):before{border-color:var(--tli-color, var(--tl-color))}.m_436178ff:where(:not(:last-of-type)){--timeline-line-display: block}.m_436178ff:where(:not(:first-of-type)){margin-top:var(--mantine-spacing-xl)}.m_8affcee1{width:var(--tl-bullet-size);height:var(--tl-bullet-size);border-radius:var(--tli-radius, var(--tl-radius));border:var(--tl-line-width) solid;background-color:var(--mantine-color-body);position:absolute;top:0;display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_8affcee1{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1{border-color:var(--mantine-color-dark-4)}.m_43657ece:where([data-align=left]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}.m_43657ece:where([data-align=right]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}.m_8affcee1:where([data-with-child]){border-width:var(--tl-line-width)}:where([data-mantine-color-scheme=light]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-dark-4)}.m_8affcee1:where([data-active]){border-color:var(--tli-color, var(--tl-color));background-color:var(--mantine-color-white);color:var(--tl-icon-color, var(--mantine-color-white))}.m_8affcee1:where([data-active]):where([data-with-child]){background-color:var(--tli-color, var(--tl-color));color:var(--tl-icon-color, var(--mantine-color-white))}.m_43657ece:where([data-align=left]) .m_540e8f41{padding-inline-start:var(--offset);text-align:left}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_540e8f41{text-align:right}.m_43657ece:where([data-align=right]) .m_540e8f41{padding-inline-end:var(--offset);text-align:right}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_540e8f41{text-align:left}.m_8a5d1357{margin:0;font-weight:var(--title-fw);font-size:var(--title-fz);line-height:var(--title-lh);font-family:var(--mantine-font-family-headings);text-wrap:var(--title-text-wrap, var(--mantine-heading-text-wrap))}.m_8a5d1357:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--title-line-clamp);-webkit-box-orient:vertical}.m_f698e191{--level-offset: var(--mantine-spacing-lg);margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_75f3ecf{margin:0;padding:0}.m_f6970eb1{cursor:pointer;list-style:none;margin:0;padding:0;outline:0}.m_f6970eb1:focus-visible>.m_dc283425{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_dc283425{padding-inline-start:var(--label-offset)}:where([data-mantine-color-scheme=light]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-dark-5)}.m_d6493fad :first-child{margin-top:0}.m_d6493fad :last-child{margin-bottom:0}.m_d6493fad :where(h1,h2,h3,h4,h5,h6){margin-bottom:var(--mantine-spacing-xs);text-wrap:var(--mantine-heading-text-wrap)}.m_d6493fad :where(h1){margin-top:calc(1.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h1-font-size);line-height:var(--mantine-h1-line-height);font-weight:var(--mantine-h1-font-weight)}.m_d6493fad :where(h2){margin-top:var(--mantine-spacing-xl);font-size:var(--mantine-h2-font-size);line-height:var(--mantine-h2-line-height);font-weight:var(--mantine-h2-font-weight)}.m_d6493fad :where(h3){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h3-font-size);line-height:var(--mantine-h3-line-height);font-weight:var(--mantine-h3-font-weight)}.m_d6493fad :where(h4){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h4-font-size);line-height:var(--mantine-h4-line-height);font-weight:var(--mantine-h4-font-weight)}.m_d6493fad :where(h5){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h5-font-size);line-height:var(--mantine-h5-line-height);font-weight:var(--mantine-h5-font-weight)}.m_d6493fad :where(h6){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h6-font-size);line-height:var(--mantine-h6-line-height);font-weight:var(--mantine-h6-font-weight)}.m_d6493fad :where(img){max-width:100%;margin-bottom:var(--mantine-spacing-xs)}.m_d6493fad :where(p){margin-top:0;margin-bottom:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-2);color:inherit}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-5);color:var(--mantine-color-black)}.m_d6493fad :where(a){color:var(--mantine-color-anchor);text-decoration:none}@media (hover: hover){.m_d6493fad :where(a):hover{text-decoration:underline}}@media (hover: none){.m_d6493fad :where(a):active{text-decoration:underline}}.m_d6493fad :where(hr){margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);border:0;border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(hr){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(hr){border-color:var(--mantine-color-dark-3)}.m_d6493fad :where(pre){padding:var(--mantine-spacing-xs);line-height:var(--mantine-line-height);margin:0;margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);overflow-x:auto;font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);border-radius:var(--mantine-radius-sm)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(pre){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(pre){background-color:var(--mantine-color-dark-8)}.m_d6493fad :where(pre) :where(code){background-color:transparent;padding:0;border-radius:0;color:inherit;border:0}.m_d6493fad :where(kbd){--kbd-fz: calc(.75rem * var(--mantine-scale));--kbd-padding: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-dark-3);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-5)}.m_d6493fad :where(code){line-height:var(--mantine-line-height);padding:calc(.0625rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));border-radius:var(--mantine-radius-sm);font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(code){background-color:var(--mantine-color-gray-0);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(code){background-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_d6493fad :where(ul,ol):not([data-type=taskList]){margin-bottom:var(--mantine-spacing-md);padding-inline-start:calc(2.375rem * var(--mantine-scale))}.m_d6493fad :where(ul,ol):not([data-type=taskList]) :where(li){margin-bottom:var(--mantine-spacing-xs)}.m_d6493fad :where(table){width:100%;border-collapse:collapse;caption-side:bottom;margin-bottom:var(--mantine-spacing-md)}.m_d6493fad :where(table) :where(caption){margin-top:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-sm);color:var(--mantine-color-gray-6)}.m_d6493fad :where(table) :where(th){text-align:left;font-weight:700;color:var(--mantine-color-gray-7);font-size:var(--mantine-font-size-sm);padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm)}.m_d6493fad :where(table) :where(thead th){border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3)}.m_d6493fad :where(table) :where(tfoot th){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3)}.m_d6493fad :where(table) :where(td){padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm);border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3);font-size:var(--mantine-font-size-sm)}.m_d6493fad :where(table) :where(tr:last-of-type td){border-bottom:0}.m_d6493fad :where(blockquote){font-size:var(--mantine-font-size-lg);line-height:var(--mantine-line-height);margin:var(--mantine-spacing-md) 0;border-radius:var(--mantine-radius-sm);padding:var(--mantine-spacing-md) var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-dark-8)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.draggable.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow__edges{position:absolute}.react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.likec4-shadow-root,.likec4-react-root{margin:0;padding:0;display:block;width:100%;height:100%;overflow:hidden;-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}.likec4-shadow-root{--font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--likec4-default-font-family: var(--font-family);--mantine-default-font-family: var(--font-family);--mantine-font-family: var(--font-family)}.likec4-shadow-root.likec4-browser{--mantine-color-body: rgb(0 0 0 / 0%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.likec4-shadow-root.likec4-browser[data-mantine-color-scheme=light]{--mantine-color-body: rgb(255 255 255 / 10%) !important}.likec4-shadow-root.likec4-browser[data-mantine-color-scheme=dark]{--mantine-color-body: rgb(12 12 12 / 25%) !important}.likec4-shadow-root.likec4-browser .mantine-CloseButton-root{position:absolute;z-index:1;top:calc(.625rem * var(--mantine-scale));right:calc(.625rem * var(--mantine-scale))}.likec4-shadow-root.likec4-view{overflow:hidden}.likec4-shadow-root.likec4-view .likec4-react-root{cursor:pointer;background-color:unset;padding:2px}.likec4-shadow-root.likec4-view .likec4-react-root .likec4-compound-node,.likec4-shadow-root.likec4-view .likec4-react-root .likec4-element-node{cursor:pointer}.likec4-diagram-root{overflow:hidden;position:relative;width:100%;height:100%;padding:0;margin:0;box-sizing:border-box;-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}.likec4-diagram-root{--likec4-font-family: var(--likec4-default-font-family,'ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"');--likec4-background-color: var(--mantine-color-body);--likec4-background-pattern-color: var(--mantine-color-dark-3);--likec4-compound-font-family: var(--likec4-font-family);--likec4-compound-title-color: var(--likec4-element-loContrast);--likec4-element-font-family: var(--likec4-font-family);--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-mantine-color-scheme=light]) .likec4-diagram-root{--likec4-background-pattern-color: var(--mantine-color-gray-6)}:where([data-likec4-color=primary]){--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-compound-title-color: #bfdbfe;--likec4-relation-lineColor: #3b82f6;--likec4-relation-labelBg: #172554;--likec4-relation-labelColor: #60a5fa}:where([data-likec4-color=primary][data-compound-depth="1"]){--likec4-element-fill: #1a5bc5;--likec4-element-stroke: #1e49a9}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="1"]){--likec4-element-fill: #145ed7;--likec4-element-stroke: #194bb8}:where([data-likec4-color=primary][data-compound-depth="2"]){--likec4-element-fill: #1e56b1;--likec4-element-stroke: #204698}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="2"]){--likec4-element-fill: #195cc8;--likec4-element-stroke: #1d4aac}:where([data-likec4-color=primary][data-compound-depth="3"]){--likec4-element-fill: #21519f;--likec4-element-stroke: #224289}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="3"]){--likec4-element-fill: #1e59ba;--likec4-element-stroke: #2149a0}:where([data-likec4-color=primary][data-compound-depth="4"]){--likec4-element-fill: #234c8e;--likec4-element-stroke: #243f7a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="4"]){--likec4-element-fill: #2357ad;--likec4-element-stroke: #244795}:where([data-likec4-color=primary][data-compound-depth="5"]){--likec4-element-fill: #25467d;--likec4-element-stroke: #243b6c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="5"]){--likec4-element-fill: #2755a0;--likec4-element-stroke: #27468a}:where([data-likec4-color=primary][data-compound-depth="6"]){--likec4-element-fill: #25416d;--likec4-element-stroke: #24365f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=primary][data-compound-depth="6"]){--likec4-element-fill: #2a5293;--likec4-element-stroke: #2a447f}:where([data-likec4-color=blue]){--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-compound-title-color: #bfdbfe;--likec4-relation-lineColor: #3b82f6;--likec4-relation-labelBg: #172554;--likec4-relation-labelColor: #60a5fa}:where([data-likec4-color=blue][data-compound-depth="1"]){--likec4-element-fill: #1a5bc5;--likec4-element-stroke: #1e49a9}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="1"]){--likec4-element-fill: #145ed7;--likec4-element-stroke: #194bb8}:where([data-likec4-color=blue][data-compound-depth="2"]){--likec4-element-fill: #1e56b1;--likec4-element-stroke: #204698}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="2"]){--likec4-element-fill: #195cc8;--likec4-element-stroke: #1d4aac}:where([data-likec4-color=blue][data-compound-depth="3"]){--likec4-element-fill: #21519f;--likec4-element-stroke: #224289}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="3"]){--likec4-element-fill: #1e59ba;--likec4-element-stroke: #2149a0}:where([data-likec4-color=blue][data-compound-depth="4"]){--likec4-element-fill: #234c8e;--likec4-element-stroke: #243f7a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="4"]){--likec4-element-fill: #2357ad;--likec4-element-stroke: #244795}:where([data-likec4-color=blue][data-compound-depth="5"]){--likec4-element-fill: #25467d;--likec4-element-stroke: #243b6c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="5"]){--likec4-element-fill: #2755a0;--likec4-element-stroke: #27468a}:where([data-likec4-color=blue][data-compound-depth="6"]){--likec4-element-fill: #25416d;--likec4-element-stroke: #24365f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=blue][data-compound-depth="6"]){--likec4-element-fill: #2a5293;--likec4-element-stroke: #2a447f}:where([data-likec4-color=secondary]){--likec4-element-fill: #0284c7;--likec4-element-stroke: #0369a1;--likec4-element-hiContrast: #f0f9ff;--likec4-element-loContrast: #B6ECF7;--likec4-compound-title-color: #B6ECF7;--likec4-relation-lineColor: #0ea5e9;--likec4-relation-labelBg: #082f49;--likec4-relation-labelColor: #38bdf8}:where([data-likec4-color=secondary][data-compound-depth="1"]){--likec4-element-fill: #0d5d86;--likec4-element-stroke: #0b4a6c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="1"]){--likec4-element-fill: #086392;--likec4-element-stroke: #084f76}:where([data-likec4-color=secondary][data-compound-depth="2"]){--likec4-element-fill: #105579;--likec4-element-stroke: #0e4462}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="2"]){--likec4-element-fill: #0c5e88;--likec4-element-stroke: #0b4b6e}:where([data-likec4-color=secondary][data-compound-depth="3"]){--likec4-element-fill: #134e6c;--likec4-element-stroke: #103e57}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="3"]){--likec4-element-fill: #10597f;--likec4-element-stroke: #0e4767}:where([data-likec4-color=secondary][data-compound-depth="4"]){--likec4-element-fill: #154660;--likec4-element-stroke: #11384e}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="4"]){--likec4-element-fill: #135475;--likec4-element-stroke: #11435f}:where([data-likec4-color=secondary][data-compound-depth="5"]){--likec4-element-fill: #163f55;--likec4-element-stroke: #123345}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="5"]){--likec4-element-fill: #164f6c;--likec4-element-stroke: #133f58}:where([data-likec4-color=secondary][data-compound-depth="6"]){--likec4-element-fill: #17384a;--likec4-element-stroke: #132d3c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=secondary][data-compound-depth="6"]){--likec4-element-fill: #194a64;--likec4-element-stroke: #153c51}:where([data-likec4-color=sky]){--likec4-element-fill: #0284c7;--likec4-element-stroke: #0369a1;--likec4-element-hiContrast: #f0f9ff;--likec4-element-loContrast: #B6ECF7;--likec4-compound-title-color: #B6ECF7;--likec4-relation-lineColor: #0ea5e9;--likec4-relation-labelBg: #082f49;--likec4-relation-labelColor: #38bdf8}:where([data-likec4-color=sky][data-compound-depth="1"]){--likec4-element-fill: #0d5d86;--likec4-element-stroke: #0b4a6c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="1"]){--likec4-element-fill: #086392;--likec4-element-stroke: #084f76}:where([data-likec4-color=sky][data-compound-depth="2"]){--likec4-element-fill: #105579;--likec4-element-stroke: #0e4462}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="2"]){--likec4-element-fill: #0c5e88;--likec4-element-stroke: #0b4b6e}:where([data-likec4-color=sky][data-compound-depth="3"]){--likec4-element-fill: #134e6c;--likec4-element-stroke: #103e57}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="3"]){--likec4-element-fill: #10597f;--likec4-element-stroke: #0e4767}:where([data-likec4-color=sky][data-compound-depth="4"]){--likec4-element-fill: #154660;--likec4-element-stroke: #11384e}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="4"]){--likec4-element-fill: #135475;--likec4-element-stroke: #11435f}:where([data-likec4-color=sky][data-compound-depth="5"]){--likec4-element-fill: #163f55;--likec4-element-stroke: #123345}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="5"]){--likec4-element-fill: #164f6c;--likec4-element-stroke: #133f58}:where([data-likec4-color=sky][data-compound-depth="6"]){--likec4-element-fill: #17384a;--likec4-element-stroke: #132d3c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=sky][data-compound-depth="6"]){--likec4-element-fill: #194a64;--likec4-element-stroke: #153c51}:where([data-likec4-color=muted]){--likec4-element-fill: #64748b;--likec4-element-stroke: #475569;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #cbd5e1;--likec4-compound-title-color: #cbd5e1;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-likec4-color=muted][data-compound-depth="1"]){--likec4-element-fill: #4b5563;--likec4-element-stroke: #363e4b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="1"]){--likec4-element-fill: #4e5a6a;--likec4-element-stroke: #384250}:where([data-likec4-color=muted][data-compound-depth="2"]){--likec4-element-fill: #474f5c;--likec4-element-stroke: #333a45}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="2"]){--likec4-element-fill: #4c5665;--likec4-element-stroke: #363f4c}:where([data-likec4-color=muted][data-compound-depth="3"]){--likec4-element-fill: #424a54;--likec4-element-stroke: #30363f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="3"]){--likec4-element-fill: #4a5360;--likec4-element-stroke: #353d48}:where([data-likec4-color=muted][data-compound-depth="4"]){--likec4-element-fill: #3e444d;--likec4-element-stroke: #2d323a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="4"]){--likec4-element-fill: #48505b;--likec4-element-stroke: #333a44}:where([data-likec4-color=muted][data-compound-depth="5"]){--likec4-element-fill: #393e46;--likec4-element-stroke: #292e34}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="5"]){--likec4-element-fill: #454c56;--likec4-element-stroke: #323841}:where([data-likec4-color=muted][data-compound-depth="6"]){--likec4-element-fill: #34383e;--likec4-element-stroke: #26292f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=muted][data-compound-depth="6"]){--likec4-element-fill: #434951;--likec4-element-stroke: #30353d}:where([data-likec4-color=slate]){--likec4-element-fill: #64748b;--likec4-element-stroke: #475569;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #cbd5e1;--likec4-compound-title-color: #cbd5e1;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-likec4-color=slate][data-compound-depth="1"]){--likec4-element-fill: #4b5563;--likec4-element-stroke: #363e4b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="1"]){--likec4-element-fill: #4e5a6a;--likec4-element-stroke: #384250}:where([data-likec4-color=slate][data-compound-depth="2"]){--likec4-element-fill: #474f5c;--likec4-element-stroke: #333a45}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="2"]){--likec4-element-fill: #4c5665;--likec4-element-stroke: #363f4c}:where([data-likec4-color=slate][data-compound-depth="3"]){--likec4-element-fill: #424a54;--likec4-element-stroke: #30363f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="3"]){--likec4-element-fill: #4a5360;--likec4-element-stroke: #353d48}:where([data-likec4-color=slate][data-compound-depth="4"]){--likec4-element-fill: #3e444d;--likec4-element-stroke: #2d323a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="4"]){--likec4-element-fill: #48505b;--likec4-element-stroke: #333a44}:where([data-likec4-color=slate][data-compound-depth="5"]){--likec4-element-fill: #393e46;--likec4-element-stroke: #292e34}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="5"]){--likec4-element-fill: #454c56;--likec4-element-stroke: #323841}:where([data-likec4-color=slate][data-compound-depth="6"]){--likec4-element-fill: #34383e;--likec4-element-stroke: #26292f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=slate][data-compound-depth="6"]){--likec4-element-fill: #434951;--likec4-element-stroke: #30353d}:where([data-likec4-color=gray]){--likec4-element-fill: #737373;--likec4-element-stroke: #525252;--likec4-element-hiContrast: #fafafa;--likec4-element-loContrast: #d4d4d4;--likec4-compound-title-color: #d4d4d4;--likec4-relation-lineColor: #6E6E6E;--likec4-relation-labelBg: #18191b;--likec4-relation-labelColor: #C6C6C6}:where([data-likec4-color=gray][data-compound-depth="1"]){--likec4-element-fill: #545454;--likec4-element-stroke: #3c3c3c}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="1"]){--likec4-element-fill: #595959;--likec4-element-stroke: #3f3f3f}:where([data-likec4-color=gray][data-compound-depth="2"]){--likec4-element-fill: #4e4e4e;--likec4-element-stroke: #383838}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="2"]){--likec4-element-fill: #555555;--likec4-element-stroke: #3d3d3d}:where([data-likec4-color=gray][data-compound-depth="3"]){--likec4-element-fill: #484848;--likec4-element-stroke: #343434}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="3"]){--likec4-element-fill: #525252;--likec4-element-stroke: #3a3a3a}:where([data-likec4-color=gray][data-compound-depth="4"]){--likec4-element-fill: #434343;--likec4-element-stroke: #303030}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="4"]){--likec4-element-fill: #4e4e4e;--likec4-element-stroke: #383838}:where([data-likec4-color=gray][data-compound-depth="5"]){--likec4-element-fill: #3d3d3d;--likec4-element-stroke: #2b2b2b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="5"]){--likec4-element-fill: #4b4b4b;--likec4-element-stroke: #353535}:where([data-likec4-color=gray][data-compound-depth="6"]){--likec4-element-fill: #373737;--likec4-element-stroke: #272727}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=gray][data-compound-depth="6"]){--likec4-element-fill: #474747;--likec4-element-stroke: #333333}:where([data-likec4-color=red]){--likec4-element-fill: #AC4D39;--likec4-element-stroke: #853A2D;--likec4-element-hiContrast: #FBD3CB;--likec4-element-loContrast: #FF977D;--likec4-compound-title-color: #FF977D;--likec4-relation-lineColor: #AC4D39;--likec4-relation-labelBg: #b91c1c;--likec4-relation-labelColor: #FF977D}:where([data-likec4-color=red][data-compound-depth="1"]){--likec4-element-fill: #773d30;--likec4-element-stroke: #5c2e26}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="1"]){--likec4-element-fill: #803e30;--likec4-element-stroke: #632f26}:where([data-likec4-color=red][data-compound-depth="2"]){--likec4-element-fill: #6c3a2f;--likec4-element-stroke: #542c25}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="2"]){--likec4-element-fill: #793d31;--likec4-element-stroke: #5e2e26}:where([data-likec4-color=red][data-compound-depth="3"]){--likec4-element-fill: #62372e;--likec4-element-stroke: #4c2a24}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="3"]){--likec4-element-fill: #723c31;--likec4-element-stroke: #582e27}:where([data-likec4-color=red][data-compound-depth="4"]){--likec4-element-fill: #58342c;--likec4-element-stroke: #442823}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="4"]){--likec4-element-fill: #6a3b31;--likec4-element-stroke: #522d27}:where([data-likec4-color=red][data-compound-depth="5"]){--likec4-element-fill: #4f312a;--likec4-element-stroke: #3d2521}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="5"]){--likec4-element-fill: #633a31;--likec4-element-stroke: #4d2c27}:where([data-likec4-color=red][data-compound-depth="6"]){--likec4-element-fill: #462d28;--likec4-element-stroke: #36231f}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=red][data-compound-depth="6"]){--likec4-element-fill: #5d3931;--likec4-element-stroke: #482b27}:where([data-likec4-color=green]){--likec4-element-fill: #428a4f;--likec4-element-stroke: #2d5d39;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #c2f0c2;--likec4-compound-title-color: #c2f0c2;--likec4-relation-lineColor: #15803d;--likec4-relation-labelBg: #052e16;--likec4-relation-labelColor: #22c55e}:where([data-likec4-color=green][data-compound-depth="1"]){--likec4-element-fill: #34613c;--likec4-element-stroke: #24412b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="1"]){--likec4-element-fill: #35683e;--likec4-element-stroke: #24462d}:where([data-likec4-color=green][data-compound-depth="2"]){--likec4-element-fill: #325839;--likec4-element-stroke: #223c29}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="2"]){--likec4-element-fill: #35623d;--likec4-element-stroke: #24422c}:where([data-likec4-color=green][data-compound-depth="3"]){--likec4-element-fill: #305136;--likec4-element-stroke: #213626}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="3"]){--likec4-element-fill: #345d3c;--likec4-element-stroke: #243e2a}:where([data-likec4-color=green][data-compound-depth="4"]){--likec4-element-fill: #2d4932;--likec4-element-stroke: #1f3123}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="4"]){--likec4-element-fill: #33573a;--likec4-element-stroke: #233b29}:where([data-likec4-color=green][data-compound-depth="5"]){--likec4-element-fill: #2b422f;--likec4-element-stroke: #1d2c21}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="5"]){--likec4-element-fill: #335238;--likec4-element-stroke: #223728}:where([data-likec4-color=green][data-compound-depth="6"]){--likec4-element-fill: #283a2b;--likec4-element-stroke: #1b271e}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=green][data-compound-depth="6"]){--likec4-element-fill: #324d37;--likec4-element-stroke: #223426}:where([data-likec4-color=amber]){--likec4-element-fill: #A35829;--likec4-element-stroke: #7E451D;--likec4-element-hiContrast: #FFE0C2;--likec4-element-loContrast: #f9b27c;--likec4-compound-title-color: #f9b27c;--likec4-relation-lineColor: #b45309;--likec4-relation-labelBg: #78350f;--likec4-relation-labelColor: #FFE0C2}:where([data-likec4-color=amber][data-compound-depth="1"]){--likec4-element-fill: #704225;--likec4-element-stroke: #56331b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="1"]){--likec4-element-fill: #794524;--likec4-element-stroke: #5e361a}:where([data-likec4-color=amber][data-compound-depth="2"]){--likec4-element-fill: #663e25;--likec4-element-stroke: #4e301b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="2"]){--likec4-element-fill: #724325;--likec4-element-stroke: #58341b}:where([data-likec4-color=amber][data-compound-depth="3"]){--likec4-element-fill: #5c3a25;--likec4-element-stroke: #472d1b}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="3"]){--likec4-element-fill: #6b4126;--likec4-element-stroke: #52321c}:where([data-likec4-color=amber][data-compound-depth="4"]){--likec4-element-fill: #533624;--likec4-element-stroke: #402a1a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="4"]){--likec4-element-fill: #643e27;--likec4-element-stroke: #4d301d}:where([data-likec4-color=amber][data-compound-depth="5"]){--likec4-element-fill: #493223;--likec4-element-stroke: #38261a}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="5"]){--likec4-element-fill: #5d3c28;--likec4-element-stroke: #472f1d}:where([data-likec4-color=amber][data-compound-depth="6"]){--likec4-element-fill: #412d21;--likec4-element-stroke: #322319}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=amber][data-compound-depth="6"]){--likec4-element-fill: #563a28;--likec4-element-stroke: #422d1e}:where([data-likec4-color=indigo]){--likec4-element-fill: #6366f1;--likec4-element-stroke: #4f46e5;--likec4-element-hiContrast: #eef2ff;--likec4-element-loContrast: #c7d2fe;--likec4-compound-title-color: #c7d2fe;--likec4-relation-lineColor: #6366f1;--likec4-relation-labelBg: #1e1b4b;--likec4-relation-labelColor: #818cf8}:where([data-likec4-color=indigo][data-compound-depth="1"]){--likec4-element-fill: #2529d3;--likec4-element-stroke: #3028b2}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="1"]){--likec4-element-fill: #2529e1;--likec4-element-stroke: #2d24c2}:where([data-likec4-color=indigo][data-compound-depth="2"]){--likec4-element-fill: #282bbf;--likec4-element-stroke: #312aa1}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="2"]){--likec4-element-fill: #2428d7;--likec4-element-stroke: #3028b5}:where([data-likec4-color=indigo][data-compound-depth="3"]){--likec4-element-fill: #2b2dac;--likec4-element-stroke: #312b91}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="3"]){--likec4-element-fill: #292cc8;--likec4-element-stroke: #322ba9}:where([data-likec4-color=indigo][data-compound-depth="4"]){--likec4-element-fill: #2c2f99;--likec4-element-stroke: #302c82}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="4"]){--likec4-element-fill: #2d30ba;--likec4-element-stroke: #342e9e}:where([data-likec4-color=indigo][data-compound-depth="5"]){--likec4-element-fill: #2d2f87;--likec4-element-stroke: #2f2b73}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="5"]){--likec4-element-fill: #3133ac;--likec4-element-stroke: #363092}:where([data-likec4-color=indigo][data-compound-depth="6"]){--likec4-element-fill: #2d2e76;--likec4-element-stroke: #2e2b65}:where([data-mantine-color-scheme=light]) :where([data-likec4-color=indigo][data-compound-depth="6"]){--likec4-element-fill: #34369f;--likec4-element-stroke: #373287}.react-flow._17jps3v0{--xy-background-color: var(--likec4-background-color);--xy-background-pattern-color: var(--likec4-background-pattern-color)}.react-flow._17jps3v0._17jps3v2{--likec4-background-color: transparent !important;--xy-background-color: transparent !important;background-color:transparent!important}:where(._17jps3v3,._17jps3v2) .react-flow__attribution{display:none}@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){._17jps3v0{--likec4-safari-animation-hook: }}@keyframes yi2p6v7{0%{stroke-dashoffset:46}to{stroke-dashoffset:10}}.yi2p6v1{--yi2p6v0: black;--xy-edge-stroke: var(--likec4-relation-lineColor);--xy-edge-stroke-selected: color-mix(in srgb, var(--likec4-relation-lineColor), var(--yi2p6v0) 35%);--xy-edge-label-color: color-mix(in srgb, var(--likec4-relation-labelColor), rgba(255 255 255 / .85) 20%);--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 40%);--xy-edge-stroke-width: 3}:where([data-mantine-color-scheme=dark]) .yi2p6v1{--yi2p6v0: white;--xy-edge-label-color: var(--likec4-relation-labelColor);--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 50%)}:where(.react-flow__edge.selected) .yi2p6v1{--xy-edge-stroke: var(--xy-edge-stroke-selected);--xy-edge-stroke-width: 3}.yi2p6v1:is([data-edge-hovered=true],[data-edge-active=true]){--xy-edge-stroke: var(--xy-edge-stroke-selected);--xy-edge-stroke-width: 3}:where(.react-flow__edge.selected) .yi2p6v1[data-edge-hovered=true]{--xy-edge-stroke-width: 4}.react-flow__edges>svg{mix-blend-mode:plus-lighter}.react-flow__edges>svg:has(.yi2p6v2){opacity:.6;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.yi2p6v3{stroke-opacity:.08;transition-property:stroke-width,stroke-opacity;transition-duration:155ms;transition-timing-function:ease-out}:where(.react-flow__edge.selected,[data-edge-active=true],[data-edge-hovered=true]) .yi2p6v3{stroke-width:calc(var(--xy-edge-stroke-width) + 8);stroke-opacity:.15}.yi2p6v4{fill:var(--xy-edge-stroke);stroke:var(--xy-edge-stroke)}.yi2p6v5{fill:var(--xy-edge-stroke);stroke:var(--xy-edge-stroke);fill-opacity:.75;stroke-width:1;cursor:default;pointer-events:auto;visibility:hidden}.yi2p6v5:hover{stroke:var(--mantine-primary-color-filled-hover);stroke-width:9;transition:stroke .1s ease-out,stroke-width .1s ease-out}:where(.react-flow__edge.selected,[data-edge-hovered=true]) .yi2p6v5{visibility:visible;transition:fill-opacity .15s ease-out,stroke .15s ease-out,stroke-width .15s ease-out;transition-delay:50ms;fill-opacity:1;stroke-width:5}.yi2p6v6,.yi2p6v6 *{cursor:grab}.yi2p6v8{animation-duration:.8s;animation-iteration-count:infinite;animation-timing-function:linear;animation-fill-mode:both;stroke-dashoffset:10}:where([data-edge-hovered=true]) .yi2p6v8{animation-name:yi2p6v7;animation-delay:.45s;transition:stroke .13s ease-out,stroke-width .13s ease-out}:where(.react-flow__edge.selected,[data-edge-active=true]) .yi2p6v8{animation-name:yi2p6v7;animation-delay:0ms;transition:stroke .13s ease-out,stroke-width .13s ease-out}:where([data-edge-dir=back]) .yi2p6v8{animation-direction:reverse}.yi2p6v2 .yi2p6v8{animation-play-state:paused}.yi2p6vc{--yi2p6vb: translate(var(--yi2p6v9, -50%), var(--yi2p6va, -50%));top:0;left:0;padding:2px 4px 4px;font-family:var(--likec4-font-family);position:absolute;pointer-events:all;cursor:pointer;width:-moz-fit-content;width:fit-content;transform-origin:50% 50%;mix-blend-mode:plus-lighter;color:var(--xy-edge-label-color);background-color:var(--xy-edge-label-background-color);border-radius:3px;transform:var(--yi2p6vb)}.yi2p6vc[data-edge-hovered=true]{transition:all .14s ease-in-out;transform:var(--yi2p6vb) scale(1.12)}.yi2p6vc:is(.yi2p6v2){opacity:.3;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.yi2p6vd{position:absolute;top:-2px;left:-2px;font-weight:500;font-size:calc(1rem * var(--mantine-scale));line-height:.9;padding:4px 6px;border-radius:99999px;text-align:center;min-width:22px;background-color:var(--xy-edge-label-background-color);transition:all .12s ease-out;transform:translate(-100%);font-variant-numeric:tabular-nums}:where([data-edge-hovered=true],[data-edge-active=true]) .yi2p6vd{font-weight:600;background-color:color-mix(in srgb,var(--likec4-relation-labelBg),transparent 5%)}.yi2p6ve{text-align:left;white-space-collapse:preserve-breaks;font-size:calc(.875rem * var(--mantine-scale));line-height:1.185}@keyframes c3cfh0a{0%{opacity:.6}to{opacity:.3}}.c3cfh00{width:100%;height:100%;position:relative;padding:0;margin:0}.c3cfh01{top:50%;left:50%;visibility:hidden}.react-flow__node-compound:has(.c3cfh02){opacity:.25;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.c3cfh05{width:100%;height:100%;position:relative;border-radius:6px;box-shadow:0 4px 10px .5px #0000001a,0 2px 2px -1px #0006;padding:0;margin:0;transition:all .2s ease-out;background-clip:padding-box;overflow:hidden;cursor:default}.c3cfh05:before{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:background 175ms ease-out,opacity 175ms ease-out;background:var(--likec4-element-fill)}:where(.react-flow__node.selected) .c3cfh05{box-shadow:none}:where(.react-flow__node:focus-visible) .c3cfh05{transition-duration:0ms;outline:3px solid var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));outline-offset:calc(.09375rem * var(--mantine-scale))}.c3cfh07{--c3cfh06: 0;--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);border-style:dashed;border-width:3px;box-shadow:none;border-color:color-mix(in srgb,var(--likec4-element-stroke),transparent var(--c3cfh04, 10%))}.c3cfh07:before{border-radius:unset;transition-delay:.1s;opacity:calc(var(--c3cfh03, 1) + var(--c3cfh06))}:where([data-hovered]) .c3cfh07{--c3cfh06: .08}.c3cfh08{font-family:var(--likec4-compound-font-family);text-align:left;font-weight:600;font-size:calc(.9375rem * var(--mantine-scale));text-transform:uppercase;letter-spacing:.2px;line-height:1;color:var(--_compound-title-color,var(--likec4-compound-title-color));padding-left:14px;padding-top:13px;padding-bottom:6px;mix-blend-mode:screen}:where(.react-flow__node.draggable) .c3cfh08{cursor:grab}:where(.likec4-compound-transparent) .c3cfh08{padding-top:10px}.c3cfh09{padding-left:32px}:where([data-mantine-color-scheme=light] .likec4-compound-transparent){--_compound-title-color: var(--likec4-element-stroke)}.c3cfh0d{--c3cfh0b: var(--likec4-element-loContrast);--c3cfh0c: 6;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;visibility:hidden}:where(.react-flow__node.selected:not(:focus-visible)) .c3cfh0d{visibility:visible}:where(.react-flow__node:focus-within:not(.selected)) .c3cfh0d{--c3cfh0b: color-mix(in srgb, var(--likec4-element-stroke) 30%, var(--likec4-element-loContrast));--c3cfh0c: 8}:where([data-mantine-color-scheme=light]) .c3cfh0d{--c3cfh0b: color-mix(in srgb, var(--likec4-element-stroke) 80%, #000)}.c3cfh0d rect{stroke:var(--c3cfh0b);transform-origin:center center;stroke-width:var(--c3cfh0c);animation-duration:.8s;animation-name:c3cfh0a;animation-iteration-count:infinite;animation-direction:alternate;fill:none}.c3cfh00{--c3cfh0e: var(--likec4-element-loContrast)}:where([data-mantine-color-scheme=light] .likec4-compound-transparent){--c3cfh0e: var(--likec4-element-stroke)}.c3cfh0f{--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));position:absolute;pointer-events:all;left:3px;top:6px;cursor:pointer;color:var(--_compound-title-color,var(--c3cfh0e));transform-origin:90% 50%;opacity:.75;transition:all .15s ease-out;transition-delay:0ms;background-color:var(--ai-bg)}.c3cfh0f:hover{box-shadow:var(--mantine-shadow-lg);transform:scale(1.42);opacity:1;transition-delay:0}.c3cfh0f:active{transform:scale(1.1);opacity:1;transition-delay:0}:where([data-mantine-color-scheme=light] .likec4-compound-transparent) .c3cfh0f{--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 60%);--ai-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 20%);opacity:.85}:where(.react-flow__node:not(.dragging) .c3cfh00:hover) .c3cfh0f:not(:hover){--ai-bg: var(--ai-bg-hover);box-shadow:var(--mantine-shadow-lg);transform:scale(1.223);opacity:1;transition-delay:.25s}.c3cfh0f svg.icon{width:75%;height:75%;stroke-width:1.5}@keyframes _14ylloj5{0%{stroke-opacity:.8}to{stroke-opacity:.5}}._14ylloj1{--_14ylloj0: color-mix(in srgb, var(--likec4-element-stroke) 90%, var(--likec4-element-fill));width:100%;height:100%;padding:0;margin:0;flex:1;display:flex;align-items:center;justify-content:center}:where(.react-flow__node.selected) ._14ylloj1{will-change:transform}._14ylloj1[data-hovered=true]{will-change:transform}._14ylloj2{top:50%;left:50%;visibility:hidden}._14ylloj3{will-change:transform}.react-flow__node-element:has(._14ylloj4){opacity:.25;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(2px));will-change:opacity,filter}._14ylloj7{--_14ylloj6: var(--likec4-element-loContrast);stroke:var(--_14ylloj6);fill:none;transform-origin:center center;stroke-width:6;animation-duration:1s;animation-iteration-count:infinite;animation-direction:alternate;stroke-opacity:.8;visibility:hidden}:where(.react-flow__node.selected) ._14ylloj7{visibility:visible;animation-name:var(--likec4-safari-animation-hook, _14ylloj5)}:where(.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14ylloj7{stroke-width:10;stroke:var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));visibility:visible}:where([data-likec4-shape=queue],[data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14ylloj7{stroke-width:10}:where([data-mantine-color-scheme=light]) ._14ylloj7{--_14ylloj6: color-mix(in srgb, var(--likec4-element-fill) 50%, #3c3c3c)}._14ylloj4 ._14ylloj7{visibility:hidden;display:none}._14ylloj8{fill:var(--likec4-element-fill)}._14ylloj9{fill:var(--likec4-element-stroke)}._14ylloja{fill:var(--_14ylloj0)}._14ylloje{flex:0 0 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;text-align:var(--_14yllojc);font-weight:500;font-size:19px;line-height:1.15;text-wrap:balance;color:var(--likec4-element-hiContrast)}._14yllojf{flex:0 1 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;font-weight:400;font-size:14px;line-height:1.2;text-align:var(--_14yllojc);text-wrap:pretty;color:var(--likec4-element-loContrast);white-space-collapse:preserve-breaks;text-overflow:ellipsis;overflow:hidden}:where(._14yllojb) ._14yllojf{text-wrap:wrap}._14yllojg{flex:0 0 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;font-weight:400;font-size:12px;line-height:1.125;text-align:var(--_14yllojc);text-wrap:balance;opacity:.92;color:var(--likec4-element-loContrast)}._14ylloj1:hover ._14yllojg{opacity:1}._14yllojh{--_14yllojd: 48px;flex:1;height:-moz-fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;flex-direction:row;padding:calc(1.5rem * var(--mantine-scale));overflow:hidden;gap:calc(.625rem * var(--mantine-scale))}:where([data-likec4-shape=queue],[data-likec4-shape=mobile]) ._14yllojh{padding-left:40px;padding-right:20px}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14yllojh{padding-top:30px}:where([data-likec4-shape=browser]) ._14yllojh{padding-top:32px;padding-bottom:28px}._14yllojh:is(._14yllojb){padding-right:20px}._14ylloj1:not(:is([data-likec4-shape=queue],[data-likec4-shape=mobile])) ._14yllojh:is(._14yllojb){padding-left:20px}._14yllojh:has(._14yllojf,._14yllojg){--_14yllojd: 60px;align-items:flex-start;gap:calc(1rem * var(--mantine-scale))}._14ylloji{--_14yllojc: center;height:-moz-fit-content;height:fit-content;width:-moz-max-content;width:max-content;display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex-wrap:nowrap;overflow:hidden;gap:calc(.5rem * var(--mantine-scale))}._14ylloji:has(._14yllojf):has(._14yllojg){gap:calc(.375rem * var(--mantine-scale))}:where(._14yllojb) ._14ylloji{--_14yllojc: left;min-width:calc(100% - 160px);align-items:flex-start}._14yllojj{flex:0 0 var(--_14yllojd);height:var(--_14yllojd);width:var(--_14yllojd);display:flex;align-items:center;justify-content:center;mix-blend-mode:hard-light}._14yllojj svg,._14yllojj img{width:100%;height:auto;max-height:100%;pointer-events:none;filter:drop-shadow(0 0 3px rgb(0 0 0 / 12%)) drop-shadow(0 1px 8px rgb(0 0 0 / 8%)) drop-shadow(1px 1px 16px rgb(0 0 0 / 3%))}._14yllojj img{-o-object-fit:contain;object-fit:contain}._14yllojl{top:0;left:0;position:absolute;pointer-events:none;transform-origin:50% 50%;fill:var(--likec4-element-fill);stroke:none;z-index:-1;transition:opacity .5s ease-out;transform:translate(8px,10px);opacity:.5}:where(.react-flow__node.selected,.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14yllojl{visibility:hidden}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14yllojl{transform:translate(8px,8px)}:where([data-likec4-shape=queue]) ._14yllojl{transform:translate(-10px,8px)}:where([data-hovered=true]) ._14yllojl{transition:opacity .3s ease-in;opacity:.2}._14yllojm{--_14yllojk: drop-shadow(0 2px 1px rgba(0, 0, 0, .21)) drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-element-stroke) 40%, transparent)) drop-shadow(0 5px 3px rgba(0, 0, 0, .1)) ;top:0;left:0;position:absolute;pointer-events:none;fill:var(--likec4-element-fill);stroke:var(--likec4-element-stroke);overflow:visible;filter:var(--_14yllojk);transition:filter .3s ease-out;transition-delay:0ms;z-index:-1}:where(.react-flow__node.selected,.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14yllojm{--_14yllojk: none}._14yllojn{--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));z-index:calc(var(--layer-overlays, 1) + 1);position:absolute;pointer-events:all;left:50%;bottom:0;color:var(--likec4-element-loContrast);cursor:pointer;transform-origin:50% 65%;opacity:.75;transition:all .15s ease-out;transform:translate(-50%);transition-delay:0ms;background-color:var(--ai-bg)}._14yllojn:hover{box-shadow:var(--mantine-shadow-lg);transform:translate(-50%) scale(1.35);opacity:1;transition-delay:0}._14yllojn:active{transform:translate(-50%) scale(1.02);opacity:1;transition-delay:0}:where([data-likec4-shape=browser]) ._14yllojn{bottom:3px}:where(.react-flow__node:not(.dragging) ._14ylloj1:hover) ._14yllojn:not(:hover){--ai-bg: var(--ai-bg-hover);box-shadow:var(--mantine-shadow-lg);transform:translate(-50%) scale(1.185);opacity:1;transition-delay:.25s}._14yllojn svg.icon{width:65%;height:65%;stroke-width:1.5}._1s87wm0{position:absolute;left:0;bottom:0;padding-left:6px;padding-bottom:6px;pointer-events:all}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._1s87wm0{bottom:6px}:where([data-likec4-shape=queue]) ._1s87wm0{left:12px;bottom:-3px}._1s87wm1{display:flex;line-height:.75;font-size:11px;font-weight:500;align-items:center;justify-content:center;color:var(--likec4-element-loContrast);padding:2px 5px 2px 4px;border-radius:3px;background-color:color-mix(in srgb,var(--likec4-element-stroke),transparent 20%);transition:all .18s ease-out;opacity:.85}._1s87wm1:hover{color:var(--likec4-element-hiContrast);background-color:var(--likec4-element-stroke);opacity:1}._1s87wm1 .icon{display:inline-block;line-height:1;width:10px;height:10px;opacity:.6}._1s87wm1 span{display:inline-block;line-height:1;margin-left:3px}._1s87wm2{text-align:left}.ufby1u0{top:var(--likec4-navigation-panel-top, .8rem);left:var(--likec4-navigation-panel-left, 1rem);margin:0}.ufby1u0 .mantine-ActionIcon-root{--ai-size: var(--ai-size-lg)}._19ci0hj0{bottom:0;left:0;padding:8px;margin:0}._19ci0hj1{cursor:default;min-width:200px;max-width:calc(100vw - 16px);background-color:color-mix(in srgb,var(--mantine-color-body),transparent 20%);-webkit-backdrop-filter:var(--likec4-safari-animation-hook, blur(8px));backdrop-filter:var(--likec4-safari-animation-hook, blur(8px))}:where([data-mantine-color-scheme=dark]) ._19ci0hj1{background-color:color-mix(in srgb,var(--mantine-color-dark-6),transparent 20%)}._19ci0hj3{white-space-collapse:preserve-breaks;color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) ._19ci0hj3{color:var(--mantine-color-gray-5)}@media (min-width: 48em){._19ci0hj1{min-width:300px;max-width:90vw}}@media (min-width: 62em){._19ci0hj1{min-width:400px;max-width:70vw}}.h3ljtj0{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);padding:0;margin:0}.h3ljtj1{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all 175ms ease-in}.h3ljtj1:hover{transition-timing-function:ease-out;transform:scale(1.1)}.h3ljtj1:active{transition-duration:.1s;transform:scale(.98) translateY(3px)}.h3ljtj3{--h3ljtj2: 35%;--button-bg: color-mix(in srgb, var(--mantine-primary-color-filled), transparent var(--h3ljtj2));--button-hover: color-mix(in srgb, var(--mantine-primary-color-filled-hover), transparent var(--h3ljtj2));transition:all 175ms ease-in;background-color:var(--button-bg)}[data-mantine-color-scheme=light] .h3ljtj3{--h3ljtj2: 15%}:where(.h3ljtj1,.h3ljtj3) .tabler-icon{width:.85em;height:.85em}._12rmdgk0{top:var(--likec4-options-panel-top, 1rem);right:var(--likec4-options-panel-right, 1rem);margin:0;box-shadow:var(--mantine-shadow-xl)}
|
|
25688
|
+
return BundledStyles = `*,*:before,*:after{box-sizing:border-box}input,button,textarea,select{font:inherit}button,select{text-transform:none}body{margin:0;font-family:var(--mantine-font-family);font-size:var(--mantine-font-size-md);line-height:var(--mantine-line-height);background-color:var(--mantine-color-body);color:var(--mantine-color-text);-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}@media screen and (max-device-width: 31.25em){body{-webkit-text-size-adjust:100%}}@media (prefers-reduced-motion: reduce){[data-respect-reduced-motion] [data-reduce-motion]{transition:none;animation:none}}[data-mantine-color-scheme=light] .mantine-light-hidden,[data-mantine-color-scheme=dark] .mantine-dark-hidden{display:none}.mantine-focus-auto:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-always:focus{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-never:focus{outline:none}.mantine-active:active{transform:translateY(calc(.0625rem * var(--mantine-scale)))}:where([dir=rtl]) .mantine-rotate-rtl{transform:rotate(180deg)}:root{color-scheme:var(--mantine-color-scheme);--mantine-z-index-app: 100;--mantine-z-index-modal: 200;--mantine-z-index-popover: 300;--mantine-z-index-overlay: 400;--mantine-z-index-max: 9999;--mantine-scale: 1;--mantine-cursor-type: default;--mantine-webkit-font-smoothing: antialiased;--mantine-color-scheme: light dark;--mantine-moz-font-smoothing: grayscale;--mantine-color-white: #fff;--mantine-color-black: #000;--mantine-line-height: 1.55;--mantine-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--mantine-font-family-headings: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-heading-font-weight: 700;--mantine-radius-default: calc(.25rem * var(--mantine-scale));--mantine-primary-color-0: var(--mantine-color-blue-0);--mantine-primary-color-1: var(--mantine-color-blue-1);--mantine-primary-color-2: var(--mantine-color-blue-2);--mantine-primary-color-3: var(--mantine-color-blue-3);--mantine-primary-color-4: var(--mantine-color-blue-4);--mantine-primary-color-5: var(--mantine-color-blue-5);--mantine-primary-color-6: var(--mantine-color-blue-6);--mantine-primary-color-7: var(--mantine-color-blue-7);--mantine-primary-color-8: var(--mantine-color-blue-8);--mantine-primary-color-9: var(--mantine-color-blue-9);--mantine-primary-color-filled: var(--mantine-color-blue-filled);--mantine-primary-color-filled-hover: var(--mantine-color-blue-filled-hover);--mantine-primary-color-light: var(--mantine-color-blue-light);--mantine-primary-color-light-hover: var(--mantine-color-blue-light-hover);--mantine-primary-color-light-color: var(--mantine-color-blue-light-color);--mantine-breakpoint-xs: 36em;--mantine-breakpoint-sm: 48em;--mantine-breakpoint-md: 62em;--mantine-breakpoint-lg: 75em;--mantine-breakpoint-xl: 88em;--mantine-spacing-xs: calc(.625rem * var(--mantine-scale));--mantine-spacing-sm: calc(.75rem * var(--mantine-scale));--mantine-spacing-md: calc(1rem * var(--mantine-scale));--mantine-spacing-lg: calc(1.25rem * var(--mantine-scale));--mantine-spacing-xl: calc(2rem * var(--mantine-scale));--mantine-font-size-xs: calc(.75rem * var(--mantine-scale));--mantine-font-size-sm: calc(.875rem * var(--mantine-scale));--mantine-font-size-md: calc(1rem * var(--mantine-scale));--mantine-font-size-lg: calc(1.125rem * var(--mantine-scale));--mantine-font-size-xl: calc(1.25rem * var(--mantine-scale));--mantine-line-height-xs: 1.4;--mantine-line-height-sm: 1.45;--mantine-line-height-md: 1.55;--mantine-line-height-lg: 1.6;--mantine-line-height-xl: 1.65;--mantine-shadow-xs: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), 0 calc(.0625rem * var(--mantine-scale)) calc(.125rem * var(--mantine-scale)) rgba(0, 0, 0, .1);--mantine-shadow-sm: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(.625rem * var(--mantine-scale)) calc(.9375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.4375rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-md: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.25rem * var(--mantine-scale)) calc(1.5625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.625rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-lg: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.75rem * var(--mantine-scale)) calc(1.4375rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.75rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-shadow-xl: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(2.25rem * var(--mantine-scale)) calc(1.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(1.0625rem * var(--mantine-scale)) calc(1.0625rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-radius-xs: calc(.125rem * var(--mantine-scale));--mantine-radius-sm: calc(.25rem * var(--mantine-scale));--mantine-radius-md: calc(.5rem * var(--mantine-scale));--mantine-radius-lg: calc(1rem * var(--mantine-scale));--mantine-radius-xl: calc(2rem * var(--mantine-scale));--mantine-color-dark-0: #c9c9c9;--mantine-color-dark-1: #b8b8b8;--mantine-color-dark-2: #828282;--mantine-color-dark-3: #696969;--mantine-color-dark-4: #424242;--mantine-color-dark-5: #3b3b3b;--mantine-color-dark-6: #2e2e2e;--mantine-color-dark-7: #242424;--mantine-color-dark-8: #1f1f1f;--mantine-color-dark-9: #141414;--mantine-color-gray-0: #f8f9fa;--mantine-color-gray-1: #f1f3f5;--mantine-color-gray-2: #e9ecef;--mantine-color-gray-3: #dee2e6;--mantine-color-gray-4: #ced4da;--mantine-color-gray-5: #adb5bd;--mantine-color-gray-6: #868e96;--mantine-color-gray-7: #495057;--mantine-color-gray-8: #343a40;--mantine-color-gray-9: #212529;--mantine-color-red-0: #fff5f5;--mantine-color-red-1: #ffe3e3;--mantine-color-red-2: #ffc9c9;--mantine-color-red-3: #ffa8a8;--mantine-color-red-4: #ff8787;--mantine-color-red-5: #ff6b6b;--mantine-color-red-6: #fa5252;--mantine-color-red-7: #f03e3e;--mantine-color-red-8: #e03131;--mantine-color-red-9: #c92a2a;--mantine-color-pink-0: #fff0f6;--mantine-color-pink-1: #ffdeeb;--mantine-color-pink-2: #fcc2d7;--mantine-color-pink-3: #faa2c1;--mantine-color-pink-4: #f783ac;--mantine-color-pink-5: #f06595;--mantine-color-pink-6: #e64980;--mantine-color-pink-7: #d6336c;--mantine-color-pink-8: #c2255c;--mantine-color-pink-9: #a61e4d;--mantine-color-grape-0: #f8f0fc;--mantine-color-grape-1: #f3d9fa;--mantine-color-grape-2: #eebefa;--mantine-color-grape-3: #e599f7;--mantine-color-grape-4: #da77f2;--mantine-color-grape-5: #cc5de8;--mantine-color-grape-6: #be4bdb;--mantine-color-grape-7: #ae3ec9;--mantine-color-grape-8: #9c36b5;--mantine-color-grape-9: #862e9c;--mantine-color-violet-0: #f3f0ff;--mantine-color-violet-1: #e5dbff;--mantine-color-violet-2: #d0bfff;--mantine-color-violet-3: #b197fc;--mantine-color-violet-4: #9775fa;--mantine-color-violet-5: #845ef7;--mantine-color-violet-6: #7950f2;--mantine-color-violet-7: #7048e8;--mantine-color-violet-8: #6741d9;--mantine-color-violet-9: #5f3dc4;--mantine-color-indigo-0: #edf2ff;--mantine-color-indigo-1: #dbe4ff;--mantine-color-indigo-2: #bac8ff;--mantine-color-indigo-3: #91a7ff;--mantine-color-indigo-4: #748ffc;--mantine-color-indigo-5: #5c7cfa;--mantine-color-indigo-6: #4c6ef5;--mantine-color-indigo-7: #4263eb;--mantine-color-indigo-8: #3b5bdb;--mantine-color-indigo-9: #364fc7;--mantine-color-blue-0: #e7f5ff;--mantine-color-blue-1: #d0ebff;--mantine-color-blue-2: #a5d8ff;--mantine-color-blue-3: #74c0fc;--mantine-color-blue-4: #4dabf7;--mantine-color-blue-5: #339af0;--mantine-color-blue-6: #228be6;--mantine-color-blue-7: #1c7ed6;--mantine-color-blue-8: #1971c2;--mantine-color-blue-9: #1864ab;--mantine-color-cyan-0: #e3fafc;--mantine-color-cyan-1: #c5f6fa;--mantine-color-cyan-2: #99e9f2;--mantine-color-cyan-3: #66d9e8;--mantine-color-cyan-4: #3bc9db;--mantine-color-cyan-5: #22b8cf;--mantine-color-cyan-6: #15aabf;--mantine-color-cyan-7: #1098ad;--mantine-color-cyan-8: #0c8599;--mantine-color-cyan-9: #0b7285;--mantine-color-teal-0: #e6fcf5;--mantine-color-teal-1: #c3fae8;--mantine-color-teal-2: #96f2d7;--mantine-color-teal-3: #63e6be;--mantine-color-teal-4: #38d9a9;--mantine-color-teal-5: #20c997;--mantine-color-teal-6: #12b886;--mantine-color-teal-7: #0ca678;--mantine-color-teal-8: #099268;--mantine-color-teal-9: #087f5b;--mantine-color-green-0: #ebfbee;--mantine-color-green-1: #d3f9d8;--mantine-color-green-2: #b2f2bb;--mantine-color-green-3: #8ce99a;--mantine-color-green-4: #69db7c;--mantine-color-green-5: #51cf66;--mantine-color-green-6: #40c057;--mantine-color-green-7: #37b24d;--mantine-color-green-8: #2f9e44;--mantine-color-green-9: #2b8a3e;--mantine-color-lime-0: #f4fce3;--mantine-color-lime-1: #e9fac8;--mantine-color-lime-2: #d8f5a2;--mantine-color-lime-3: #c0eb75;--mantine-color-lime-4: #a9e34b;--mantine-color-lime-5: #94d82d;--mantine-color-lime-6: #82c91e;--mantine-color-lime-7: #74b816;--mantine-color-lime-8: #66a80f;--mantine-color-lime-9: #5c940d;--mantine-color-yellow-0: #fff9db;--mantine-color-yellow-1: #fff3bf;--mantine-color-yellow-2: #ffec99;--mantine-color-yellow-3: #ffe066;--mantine-color-yellow-4: #ffd43b;--mantine-color-yellow-5: #fcc419;--mantine-color-yellow-6: #fab005;--mantine-color-yellow-7: #f59f00;--mantine-color-yellow-8: #f08c00;--mantine-color-yellow-9: #e67700;--mantine-color-orange-0: #fff4e6;--mantine-color-orange-1: #ffe8cc;--mantine-color-orange-2: #ffd8a8;--mantine-color-orange-3: #ffc078;--mantine-color-orange-4: #ffa94d;--mantine-color-orange-5: #ff922b;--mantine-color-orange-6: #fd7e14;--mantine-color-orange-7: #f76707;--mantine-color-orange-8: #e8590c;--mantine-color-orange-9: #d9480f;--mantine-h1-font-size: calc(2.125rem * var(--mantine-scale));--mantine-h1-line-height: 1.3;--mantine-h1-font-weight: 700;--mantine-h2-font-size: calc(1.625rem * var(--mantine-scale));--mantine-h2-line-height: 1.35;--mantine-h2-font-weight: 700;--mantine-h3-font-size: calc(1.375rem * var(--mantine-scale));--mantine-h3-line-height: 1.4;--mantine-h3-font-weight: 700;--mantine-h4-font-size: calc(1.125rem * var(--mantine-scale));--mantine-h4-line-height: 1.45;--mantine-h4-font-weight: 700;--mantine-h5-font-size: calc(1rem * var(--mantine-scale));--mantine-h5-line-height: 1.5;--mantine-h5-font-weight: 700;--mantine-h6-font-size: calc(.875rem * var(--mantine-scale));--mantine-h6-line-height: 1.5;--mantine-h6-font-weight: 700}:root[data-mantine-color-scheme=dark]{--mantine-color-scheme: dark;--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-bright: var(--mantine-color-white);--mantine-color-text: var(--mantine-color-dark-0);--mantine-color-body: var(--mantine-color-dark-7);--mantine-color-error: var(--mantine-color-red-8);--mantine-color-placeholder: var(--mantine-color-dark-3);--mantine-color-anchor: var(--mantine-color-blue-4);--mantine-color-default: var(--mantine-color-dark-6);--mantine-color-default-hover: var(--mantine-color-dark-5);--mantine-color-default-color: var(--mantine-color-white);--mantine-color-default-border: var(--mantine-color-dark-4);--mantine-color-dimmed: var(--mantine-color-dark-2);--mantine-color-dark-text: var(--mantine-color-dark-4);--mantine-color-dark-filled: var(--mantine-color-dark-8);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(36, 36, 36, .15);--mantine-color-dark-light-hover: rgba(36, 36, 36, .2);--mantine-color-dark-light-color: var(--mantine-color-dark-3);--mantine-color-dark-outline: var(--mantine-color-dark-4);--mantine-color-dark-outline-hover: rgba(36, 36, 36, .05);--mantine-color-gray-text: var(--mantine-color-gray-4);--mantine-color-gray-filled: var(--mantine-color-gray-8);--mantine-color-gray-filled-hover: var(--mantine-color-gray-9);--mantine-color-gray-light: rgba(134, 142, 150, .15);--mantine-color-gray-light-hover: rgba(134, 142, 150, .2);--mantine-color-gray-light-color: var(--mantine-color-gray-3);--mantine-color-gray-outline: var(--mantine-color-gray-4);--mantine-color-gray-outline-hover: rgba(206, 212, 218, .05);--mantine-color-red-text: var(--mantine-color-red-4);--mantine-color-red-filled: var(--mantine-color-red-8);--mantine-color-red-filled-hover: var(--mantine-color-red-9);--mantine-color-red-light: rgba(250, 82, 82, .15);--mantine-color-red-light-hover: rgba(250, 82, 82, .2);--mantine-color-red-light-color: var(--mantine-color-red-3);--mantine-color-red-outline: var(--mantine-color-red-4);--mantine-color-red-outline-hover: rgba(255, 135, 135, .05);--mantine-color-pink-text: var(--mantine-color-pink-4);--mantine-color-pink-filled: var(--mantine-color-pink-8);--mantine-color-pink-filled-hover: var(--mantine-color-pink-9);--mantine-color-pink-light: rgba(230, 73, 128, .15);--mantine-color-pink-light-hover: rgba(230, 73, 128, .2);--mantine-color-pink-light-color: var(--mantine-color-pink-3);--mantine-color-pink-outline: var(--mantine-color-pink-4);--mantine-color-pink-outline-hover: rgba(247, 131, 172, .05);--mantine-color-grape-text: var(--mantine-color-grape-4);--mantine-color-grape-filled: var(--mantine-color-grape-8);--mantine-color-grape-filled-hover: var(--mantine-color-grape-9);--mantine-color-grape-light: rgba(190, 75, 219, .15);--mantine-color-grape-light-hover: rgba(190, 75, 219, .2);--mantine-color-grape-light-color: var(--mantine-color-grape-3);--mantine-color-grape-outline: var(--mantine-color-grape-4);--mantine-color-grape-outline-hover: rgba(218, 119, 242, .05);--mantine-color-violet-text: var(--mantine-color-violet-4);--mantine-color-violet-filled: var(--mantine-color-violet-8);--mantine-color-violet-filled-hover: var(--mantine-color-violet-9);--mantine-color-violet-light: rgba(121, 80, 242, .15);--mantine-color-violet-light-hover: rgba(121, 80, 242, .2);--mantine-color-violet-light-color: var(--mantine-color-violet-3);--mantine-color-violet-outline: var(--mantine-color-violet-4);--mantine-color-violet-outline-hover: rgba(151, 117, 250, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-4);--mantine-color-indigo-filled: var(--mantine-color-indigo-8);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-9);--mantine-color-indigo-light: rgba(76, 110, 245, .15);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-3);--mantine-color-indigo-outline: var(--mantine-color-indigo-4);--mantine-color-indigo-outline-hover: rgba(116, 143, 252, .05);--mantine-color-blue-text: var(--mantine-color-blue-4);--mantine-color-blue-filled: var(--mantine-color-blue-8);--mantine-color-blue-filled-hover: var(--mantine-color-blue-9);--mantine-color-blue-light: rgba(34, 139, 230, .15);--mantine-color-blue-light-hover: rgba(34, 139, 230, .2);--mantine-color-blue-light-color: var(--mantine-color-blue-3);--mantine-color-blue-outline: var(--mantine-color-blue-4);--mantine-color-blue-outline-hover: rgba(77, 171, 247, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-4);--mantine-color-cyan-filled: var(--mantine-color-cyan-8);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-9);--mantine-color-cyan-light: rgba(21, 170, 191, .15);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-3);--mantine-color-cyan-outline: var(--mantine-color-cyan-4);--mantine-color-cyan-outline-hover: rgba(59, 201, 219, .05);--mantine-color-teal-text: var(--mantine-color-teal-4);--mantine-color-teal-filled: var(--mantine-color-teal-8);--mantine-color-teal-filled-hover: var(--mantine-color-teal-9);--mantine-color-teal-light: rgba(18, 184, 134, .15);--mantine-color-teal-light-hover: rgba(18, 184, 134, .2);--mantine-color-teal-light-color: var(--mantine-color-teal-3);--mantine-color-teal-outline: var(--mantine-color-teal-4);--mantine-color-teal-outline-hover: rgba(56, 217, 169, .05);--mantine-color-green-text: var(--mantine-color-green-4);--mantine-color-green-filled: var(--mantine-color-green-8);--mantine-color-green-filled-hover: var(--mantine-color-green-9);--mantine-color-green-light: rgba(64, 192, 87, .15);--mantine-color-green-light-hover: rgba(64, 192, 87, .2);--mantine-color-green-light-color: var(--mantine-color-green-3);--mantine-color-green-outline: var(--mantine-color-green-4);--mantine-color-green-outline-hover: rgba(105, 219, 124, .05);--mantine-color-lime-text: var(--mantine-color-lime-4);--mantine-color-lime-filled: var(--mantine-color-lime-8);--mantine-color-lime-filled-hover: var(--mantine-color-lime-9);--mantine-color-lime-light: rgba(130, 201, 30, .15);--mantine-color-lime-light-hover: rgba(130, 201, 30, .2);--mantine-color-lime-light-color: var(--mantine-color-lime-3);--mantine-color-lime-outline: var(--mantine-color-lime-4);--mantine-color-lime-outline-hover: rgba(169, 227, 75, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-4);--mantine-color-yellow-filled: var(--mantine-color-yellow-8);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-9);--mantine-color-yellow-light: rgba(250, 176, 5, .15);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-3);--mantine-color-yellow-outline: var(--mantine-color-yellow-4);--mantine-color-yellow-outline-hover: rgba(255, 212, 59, .05);--mantine-color-orange-text: var(--mantine-color-orange-4);--mantine-color-orange-filled: var(--mantine-color-orange-8);--mantine-color-orange-filled-hover: var(--mantine-color-orange-9);--mantine-color-orange-light: rgba(253, 126, 20, .15);--mantine-color-orange-light-hover: rgba(253, 126, 20, .2);--mantine-color-orange-light-color: var(--mantine-color-orange-3);--mantine-color-orange-outline: var(--mantine-color-orange-4);--mantine-color-orange-outline-hover: rgba(255, 169, 77, .05)}:root[data-mantine-color-scheme=light]{--mantine-color-scheme: light;--mantine-color-bright: var(--mantine-color-black);--mantine-color-text: var(--mantine-color-black);--mantine-color-body: var(--mantine-color-white);--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-error: var(--mantine-color-red-6);--mantine-color-placeholder: var(--mantine-color-gray-5);--mantine-color-anchor: var(--mantine-primary-color-filled);--mantine-color-default: var(--mantine-color-white);--mantine-color-default-hover: var(--mantine-color-gray-0);--mantine-color-default-color: var(--mantine-color-gray-9);--mantine-color-default-border: var(--mantine-color-gray-4);--mantine-color-dimmed: var(--mantine-color-gray-6);--mantine-color-dark-text: var(--mantine-color-dark-filled);--mantine-color-dark-filled: var(--mantine-color-dark-6);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(56, 56, 56, .1);--mantine-color-dark-light-hover: rgba(56, 56, 56, .12);--mantine-color-dark-light-color: var(--mantine-color-dark-6);--mantine-color-dark-outline: var(--mantine-color-dark-6);--mantine-color-dark-outline-hover: rgba(56, 56, 56, .05);--mantine-color-gray-text: var(--mantine-color-gray-filled);--mantine-color-gray-filled: var(--mantine-color-gray-6);--mantine-color-gray-filled-hover: var(--mantine-color-gray-7);--mantine-color-gray-light: rgba(134, 142, 150, .1);--mantine-color-gray-light-hover: rgba(134, 142, 150, .12);--mantine-color-gray-light-color: var(--mantine-color-gray-6);--mantine-color-gray-outline: var(--mantine-color-gray-6);--mantine-color-gray-outline-hover: rgba(134, 142, 150, .05);--mantine-color-red-text: var(--mantine-color-red-filled);--mantine-color-red-filled: var(--mantine-color-red-6);--mantine-color-red-filled-hover: var(--mantine-color-red-7);--mantine-color-red-light: rgba(250, 82, 82, .1);--mantine-color-red-light-hover: rgba(250, 82, 82, .12);--mantine-color-red-light-color: var(--mantine-color-red-6);--mantine-color-red-outline: var(--mantine-color-red-6);--mantine-color-red-outline-hover: rgba(250, 82, 82, .05);--mantine-color-pink-text: var(--mantine-color-pink-filled);--mantine-color-pink-filled: var(--mantine-color-pink-6);--mantine-color-pink-filled-hover: var(--mantine-color-pink-7);--mantine-color-pink-light: rgba(230, 73, 128, .1);--mantine-color-pink-light-hover: rgba(230, 73, 128, .12);--mantine-color-pink-light-color: var(--mantine-color-pink-6);--mantine-color-pink-outline: var(--mantine-color-pink-6);--mantine-color-pink-outline-hover: rgba(230, 73, 128, .05);--mantine-color-grape-text: var(--mantine-color-grape-filled);--mantine-color-grape-filled: var(--mantine-color-grape-6);--mantine-color-grape-filled-hover: var(--mantine-color-grape-7);--mantine-color-grape-light: rgba(190, 75, 219, .1);--mantine-color-grape-light-hover: rgba(190, 75, 219, .12);--mantine-color-grape-light-color: var(--mantine-color-grape-6);--mantine-color-grape-outline: var(--mantine-color-grape-6);--mantine-color-grape-outline-hover: rgba(190, 75, 219, .05);--mantine-color-violet-text: var(--mantine-color-violet-filled);--mantine-color-violet-filled: var(--mantine-color-violet-6);--mantine-color-violet-filled-hover: var(--mantine-color-violet-7);--mantine-color-violet-light: rgba(121, 80, 242, .1);--mantine-color-violet-light-hover: rgba(121, 80, 242, .12);--mantine-color-violet-light-color: var(--mantine-color-violet-6);--mantine-color-violet-outline: var(--mantine-color-violet-6);--mantine-color-violet-outline-hover: rgba(121, 80, 242, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-filled);--mantine-color-indigo-filled: var(--mantine-color-indigo-6);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-7);--mantine-color-indigo-light: rgba(76, 110, 245, .1);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .12);--mantine-color-indigo-light-color: var(--mantine-color-indigo-6);--mantine-color-indigo-outline: var(--mantine-color-indigo-6);--mantine-color-indigo-outline-hover: rgba(76, 110, 245, .05);--mantine-color-blue-text: var(--mantine-color-blue-filled);--mantine-color-blue-filled: var(--mantine-color-blue-6);--mantine-color-blue-filled-hover: var(--mantine-color-blue-7);--mantine-color-blue-light: rgba(34, 139, 230, .1);--mantine-color-blue-light-hover: rgba(34, 139, 230, .12);--mantine-color-blue-light-color: var(--mantine-color-blue-6);--mantine-color-blue-outline: var(--mantine-color-blue-6);--mantine-color-blue-outline-hover: rgba(34, 139, 230, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-filled);--mantine-color-cyan-filled: var(--mantine-color-cyan-6);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-7);--mantine-color-cyan-light: rgba(21, 170, 191, .1);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .12);--mantine-color-cyan-light-color: var(--mantine-color-cyan-6);--mantine-color-cyan-outline: var(--mantine-color-cyan-6);--mantine-color-cyan-outline-hover: rgba(21, 170, 191, .05);--mantine-color-teal-text: var(--mantine-color-teal-filled);--mantine-color-teal-filled: var(--mantine-color-teal-6);--mantine-color-teal-filled-hover: var(--mantine-color-teal-7);--mantine-color-teal-light: rgba(18, 184, 134, .1);--mantine-color-teal-light-hover: rgba(18, 184, 134, .12);--mantine-color-teal-light-color: var(--mantine-color-teal-6);--mantine-color-teal-outline: var(--mantine-color-teal-6);--mantine-color-teal-outline-hover: rgba(18, 184, 134, .05);--mantine-color-green-text: var(--mantine-color-green-filled);--mantine-color-green-filled: var(--mantine-color-green-6);--mantine-color-green-filled-hover: var(--mantine-color-green-7);--mantine-color-green-light: rgba(64, 192, 87, .1);--mantine-color-green-light-hover: rgba(64, 192, 87, .12);--mantine-color-green-light-color: var(--mantine-color-green-6);--mantine-color-green-outline: var(--mantine-color-green-6);--mantine-color-green-outline-hover: rgba(64, 192, 87, .05);--mantine-color-lime-text: var(--mantine-color-lime-filled);--mantine-color-lime-filled: var(--mantine-color-lime-6);--mantine-color-lime-filled-hover: var(--mantine-color-lime-7);--mantine-color-lime-light: rgba(130, 201, 30, .1);--mantine-color-lime-light-hover: rgba(130, 201, 30, .12);--mantine-color-lime-light-color: var(--mantine-color-lime-6);--mantine-color-lime-outline: var(--mantine-color-lime-6);--mantine-color-lime-outline-hover: rgba(130, 201, 30, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-filled);--mantine-color-yellow-filled: var(--mantine-color-yellow-6);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-7);--mantine-color-yellow-light: rgba(250, 176, 5, .1);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .12);--mantine-color-yellow-light-color: var(--mantine-color-yellow-6);--mantine-color-yellow-outline: var(--mantine-color-yellow-6);--mantine-color-yellow-outline-hover: rgba(250, 176, 5, .05);--mantine-color-orange-text: var(--mantine-color-orange-filled);--mantine-color-orange-filled: var(--mantine-color-orange-6);--mantine-color-orange-filled-hover: var(--mantine-color-orange-7);--mantine-color-orange-light: rgba(253, 126, 20, .1);--mantine-color-orange-light-hover: rgba(253, 126, 20, .12);--mantine-color-orange-light-color: var(--mantine-color-orange-6);--mantine-color-orange-outline: var(--mantine-color-orange-6);--mantine-color-orange-outline-hover: rgba(253, 126, 20, .05)}.m_d57069b5{--scrollarea-scrollbar-size: calc(.75rem * var(--mantine-scale));position:relative;overflow:hidden}.m_c0783ff9{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;width:100%;height:100%}.m_c0783ff9::-webkit-scrollbar{display:none}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=y]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=y]){padding-inline-end:var(--scrollarea-scrollbar-size);padding-inline-start:unset}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=x]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=x]){padding-bottom:var(--scrollarea-scrollbar-size)}.m_f8f631dd{min-width:100%;display:table}.m_c44ba933{-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;box-sizing:border-box;transition:background-color .15s ease,opacity .15s ease;padding:calc(var(--scrollarea-scrollbar-size) / 5);display:flex;background-color:transparent;flex-direction:row}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_c44ba933:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:hover>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover>.m_d8b5e363{background-color:#ffffff80}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_c44ba933:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:active>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active>.m_d8b5e363{background-color:#ffffff80}}.m_c44ba933:where([data-hidden],[data-state=hidden]){display:none}.m_c44ba933:where([data-orientation=vertical]){width:var(--scrollarea-scrollbar-size);top:0;bottom:var(--sa-corner-width);inset-inline-end:0}.m_c44ba933:where([data-orientation=horizontal]){height:var(--scrollarea-scrollbar-size);flex-direction:column;bottom:0;inset-inline-start:0;inset-inline-end:var(--sa-corner-width)}.m_d8b5e363{flex:1;border-radius:var(--scrollarea-scrollbar-size);position:relative;transition:background-color .15s ease;overflow:hidden}.m_d8b5e363:before{content:'""';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:calc(2.75rem * var(--mantine-scale));min-height:calc(2.75rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d8b5e363{background-color:#0006}:where([data-mantine-color-scheme=dark]) .m_d8b5e363{background-color:#fff6}.m_21657268{position:absolute;opacity:0;transition:opacity .15s ease;display:block;inset-inline-end:0;bottom:0}:where([data-mantine-color-scheme=light]) .m_21657268{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_21657268{background-color:var(--mantine-color-dark-8)}.m_21657268:where([data-hovered]){opacity:1}.m_21657268:where([data-hidden]){display:none}.m_87cf2631{background-color:transparent;cursor:pointer;border:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--mantine-font-size-md);text-align:left;text-decoration:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where([dir=rtl]) .m_87cf2631{text-align:right}.m_515a97f8{border:0;clip:rect(0 0 0 0);height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));margin:calc(-.0625rem * var(--mantine-scale));overflow:hidden;padding:0;position:absolute;white-space:nowrap}.m_1b7284a3{--paper-radius: var(--mantine-radius-default);outline:0;-webkit-tap-highlight-color:transparent;display:block;touch-action:manipulation;text-decoration:none;border-radius:var(--paper-radius);box-shadow:var(--paper-shadow);background-color:var(--mantine-color-body)}:where([data-mantine-color-scheme=light]) .m_1b7284a3:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_1b7284a3:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4)}.m_38a85659{position:absolute;border:1px solid var(--popover-border-color);padding:var(--mantine-spacing-sm) var(--mantine-spacing-md);box-shadow:var(--popover-shadow, none);border-radius:var(--popover-radius, var(--mantine-radius-default))}.m_38a85659:where([data-fixed]){position:fixed}.m_38a85659:focus{outline:none}:where([data-mantine-color-scheme=light]) .m_38a85659{--popover-border-color: var(--mantine-color-gray-2);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_38a85659{--popover-border-color: var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_a31dc6c1{background-color:inherit;border:1px solid var(--popover-border-color);z-index:1}.m_5ae2e3c{--loader-size-xs: calc(1.125rem * var(--mantine-scale));--loader-size-sm: calc(1.375rem * var(--mantine-scale));--loader-size-md: calc(2.25rem * var(--mantine-scale));--loader-size-lg: calc(2.75rem * var(--mantine-scale));--loader-size-xl: calc(3.625rem * var(--mantine-scale));--loader-size: var(--loader-size-md);--loader-color: var(--mantine-primary-color-filled)}@keyframes m_5d2b3b9d{0%{transform:scale(.6);opacity:0}50%,to{transform:scale(1)}}.m_7a2bd4cd{position:relative;width:var(--loader-size);height:var(--loader-size);display:flex;gap:calc(var(--loader-size) / 5)}.m_870bb79{flex:1;background:var(--loader-color);animation:m_5d2b3b9d 1.2s cubic-bezier(0,.5,.5,1) infinite;border-radius:calc(.125rem * var(--mantine-scale))}.m_870bb79:nth-of-type(1){animation-delay:-.24s}.m_870bb79:nth-of-type(2){animation-delay:-.12s}.m_870bb79:nth-of-type(3){animation-delay:0}@keyframes m_aac34a1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.5}}.m_4e3f22d7{display:flex;justify-content:center;align-items:center;gap:calc(var(--loader-size) / 10);position:relative;width:var(--loader-size);height:var(--loader-size)}.m_870c4af{width:calc(var(--loader-size) / 3 - var(--loader-size) / 15);height:calc(var(--loader-size) / 3 - var(--loader-size) / 15);border-radius:50%;background:var(--loader-color);animation:m_aac34a1 .8s infinite linear}.m_870c4af:nth-child(2){animation-delay:.4s}@keyframes m_f8e89c4b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.m_b34414df{display:inline-block;width:var(--loader-size);height:var(--loader-size)}.m_b34414df:after{content:"";display:block;width:var(--loader-size);height:var(--loader-size);border-radius:calc(625rem * var(--mantine-scale));border-width:calc(var(--loader-size) / 8);border-style:solid;border-color:var(--loader-color) var(--loader-color) var(--loader-color) transparent;animation:m_f8e89c4b 1.2s linear infinite}.m_8d3f4000{--ai-size-xs: calc(1.125rem * var(--mantine-scale));--ai-size-sm: calc(1.375rem * var(--mantine-scale));--ai-size-md: calc(1.75rem * var(--mantine-scale));--ai-size-lg: calc(2.125rem * var(--mantine-scale));--ai-size-xl: calc(2.75rem * var(--mantine-scale));--ai-size-input-xs: calc(1.875rem * var(--mantine-scale));--ai-size-input-sm: calc(2.25rem * var(--mantine-scale));--ai-size-input-md: calc(2.625rem * var(--mantine-scale));--ai-size-input-lg: calc(3.125rem * var(--mantine-scale));--ai-size-input-xl: calc(3.75rem * var(--mantine-scale));--ai-size: var(--ai-size-md);--ai-color: var(--mantine-color-white);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;width:var(--ai-size);height:var(--ai-size);min-width:var(--ai-size);min-height:var(--ai-size);border-radius:var(--ai-radius, var(--mantine-radius-default));background:var(--ai-bg, var(--mantine-primary-color-filled));color:var(--ai-color, var(--mantine-color-white));border:var(--ai-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);cursor:pointer}@media (hover: hover){.m_8d3f4000:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}@media (hover: none){.m_8d3f4000:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}.m_8d3f4000[data-loading]{cursor:not-allowed}.m_8d3f4000[data-loading] .m_8d3afb97{opacity:0;transform:translateY(100%)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-gray-1);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])):active{transform:none}.m_302b9fb1{inset:calc(-.0625rem * var(--mantine-scale));position:absolute;border-radius:var(--ai-radius, var(--mantine-radius-default));display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_302b9fb1{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_302b9fb1{background-color:#00000026}.m_1a0f1b21{--ai-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_1a0f1b21 :where(*):focus{position:relative;z-index:1}.m_1a0f1b21[data-orientation=horizontal]{flex-direction:row}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical]{flex-direction:column}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2);border-top-width:calc(var(--ai-border-width) / 2)}.m_8d3afb97{display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .1s ease;width:100%;height:100%}.m_86a44da5{--cb-size-xs: calc(1.125rem * var(--mantine-scale));--cb-size-sm: calc(1.375rem * var(--mantine-scale));--cb-size-md: calc(1.75rem * var(--mantine-scale));--cb-size-lg: calc(2.125rem * var(--mantine-scale));--cb-size-xl: calc(2.75rem * var(--mantine-scale));--cb-size: var(--cb-size-md);--cb-icon-size: 70%;--cb-radius: var(--mantine-radius-default);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--cb-size);height:var(--cb-size);min-width:var(--cb-size);min-height:var(--cb-size);border-radius:var(--cb-radius)}:where([data-mantine-color-scheme=light]) .m_86a44da5{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_86a44da5{color:var(--mantine-color-dark-1)}.m_86a44da5[data-disabled],.m_86a44da5:disabled{cursor:not-allowed;opacity:.6}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-dark-6)}}.m_4081bf90{display:flex;flex-direction:row;flex-wrap:var(--group-wrap, wrap);justify-content:var(--group-justify, flex-start);align-items:var(--group-align, center);gap:var(--group-gap, var(--mantine-spacing-md))}.m_4081bf90:where([data-grow])>*{flex-grow:1;max-width:var(--group-child-width)}.m_9814e45f{inset:0;position:absolute;background:var(--overlay-bg, rgba(0, 0, 0, .6));backdrop-filter:var(--overlay-filter);-webkit-backdrop-filter:var(--overlay-filter);border-radius:var(--overlay-radius, 0);z-index:var(--overlay-z-index)}.m_9814e45f:where([data-fixed]){position:fixed}.m_9814e45f:where([data-center]){display:flex;align-items:center;justify-content:center}.m_615af6c9{line-height:1;padding:0;margin:0;font-weight:400;font-size:var(--mantine-font-size-md)}.m_b5489c3c{display:flex;justify-content:space-between;align-items:center;padding:var(--mb-padding, var(--mantine-spacing-md));padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) - calc(.3125rem * var(--mantine-scale)));position:sticky;top:0;background-color:var(--mantine-color-body);z-index:1000;min-height:calc(3.75rem * var(--mantine-scale));transition:padding-inline-end .1s}.m_60c222c7{position:fixed;width:100%;top:0;bottom:0;z-index:var(--mb-z-index);pointer-events:none}.m_fd1ab0aa{pointer-events:all;box-shadow:var(--mb-shadow, var(--mantine-shadow-xl))}.m_fd1ab0aa [data-mantine-scrollbar]{z-index:1001}.m_fd1ab0aa:has([data-mantine-scrollbar][data-state=visible]) .m_b5489c3c{padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(.3125rem * var(--mantine-scale)))}.m_606cb269{margin-inline-start:auto}.m_5df29311{padding:var(--mb-padding, var(--mantine-spacing-md));padding-top:var(--mb-padding, var(--mantine-spacing-md))}.m_5df29311:where(:not(:only-child)){padding-top:0}.m_6c018570{position:relative;margin-top:var(--input-margin-top, 0rem);margin-bottom:var(--input-margin-bottom, 0rem);--input-height-xs: calc(1.875rem * var(--mantine-scale));--input-height-sm: calc(2.25rem * var(--mantine-scale));--input-height-md: calc(2.625rem * var(--mantine-scale));--input-height-lg: calc(3.125rem * var(--mantine-scale));--input-height-xl: calc(3.75rem * var(--mantine-scale));--input-padding-y-xs: calc(.3125rem * var(--mantine-scale));--input-padding-y-sm: calc(.375rem * var(--mantine-scale));--input-padding-y-md: calc(.5rem * var(--mantine-scale));--input-padding-y-lg: calc(.625rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-height: var(--input-height-sm);--input-radius: var(--mantine-radius-default);--input-cursor: text;--input-text-align: left;--input-line-height: calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));--input-padding: calc(var(--input-height) / 3);--input-padding-inline-start: var(--input-padding);--input-padding-inline-end: var(--input-padding);--input-placeholder-color: var(--mantine-color-placeholder);--input-color: var(--mantine-color-text);--input-left-section-size: var(--input-left-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))));--input-right-section-size: var( --input-right-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))) );--input-size: var(--input-height);--section-y: calc(.0625rem * var(--mantine-scale));--left-section-start: calc(.0625rem * var(--mantine-scale));--left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);--right-section-end: calc(.0625rem * var(--mantine-scale));--right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0}.m_6c018570[data-variant=unstyled]{--input-padding: 0;--input-padding-y: 0;--input-padding-inline-start: 0;--input-padding-inline-end: 0}.m_6c018570[data-pointer]{--input-cursor: pointer}.m_6c018570[data-multiline]{--input-padding-y-xs: calc(.28125rem * var(--mantine-scale));--input-padding-y-sm: calc(.34375rem * var(--mantine-scale));--input-padding-y-md: calc(.4375rem * var(--mantine-scale));--input-padding-y-lg: calc(.59375rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-size: auto;--input-line-height: var(--mantine-line-height);--input-padding-y: var(--input-padding-y-sm)}.m_6c018570[data-with-left-section]{--input-padding-inline-start: var(--input-left-section-size)}.m_6c018570[data-with-right-section]{--input-padding-inline-end: var(--input-right-section-size)}[data-mantine-color-scheme=light] .m_6c018570{--input-disabled-bg: var(--mantine-color-gray-1);--input-disabled-color: var(--mantine-color-gray-6)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-gray-4);--input-bg: var(--mantine-color-white);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-gray-1);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme=dark] .m_6c018570{--input-disabled-bg: var(--mantine-color-dark-6);--input-disabled-color: var(--mantine-color-dark-2)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-dark-4);--input-bg: var(--mantine-color-dark-6);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-dark-5);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme] .m_6c018570[data-error]:not([data-variant=unstyled]){--input-bd: var(--mantine-color-error)}[data-mantine-color-scheme] .m_6c018570[data-error]{--input-color: var(--mantine-color-error);--input-placeholder-color: var(--mantine-color-error);--input-section-color: var(--mantine-color-error)}:where([dir=rtl]) .m_6c018570{--input-text-align: right;--left-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;--right-section-border-radius: var(--input-radius) 0 0 var(--input-radius)}.m_8fb7ebe7{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:var(--input-resize, none);display:block;width:100%;transition:border-color .1s ease;text-align:var(--input-text-align);color:var(--input-color);border:calc(.0625rem * var(--mantine-scale)) solid var(--input-bd);background-color:var(--input-bg);font-family:var(--input-font-family, var(--mantine-font-family));height:var(--input-size);min-height:var(--input-height);line-height:var(--input-line-height);font-size:var(--input-fz, var(--input-fz, var(--mantine-font-size-sm)));border-radius:var(--input-radius);padding-inline-start:var(--input-padding-inline-start);padding-inline-end:var(--input-padding-inline-end);padding-top:var(--input-padding-y, 0rem);padding-bottom:var(--input-padding-y, 0rem);cursor:var(--input-cursor);overflow:var(--input-overflow)}.m_8fb7ebe7[data-no-overflow]{--input-overflow: hidden}.m_8fb7ebe7[data-monospace]{--input-font-family: var(--mantine-font-family-monospace);--input-fz: calc(var(--input-fz, var(--mantine-font-size-sm)) - calc(.125rem * var(--mantine-scale)))}.m_8fb7ebe7:focus,.m_8fb7ebe7:focus-within{outline:none;--input-bd: var(--input-bd-focus)}[data-error] .m_8fb7ebe7:focus,[data-error] .m_8fb7ebe7:focus-within{--input-bd: var(--mantine-color-error)}.m_8fb7ebe7::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_8fb7ebe7::placeholder{color:var(--input-placeholder-color);opacity:1}.m_8fb7ebe7::-webkit-inner-spin-button,.m_8fb7ebe7::-webkit-outer-spin-button,.m_8fb7ebe7::-webkit-search-decoration,.m_8fb7ebe7::-webkit-search-cancel-button,.m_8fb7ebe7::-webkit-search-results-button,.m_8fb7ebe7::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.m_8fb7ebe7[type=number]{-moz-appearance:textfield}.m_8fb7ebe7:disabled,.m_8fb7ebe7[data-disabled]{cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_8fb7ebe7:has(input:disabled){cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_82577fc2{pointer-events:var(--section-pointer-events);position:absolute;z-index:1;inset-inline-start:var(--section-start);inset-inline-end:var(--section-end);bottom:var(--section-y);top:var(--section-y);display:flex;align-items:center;justify-content:center;width:var(--section-size);border-radius:var(--section-border-radius);color:var(--input-section-color, var(--mantine-color-dimmed))}.m_82577fc2[data-position=right]{--section-pointer-events: var(--input-right-section-pointer-events);--section-end: var(--right-section-end);--section-size: var(--input-right-section-size);--section-border-radius: var(--right-section-border-radius)}.m_82577fc2[data-position=left]{--section-pointer-events: var(--input-left-section-pointer-events);--section-start: var(--left-section-start);--section-size: var(--input-left-section-size);--section-border-radius: var(--left-section-border-radius)}.m_88bacfd0{color:var(--input-placeholder-color, var(--mantine-color-placeholder))}[data-error] .m_88bacfd0{--input-placeholder-color: var(--input-color, var(--mantine-color-placeholder))}.m_46b77525{line-height:var(--mantine-line-height)}.m_8fdc1311{display:inline-block;font-weight:500;word-break:break-word;cursor:default;-webkit-tap-highlight-color:transparent;font-size:var(--input-label-size, var(--mantine-font-size-sm))}.m_78a94662{color:var(--input-asterisk-color, var(--mantine-color-error))}.m_8f816625,.m_fe47ce59{word-wrap:break-word;line-height:1.2;display:block;margin:0;padding:0}.m_8f816625{color:var(--mantine-color-error);font-size:var(--input-error-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_fe47ce59{color:var(--mantine-color-dimmed);font-size:var(--input-description-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_8bffd616{display:flex}.m_96b553a6{--transition-duration: .15s;top:0;left:0;position:absolute;z-index:0;transition-property:transform,width,height;transition-timing-function:ease;transition-duration:0ms}.m_96b553a6:where([data-initialized]){transition-duration:var(--transition-duration)}.m_96b553a6:where([data-hidden]){background-color:red;display:none}.m_9bdbb667{--accordion-radius: var(--mantine-radius-default)}.m_df78851f{word-break:break-word}.m_4ba554d4{padding:var(--mantine-spacing-md);padding-top:calc(var(--mantine-spacing-xs) / 2)}.m_8fa820a0{margin:0;padding:0}.m_4ba585b8{width:100%;display:flex;align-items:center;flex-direction:row-reverse;padding-inline:var(--mantine-spacing-md);opacity:1;cursor:pointer;background-color:transparent}.m_4ba585b8:where([data-chevron-position=left]){flex-direction:row;padding-inline-start:0}:where([data-mantine-color-scheme=light]) .m_4ba585b8{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_4ba585b8{color:var(--mantine-color-dark-0)}.m_4ba585b8:where(:disabled,[data-disabled]){opacity:.4;cursor:not-allowed}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-dark-6)}}.m_df3ffa0f{color:inherit;font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;padding-top:var(--mantine-spacing-sm);padding-bottom:var(--mantine-spacing-sm)}.m_3f35ae96{display:flex;align-items:center;justify-content:flex-start;transition:transform var(--accordion-transition-duration, .2s) ease;width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));min-width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));transform:rotate(0)}.m_3f35ae96:where([data-rotate]){transform:rotate(180deg)}.m_3f35ae96:where([data-position=left]){margin-inline-end:var(--mantine-spacing-md);margin-inline-start:var(--mantine-spacing-md)}.m_9bd771fe{display:flex;align-items:center;justify-content:center;margin-inline-end:var(--mantine-spacing-sm)}.m_9bd771fe:where([data-chevron-position=left]){margin-inline-end:0;margin-inline-start:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_9bd7b098{--item-border-color: var(--mantine-color-gray-3);--item-filled-color: var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_9bd7b098{--item-border-color: var(--mantine-color-dark-4);--item-filled-color: var(--mantine-color-dark-6)}.m_fe19b709{border-bottom:1px solid var(--item-border-color)}.m_1f921b3b{border:1px solid var(--item-border-color);transition:background-color .15s ease}.m_1f921b3b:where([data-active]){background-color:var(--item-filled-color)}.m_1f921b3b:first-of-type{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:first-of-type>[data-accordion-control]{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type>[data-accordion-control]{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b+.m_1f921b3b{border-top:0}.m_2cdf939a{border-radius:var(--accordion-radius)}.m_2cdf939a:where([data-active]){background-color:var(--item-filled-color)}.m_9f59b069{background-color:var(--item-filled-color);border-radius:var(--accordion-radius);border:calc(.0625rem * var(--mantine-scale)) solid transparent;transition:background-color .15s ease}.m_9f59b069[data-active]{border-color:var(--item-border-color)}:where([data-mantine-color-scheme=light]) .m_9f59b069[data-active]{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_9f59b069[data-active]{background-color:var(--mantine-color-dark-7)}.m_9f59b069+.m_9f59b069{margin-top:var(--mantine-spacing-md)}.m_7f854edf{position:fixed;z-index:var(--affix-z-index);inset-inline-start:var(--affix-left);inset-inline-end:var(--affix-right);top:var(--affix-top);bottom:var(--affix-bottom)}.m_66836ed3{--alert-radius: var(--mantine-radius-default);--alert-bg: var(--mantine-primary-color-light);--alert-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--alert-color: var(--mantine-primary-color-light-color);padding:var(--mantine-spacing-md) var(--mantine-spacing-md);border-radius:var(--alert-radius);position:relative;overflow:hidden;background-color:var(--alert-bg);border:var(--alert-bd);color:var(--alert-color)}.m_a5d60502{display:flex}.m_667c2793{flex:1;display:flex;flex-direction:column;gap:var(--mantine-spacing-xs)}.m_6a03f287{display:flex;align-items:center;justify-content:space-between;font-size:var(--mantine-font-size-sm);font-weight:700}.m_6a03f287:where([data-with-close-button]){padding-inline-end:var(--mantine-spacing-md)}.m_698f4f23{display:block;overflow:hidden;text-overflow:ellipsis}.m_667f2a6a{line-height:1;width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));display:flex;align-items:center;justify-content:flex-start;margin-inline-end:var(--mantine-spacing-md);margin-top:calc(.0625rem * var(--mantine-scale))}.m_7fa78076{text-overflow:ellipsis;overflow:hidden;font-size:var(--mantine-font-size-sm)}:where([data-mantine-color-scheme=light]) .m_7fa78076{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_7fa78076{color:var(--mantine-color-white)}.m_7fa78076:where([data-variant=filled]){color:var(--alert-color)}.m_7fa78076:where([data-variant=white]){color:var(--mantine-color-black)}.m_87f54839{width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));color:var(--alert-color)}.m_b6d8b162{-webkit-tap-highlight-color:transparent;text-decoration:none;font-size:var(--text-fz, var(--mantine-font-size-md));line-height:var(--text-lh, var(--mantine-line-height-md));font-weight:400;margin:0;padding:0;color:var(--text-color)}.m_b6d8b162:where([data-truncate]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m_b6d8b162:where([data-truncate=start]){direction:rtl;text-align:right}:where([dir=rtl]) .m_b6d8b162:where([data-truncate=start]){direction:ltr;text-align:left}.m_b6d8b162:where([data-variant=gradient]){background-image:var(--text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.m_b6d8b162:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--text-line-clamp);-webkit-box-orient:vertical}.m_b6d8b162:where([data-inherit]){line-height:inherit;font-weight:inherit;font-size:inherit}.m_b6d8b162:where([data-inline]){line-height:1}.m_849cf0da{color:var(--mantine-color-anchor);text-decoration:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:inline;padding:0;margin:0;background-color:transparent;cursor:pointer}@media (hover: hover){.m_849cf0da:where([data-underline=hover]):hover{text-decoration:underline}}@media (hover: none){.m_849cf0da:where([data-underline=hover]):active{text-decoration:underline}}.m_849cf0da:where([data-underline=always]){text-decoration:underline}.m_849cf0da:where([data-variant=gradient]),.m_849cf0da:where([data-variant=gradient]):hover{text-decoration:none}.m_849cf0da:where([data-line-clamp]){display:-webkit-box}.m_89ab340[data-resizing]{--app-shell-transition-duration: 0ms !important}.m_89ab340[data-disabled]{--app-shell-header-offset: 0rem !important;--app-shell-navbar-offset: 0rem !important}[data-mantine-color-scheme=light] .m_89ab340{--app-shell-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89ab340{--app-shell-border-color: var(--mantine-color-dark-4)}.m_45252eee,.m_9cdde9a,.m_3b16f56b,.m_8983817,.m_3840c879{transition-duration:var(--app-shell-transition-duration);transition-timing-function:var(--app-shell-transition-timing-function)}.m_45252eee,.m_9cdde9a{position:fixed;display:flex;flex-direction:column;top:var(--app-shell-header-offset, 0rem);height:calc(100dvh - var(--app-shell-header-offset, 0rem) - var(--app-shell-footer-offset, 0rem));background-color:var(--mantine-color-body);transition-property:transform,top,height}:where([data-layout=alt]) .m_45252eee,:where([data-layout=alt]) .m_9cdde9a{top:0rem;height:100dvh}.m_45252eee{inset-inline-start:0;width:var(--app-shell-navbar-width);transition-property:transform,top,height;transform:var(--app-shell-navbar-transform);z-index:var(--app-shell-navbar-z-index)}:where([dir=rtl]) .m_45252eee{transform:var(--app-shell-navbar-transform-rtl)}.m_45252eee:where([data-with-border]){border-inline-end:1px solid var(--app-shell-border-color)}.m_9cdde9a{inset-inline-end:0;width:var(--app-shell-aside-width);transform:var(--app-shell-aside-transform);z-index:var(--app-shell-aside-z-index)}:where([dir=rtl]) .m_9cdde9a{transform:var(--app-shell-aside-transform-rtl)}.m_9cdde9a:where([data-with-border]){border-inline-start:1px solid var(--app-shell-border-color)}.m_8983817{padding-inline-start:calc(var(--app-shell-navbar-offset, 0rem) + var(--app-shell-padding));padding-inline-end:calc(var(--app-shell-aside-offset, 0rem) + var(--app-shell-padding));padding-top:calc(var(--app-shell-header-offset, 0rem) + var(--app-shell-padding));padding-bottom:calc(var(--app-shell-footer-offset, 0rem) + var(--app-shell-padding));min-height:100dvh;transition-property:padding}.m_3b16f56b,.m_3840c879{position:fixed;inset-inline:0;transition-property:transform,left,right;background-color:var(--mantine-color-body)}:where([data-layout=alt]) .m_3b16f56b,:where([data-layout=alt]) .m_3840c879{inset-inline-start:var(--app-shell-navbar-offset, 0rem);inset-inline-end:var(--app-shell-aside-offset, 0rem)}.m_3b16f56b{top:0;height:var(--app-shell-header-height);background-color:var(--mantine-color-body);transform:var(--app-shell-header-transform);z-index:var(--app-shell-header-z-index)}.m_3b16f56b:where([data-with-border]){border-bottom:1px solid var(--app-shell-border-color)}.m_3840c879{bottom:0;height:calc(var(--app-shell-footer-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform:var(--app-shell-footer-transform);z-index:var(--app-shell-footer-z-index)}.m_3840c879:where([data-with-border]){border-top:1px solid var(--app-shell-border-color)}.m_6dcfc7c7{flex-grow:0}.m_6dcfc7c7:where([data-grow]){flex-grow:1}.m_71ac47fc{--ar-ratio: 1;max-width:100%}.m_71ac47fc>:where(*:not(style)){aspect-ratio:var(--ar-ratio);width:100%}.m_71ac47fc>:where(img,video){-o-object-fit:cover;object-fit:cover}.m_88b62a41{--combobox-padding: calc(.25rem * var(--mantine-scale));padding:var(--combobox-padding)}.m_88b62a41:has([data-mantine-scrollbar]){padding-inline-end:0}.m_88b62a41[data-hidden]{display:none}.m_88b62a41,.m_b2821a6e{--combobox-option-padding-xs: calc(.25rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));--combobox-option-padding-sm: calc(.375rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--combobox-option-padding-md: calc(.5rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale));--combobox-option-padding-lg: calc(.625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--combobox-option-padding-xl: calc(.875rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--combobox-option-padding: var(--combobox-option-padding-sm)}.m_92253aa5{padding:var(--combobox-option-padding);font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border-radius:var(--mantine-radius-default);background-color:transparent;color:inherit;cursor:pointer;word-break:break-word}.m_92253aa5:where([data-combobox-selected]){background-color:var(--mantine-primary-color-filled);color:var(--mantine-color-white)}.m_92253aa5:where([data-combobox-disabled]){cursor:not-allowed;opacity:.35}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}.m_985517d8{margin-inline:calc(var(--combobox-padding) * -1);margin-top:calc(var(--combobox-padding) * -1);width:calc(100% + var(--combobox-padding) * 2);border-top-width:0;border-inline-width:0;border-end-start-radius:0;border-end-end-radius:0;margin-bottom:var(--combobox-padding);position:relative}:where([data-mantine-color-scheme=light]) .m_985517d8,:where([data-mantine-color-scheme=light]) .m_985517d8:focus{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_985517d8,:where([data-mantine-color-scheme=dark]) .m_985517d8:focus{border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=light]) .m_985517d8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_985517d8{background-color:var(--mantine-color-dark-7)}.m_2530cd1d{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));text-align:center;padding:var(--combobox-option-padding);color:var(--mantine-color-dimmed)}.m_858f94bd,.m_82b967cb{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border:0 solid transparent;margin-inline:calc(var(--combobox-padding) * -1);padding:var(--combobox-option-padding)}:where([data-mantine-color-scheme=light]) .m_858f94bd,:where([data-mantine-color-scheme=light]) .m_82b967cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_858f94bd,:where([data-mantine-color-scheme=dark]) .m_82b967cb{border-color:var(--mantine-color-dark-4)}.m_82b967cb{border-top-width:calc(.0625rem * var(--mantine-scale));margin-top:var(--combobox-padding);margin-bottom:calc(var(--combobox-padding) * -1)}.m_858f94bd{border-bottom-width:calc(.0625rem * var(--mantine-scale));margin-bottom:var(--combobox-padding);margin-top:calc(var(--combobox-padding) * -1)}.m_254f3e4f:has(.m_2bb2e9e5:only-child){display:none}.m_2bb2e9e5{color:var(--mantine-color-dimmed);font-size:calc(var(--combobox-option-fz, var(--mantine-font-size-sm)) * .85);padding:var(--combobox-option-padding);font-weight:500;position:relative;display:flex;align-items:center}.m_2bb2e9e5:after{content:"";flex:1;inset-inline:0;height:calc(.0625rem * var(--mantine-scale));margin-inline-start:var(--mantine-spacing-xs)}:where([data-mantine-color-scheme=light]) .m_2bb2e9e5:after{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2bb2e9e5:after{background-color:var(--mantine-color-dark-4)}.m_2bb2e9e5:only-child{display:none}.m_2943220b{--combobox-chevron-size-xs: calc(.875rem * var(--mantine-scale));--combobox-chevron-size-sm: calc(1.125rem * var(--mantine-scale));--combobox-chevron-size-md: calc(1.25rem * var(--mantine-scale));--combobox-chevron-size-lg: calc(1.5rem * var(--mantine-scale));--combobox-chevron-size-xl: calc(1.75rem * var(--mantine-scale));--combobox-chevron-size: var(--combobox-chevron-size-sm);width:var(--combobox-chevron-size);height:var(--combobox-chevron-size)}:where([data-mantine-color-scheme=light]) .m_2943220b{color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_2943220b{color:var(--mantine-color-dark-3)}.m_2943220b:where([data-error]){color:var(--mantine-color-error)}.m_390b5f4{display:flex;align-items:center;gap:calc(.5rem * var(--mantine-scale))}.m_390b5f4:where([data-reverse]){justify-content:space-between}.m_8ee53fc2{opacity:.4;width:.8em;min-width:.8em;height:.8em}:where([data-combobox-selected]) .m_8ee53fc2{opacity:1}.m_5f75b09e{--label-lh-xs: calc(1rem * var(--mantine-scale));--label-lh-sm: calc(1.25rem * var(--mantine-scale));--label-lh-md: calc(1.5rem * var(--mantine-scale));--label-lh-lg: calc(1.875rem * var(--mantine-scale));--label-lh-xl: calc(2.25rem * var(--mantine-scale));--label-lh: var(--label-lh-sm)}.m_5f75b09e[data-label-position=left]{--label-order: 1;--label-offset-end: var(--mantine-spacing-sm);--label-offset-start: 0}.m_5f75b09e[data-label-position=right]{--label-order: 2;--label-offset-end: 0;--label-offset-start: var(--mantine-spacing-sm)}.m_5f6e695e{display:flex}.m_d3ea56bb{--label-cursor: var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:inline-flex;flex-direction:column;font-size:var(--label-fz, var(--mantine-font-size-sm));line-height:var(--label-lh);cursor:var(--label-cursor);order:var(--label-order)}fieldset:disabled .m_d3ea56bb,.m_d3ea56bb[data-disabled]{--label-cursor: not-allowed}.m_8ee546b8{cursor:var(--label-cursor);color:inherit;padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=light]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=dark]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-dark-3)}.m_328f68c0,.m_8e8a99cc{margin-top:calc(var(--mantine-spacing-xs) / 2);padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}.m_26775b0a{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_26775b0a :where(*){cursor:inherit}.m_26775b0a:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_5e5256ee{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_5e5256ee{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_5e5256ee[data-indeterminate],.m_5e5256ee[data-checked]{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_5e5256ee[data-indeterminate]>.m_1b1c543a,.m_5e5256ee[data-checked]>.m_1b1c543a{opacity:1;transform:none;color:var(--checkbox-icon-color)}.m_5e5256ee[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-dark-3)}.m_76e20374[data-indeterminate]:not([data-disabled]),.m_76e20374[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--checkbox-color)}.m_76e20374[data-indeterminate]:not([data-disabled])>.m_1b1c543a,.m_76e20374[data-checked]:not([data-disabled])>.m_1b1c543a{color:var(--checkbox-color);opacity:1;transform:none}.m_1b1c543a{display:block;width:60%;color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_bf2d988c{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white)}.m_26062bec{position:relative;width:var(--checkbox-size);height:var(--checkbox-size);order:1}.m_26062bec:where([data-label-position=left]){order:2}.m_26063560{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));padding:0;display:block;margin:0;transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_26063560{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_26063560{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_26063560:where([data-error]){border-color:var(--mantine-color-error)}.m_26063560[data-indeterminate],.m_26063560:checked{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_26063560[data-indeterminate]+.m_bf295423,.m_26063560:checked+.m_bf295423{opacity:1;transform:none}.m_26063560:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_26063560:disabled{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26063560:disabled{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-dark-3)}.m_215c4542+.m_bf295423{color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled),.m_215c4542:checked:not(:disabled){background-color:transparent;border-color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled)+.m_bf295423,.m_215c4542:checked:not(:disabled)+.m_bf295423{color:var(--checkbox-color);opacity:1;transform:none}.m_bf295423{position:absolute;inset:0;width:60%;margin:auto;color:var(--checkbox-icon-color);pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:0;transition:transform .1s ease,opacity .1s ease}.m_11def92b{--ag-spacing: var(--mantine-spacing-sm);--ag-offset: calc(var(--ag-spacing) * -1);display:flex;padding-inline-start:var(--ag-spacing)}.m_f85678b6{--avatar-size-xs: calc(1rem * var(--mantine-scale));--avatar-size-sm: calc(1.625rem * var(--mantine-scale));--avatar-size-md: calc(2.375rem * var(--mantine-scale));--avatar-size-lg: calc(3.5rem * var(--mantine-scale));--avatar-size-xl: calc(5.25rem * var(--mantine-scale));--avatar-size: var(--avatar-size-md);--avatar-radius: calc(62.5rem * var(--mantine-scale));--avatar-bg: var(--mantine-color-gray-light);--avatar-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--avatar-color: var(--mantine-color-gray-light-color);--avatar-placeholder-fz: calc(var(--avatar-size) / 2.5);-webkit-tap-highlight-color:transparent;position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:var(--avatar-radius);text-decoration:none;padding:0;width:var(--avatar-size);height:var(--avatar-size);min-width:var(--avatar-size)}.m_f85678b6:where([data-within-group]){margin-inline-start:var(--ag-offset);border:2px solid var(--mantine-color-body);background:var(--mantine-color-body)}.m_11f8ac07{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.m_104cd71f{font-weight:700;display:flex;align-items:center;justify-content:center;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--avatar-radius);font-size:var(--avatar-placeholder-fz);background:var(--avatar-bg);border:var(--avatar-bd);color:var(--avatar-color)}.m_104cd71f>[data-avatar-placeholder-icon]{width:70%;height:70%}.m_2ce0de02{background-size:cover;background-position:center;display:block;width:100%;border:0;text-decoration:none;border-radius:var(--bi-radius, 0)}.m_347db0ec{--badge-height-xs: calc(1rem * var(--mantine-scale));--badge-height-sm: calc(1.125rem * var(--mantine-scale));--badge-height-md: calc(1.25rem * var(--mantine-scale));--badge-height-lg: calc(1.625rem * var(--mantine-scale));--badge-height-xl: calc(2rem * var(--mantine-scale));--badge-fz-xs: calc(.5625rem * var(--mantine-scale));--badge-fz-sm: calc(.625rem * var(--mantine-scale));--badge-fz-md: calc(.6875rem * var(--mantine-scale));--badge-fz-lg: calc(.8125rem * var(--mantine-scale));--badge-fz-xl: calc(1rem * var(--mantine-scale));--badge-padding-x-xs: calc(.375rem * var(--mantine-scale));--badge-padding-x-sm: calc(.5rem * var(--mantine-scale));--badge-padding-x-md: calc(.625rem * var(--mantine-scale));--badge-padding-x-lg: calc(.75rem * var(--mantine-scale));--badge-padding-x-xl: calc(1rem * var(--mantine-scale));--badge-height: var(--badge-height-md);--badge-fz: var(--badge-fz-md);--badge-padding-x: var(--badge-padding-x-md);--badge-radius: calc(62.5rem * var(--mantine-scale));--badge-lh: calc(var(--badge-height) - calc(.125rem * var(--mantine-scale)));--badge-color: var(--mantine-color-white);--badge-bg: var(--mantine-primary-color-filled);--badge-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;-webkit-tap-highlight-color:transparent;font-size:var(--badge-fz);border-radius:var(--badge-radius);height:var(--badge-height);line-height:var(--badge-lh);text-decoration:none;padding:0 var(--badge-padding-x);display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;text-transform:uppercase;font-weight:700;letter-spacing:calc(.015625rem * var(--mantine-scale));cursor:inherit;text-overflow:ellipsis;overflow:hidden;color:var(--badge-color);background:var(--badge-bg);border:var(--badge-bd)}.m_347db0ec:where([data-block]){display:flex;width:100%}.m_347db0ec:where([data-circle]){padding-inline:calc(.125rem * var(--mantine-scale));width:var(--badge-height)}.m_fbd81e3d{--badge-dot-size: calc(var(--badge-height) / 3.4)}:where([data-mantine-color-scheme=light]) .m_fbd81e3d{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fbd81e3d{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_fbd81e3d:before{content:"";display:block;width:var(--badge-dot-size);height:var(--badge-dot-size);border-radius:var(--badge-dot-size);background-color:var(--badge-dot-color);margin-inline-end:var(--badge-dot-size)}.m_5add502a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m_91fdda9b{--badge-section-margin: calc(var(--mantine-spacing-xs) / 2);display:inline-flex;justify-content:center;align-items:center}.m_91fdda9b:where([data-position=left]){margin-inline-end:var(--badge-section-margin)}.m_91fdda9b:where([data-position=right]){margin-inline-start:var(--badge-section-margin)}.m_ddec01c0{--blockquote-border: 3px solid var(--bq-bd);position:relative;margin:0;border-inline-start:var(--blockquote-border);border-start-end-radius:var(--bq-radius);border-end-end-radius:var(--bq-radius);padding:var(--mantine-spacing-xl) calc(2.375rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_ddec01c0{background-color:var(--bq-bg-light)}:where([data-mantine-color-scheme=dark]) .m_ddec01c0{background-color:var(--bq-bg-dark)}.m_dde7bd57{--blockquote-icon-offset: calc(var(--bq-icon-size) / -2);position:absolute;color:var(--bq-bd);background-color:var(--mantine-color-body);display:flex;align-items:center;justify-content:center;top:var(--blockquote-icon-offset);inset-inline-start:var(--blockquote-icon-offset);width:var(--bq-icon-size);height:var(--bq-icon-size);border-radius:var(--bq-icon-size)}.m_dde51a35{display:block;margin-top:var(--mantine-spacing-md);opacity:.6;font-size:85%}.m_8b3717df{display:flex;align-items:center}.m_f678d540{line-height:1;white-space:nowrap;-webkit-tap-highlight-color:transparent}.m_3b8f2208{margin-inline:var(--bc-separator-margin, var(--mantine-spacing-xs));line-height:1;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_3b8f2208{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_3b8f2208{color:var(--mantine-color-dark-2)}.m_fea6bf1a{--burger-size-xs: calc(.75rem * var(--mantine-scale));--burger-size-sm: calc(1.125rem * var(--mantine-scale));--burger-size-md: calc(1.5rem * var(--mantine-scale));--burger-size-lg: calc(2.125rem * var(--mantine-scale));--burger-size-xl: calc(2.625rem * var(--mantine-scale));--burger-size: var(--burger-size-md);--burger-line-size: calc(var(--burger-size) / 12);width:calc(var(--burger-size) + var(--mantine-spacing-xs));height:calc(var(--burger-size) + var(--mantine-spacing-xs));padding:calc(var(--mantine-spacing-xs) / 2);cursor:pointer}:where([data-mantine-color-scheme=light]) .m_fea6bf1a{--burger-color: var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fea6bf1a{--burger-color: var(--mantine-color-white)}.m_d4fb9cad{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_d4fb9cad,.m_d4fb9cad:before,.m_d4fb9cad:after{display:block;width:var(--burger-size);height:var(--burger-line-size);background-color:var(--burger-color);outline:calc(.0625rem * var(--mantine-scale)) solid transparent;transition-property:background-color,transform;transition-duration:var(--burger-transition-duration, .3s);transition-timing-function:var(--burger-transition-timing-function, ease)}.m_d4fb9cad:before,.m_d4fb9cad:after{position:absolute;content:"";inset-inline-start:0}.m_d4fb9cad:before{top:calc(var(--burger-size) / -3)}.m_d4fb9cad:after{top:calc(var(--burger-size) / 3)}.m_d4fb9cad[data-opened]{background-color:transparent}.m_d4fb9cad[data-opened]:before{transform:translateY(calc(var(--burger-size) / 3)) rotate(45deg)}.m_d4fb9cad[data-opened]:after{transform:translateY(calc(var(--burger-size) / -3)) rotate(-45deg)}.m_77c9d27d{--button-height-xs: calc(1.875rem * var(--mantine-scale));--button-height-sm: calc(2.25rem * var(--mantine-scale));--button-height-md: calc(2.625rem * var(--mantine-scale));--button-height-lg: calc(3.125rem * var(--mantine-scale));--button-height-xl: calc(3.75rem * var(--mantine-scale));--button-height-compact-xs: calc(1.375rem * var(--mantine-scale));--button-height-compact-sm: calc(1.625rem * var(--mantine-scale));--button-height-compact-md: calc(1.875rem * var(--mantine-scale));--button-height-compact-lg: calc(2.125rem * var(--mantine-scale));--button-height-compact-xl: calc(2.5rem * var(--mantine-scale));--button-padding-x-xs: calc(.875rem * var(--mantine-scale));--button-padding-x-sm: calc(1.125rem * var(--mantine-scale));--button-padding-x-md: calc(1.375rem * var(--mantine-scale));--button-padding-x-lg: calc(1.625rem * var(--mantine-scale));--button-padding-x-xl: calc(2rem * var(--mantine-scale));--button-padding-x-compact-xs: calc(.4375rem * var(--mantine-scale));--button-padding-x-compact-sm: calc(.5rem * var(--mantine-scale));--button-padding-x-compact-md: calc(.625rem * var(--mantine-scale));--button-padding-x-compact-lg: calc(.75rem * var(--mantine-scale));--button-padding-x-compact-xl: calc(.875rem * var(--mantine-scale));--button-height: var(--button-height-sm);--button-padding-x: var(--button-padding-x-sm);--button-color: var(--mantine-color-white);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:600;position:relative;line-height:1;text-align:center;overflow:hidden;width:auto;cursor:pointer;display:inline-block;border-radius:var(--button-radius, var(--mantine-radius-default));font-size:var(--button-fz, var(--mantine-font-size-sm));background:var(--button-bg, var(--mantine-primary-color-filled));border:var(--button-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);color:var(--button-color, var(--mantine-color-white));height:var(--button-height, var(--button-height-sm));padding-inline:var(--button-padding-x, var(--button-padding-x-sm));vertical-align:middle}.m_77c9d27d:where([data-block]){display:block;width:100%}.m_77c9d27d:where([data-with-left-section]){padding-inline-start:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where([data-with-right-section]){padding-inline-end:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent;transform:none}:where([data-mantine-color-scheme=light]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-gray-5);background:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-dark-3);background:var(--mantine-color-dark-6)}.m_77c9d27d:before{content:"";pointer-events:none;position:absolute;inset:calc(-.0625rem * var(--mantine-scale));border-radius:var(--button-radius, var(--mantine-radius-default));transform:translateY(-100%);opacity:0;filter:blur(12px);transition:transform .15s ease,opacity .1s ease}:where([data-mantine-color-scheme=light]) .m_77c9d27d:before{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:before{background-color:#00000026}.m_77c9d27d:where([data-loading]){cursor:not-allowed;transform:none}.m_77c9d27d:where([data-loading]):before{transform:translateY(0);opacity:1}.m_77c9d27d:where([data-loading]) .m_80f1301b{opacity:0;transform:translateY(100%)}@media (hover: hover){.m_77c9d27d:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}@media (hover: none){.m_77c9d27d:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}.m_80f1301b{display:flex;align-items:center;justify-content:var(--button-justify, center);height:100%;overflow:visible;transition:transform .15s ease,opacity .1s ease}.m_811560b9{white-space:nowrap;height:100%;overflow:hidden;display:flex;align-items:center;opacity:1}.m_811560b9:where([data-loading]){opacity:.2}.m_a74036a{display:flex;align-items:center}.m_a74036a:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_a74036a:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_a25b86ee{position:absolute;left:50%;top:50%}.m_80d6d844{--button-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_80d6d844 :where(*):focus{position:relative;z-index:1}.m_80d6d844[data-orientation=horizontal]{flex-direction:row}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical]{flex-direction:column}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--button-border-width) / 2);border-top-width:calc(var(--button-border-width) / 2)}.m_e615b15f{--card-padding: var(--mantine-spacing-md);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--card-padding);color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_e615b15f{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_e615b15f{background-color:var(--mantine-color-dark-6)}.m_599a2148{display:block;margin-inline:calc(var(--card-padding) * -1)}.m_599a2148:where(:first-child){margin-top:calc(var(--card-padding) * -1);border-top:none!important}.m_599a2148:where(:last-child){margin-bottom:calc(var(--card-padding) * -1);border-bottom:none!important}.m_599a2148:where([data-inherit-padding]){padding-inline:var(--card-padding)}.m_599a2148:where([data-with-border]){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-bottom:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_599a2148{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_599a2148{border-color:var(--mantine-color-dark-4)}.m_599a2148+.m_599a2148{border-top:none!important}.m_4451eb3a{display:flex;align-items:center;justify-content:center}.m_4451eb3a:where([data-inline]){display:inline-flex}.m_f59ffda3{--chip-size-xs: calc(1.4375rem * var(--mantine-scale));--chip-size-sm: calc(1.75rem * var(--mantine-scale));--chip-size-md: calc(2rem * var(--mantine-scale));--chip-size-lg: calc(2.25rem * var(--mantine-scale));--chip-size-xl: calc(2.5rem * var(--mantine-scale));--chip-icon-size-xs: calc(.625rem * var(--mantine-scale));--chip-icon-size-sm: calc(.75rem * var(--mantine-scale));--chip-icon-size-md: calc(.875rem * var(--mantine-scale));--chip-icon-size-lg: calc(1rem * var(--mantine-scale));--chip-icon-size-xl: calc(1.125rem * var(--mantine-scale));--chip-padding-xs: calc(1rem * var(--mantine-scale));--chip-padding-sm: calc(1.25rem * var(--mantine-scale));--chip-padding-md: calc(1.5rem * var(--mantine-scale));--chip-padding-lg: calc(1.75rem * var(--mantine-scale));--chip-padding-xl: calc(2rem * var(--mantine-scale));--chip-checked-padding-xs: calc(.46875rem * var(--mantine-scale));--chip-checked-padding-sm: calc(.625rem * var(--mantine-scale));--chip-checked-padding-md: calc(.73125rem * var(--mantine-scale));--chip-checked-padding-lg: calc(.84375rem * var(--mantine-scale));--chip-checked-padding-xl: calc(.78125rem * var(--mantine-scale));--chip-spacing-xs: calc(.625rem * var(--mantine-scale));--chip-spacing-sm: calc(.75rem * var(--mantine-scale));--chip-spacing-md: calc(1rem * var(--mantine-scale));--chip-spacing-lg: calc(1.25rem * var(--mantine-scale));--chip-spacing-xl: calc(1.375rem * var(--mantine-scale));--chip-size: var(--chip-size-sm);--chip-icon-size: var(--chip-icon-size-sm);--chip-padding: var(--chip-padding-sm);--chip-spacing: var(--chip-spacing-sm);--chip-checked-padding: var(--chip-checked-padding-sm);--chip-bg: var(--mantine-primary-color-filled);--chip-hover: var(--mantine-primary-color-filled-hover);--chip-color: var(--mantine-color-white);--chip-bd: calc(.0625rem * var(--mantine-scale)) solid transparent}.m_be049a53{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--chip-radius, 1000rem);height:var(--chip-size);font-size:var(--chip-fz, var(--mantine-font-size-sm));line-height:calc(var(--chip-size) - calc(.125rem * var(--mantine-scale)));padding-inline:var(--chip-padding);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}.m_be049a53:where([data-checked]){padding:var(--chip-checked-padding)}.m_be049a53:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-gray-2);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-white);border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-dark-6);border:1px solid var(--mantine-color-dark-4)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-dark-5)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-dark-5)}}.m_3904c1af:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);border:var(--chip-bd)}@media (hover: hover){.m_3904c1af:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media (hover: none){.m_3904c1af:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_fa109255:not([data-disabled]),.m_f7e165c3:not([data-disabled]){border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-dark-5)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-dark-4)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-dark-4)}}.m_fa109255:not([data-disabled]):where([data-checked]),.m_f7e165c3:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);color:var(--chip-color);background-color:var(--chip-bg)}@media (hover: hover){.m_fa109255:not([data-disabled]):where([data-checked]):hover,.m_f7e165c3:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media (hover: none){.m_fa109255:not([data-disabled]):where([data-checked]):active,.m_f7e165c3:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_9ac86df9{width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));max-width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));height:var(--chip-icon-size);display:flex;align-items:center;overflow:hidden}.m_d6d72580{width:var(--chip-icon-size);height:var(--chip-icon-size);display:block;color:var(--chip-icon-color, inherit)}.m_bde07329{width:0;height:0;padding:0;opacity:0;margin:0}.m_bde07329:focus-visible+.m_be049a53{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_b183c0a2{font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);padding:2px calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);font-size:var(--mantine-font-size-xs);margin:0;overflow:auto}:where([data-mantine-color-scheme=light]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-gray-1));color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-dark-5));color:var(--mantine-color-white)}.m_b183c0a2[data-block]{padding:var(--mantine-spacing-xs)}.m_de3d2490{--cs-size: calc(1.75rem * var(--mantine-scale));--cs-radius: calc(62.5rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;line-height:1;position:relative;width:var(--cs-size);height:var(--cs-size);min-width:var(--cs-size);min-height:var(--cs-size);border-radius:var(--cs-radius);color:inherit;text-decoration:none}[data-mantine-color-scheme=light] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-gray-3);--alpha-overlay-bg: var(--mantine-color-white)}[data-mantine-color-scheme=dark] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-dark-4);--alpha-overlay-bg: var(--mantine-color-dark-7)}.m_862f3d1b{position:absolute;inset:0;border-radius:var(--cs-radius)}.m_98ae7f22{position:absolute;inset:0;border-radius:var(--cs-radius);z-index:1;box-shadow:#0000001a 0 0 0 calc(.0625rem * var(--mantine-scale)) inset,#00000026 0 0 calc(.25rem * var(--mantine-scale)) inset}.m_95709ac0{position:absolute;inset:0;border-radius:var(--cs-radius);background-size:calc(.5rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));background-position:0 0,0 calc(.25rem * var(--mantine-scale)),calc(.25rem * var(--mantine-scale)) calc(-.25rem * var(--mantine-scale)),calc(-.25rem * var(--mantine-scale)) 0;background-image:linear-gradient(45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(-45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--alpha-overlay-color) 75%),linear-gradient(-45deg,var(--alpha-overlay-bg) 75%,var(--alpha-overlay-color) 75%)}.m_93e74e3{position:absolute;inset:0;border-radius:var(--cs-radius);z-index:2;display:flex;align-items:center;justify-content:center}.m_fee9c77{--cp-width-xs: calc(11.25rem * var(--mantine-scale));--cp-width-sm: calc(12.5rem * var(--mantine-scale));--cp-width-md: calc(15rem * var(--mantine-scale));--cp-width-lg: calc(17.5rem * var(--mantine-scale));--cp-width-xl: calc(20rem * var(--mantine-scale));--cp-preview-size-xs: calc(1.625rem * var(--mantine-scale));--cp-preview-size-sm: calc(2.125rem * var(--mantine-scale));--cp-preview-size-md: calc(2.625rem * var(--mantine-scale));--cp-preview-size-lg: calc(3.125rem * var(--mantine-scale));--cp-preview-size-xl: calc(3.375rem * var(--mantine-scale));--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-saturation-height-xs: calc(6.25rem * var(--mantine-scale));--cp-saturation-height-sm: calc(6.875rem * var(--mantine-scale));--cp-saturation-height-md: calc(7.5rem * var(--mantine-scale));--cp-saturation-height-lg: calc(8.75rem * var(--mantine-scale));--cp-saturation-height-xl: calc(10rem * var(--mantine-scale));--cp-preview-size: var(--cp-preview-size-sm);--cp-thumb-size: var(--cp-thumb-size-sm);--cp-saturation-height: var(--cp-saturation-height-sm);--cp-width: var(--cp-width-sm);--cp-body-spacing: var(--mantine-spacing-sm);width:var(--cp-width);padding:calc(.0625rem * var(--mantine-scale))}.m_fee9c77:where([data-full-width]){width:100%}.m_9dddfbac{width:var(--cp-preview-size);height:var(--cp-preview-size)}.m_bffecc3e{display:flex;padding-top:calc(var(--cp-body-spacing) / 2)}.m_3283bb96{flex:1}.m_3283bb96:not(:only-child){margin-inline-end:var(--mantine-spacing-xs)}.m_40d572ba{overflow:hidden;position:absolute;box-shadow:0 0 1px #0009;border:2px solid var(--mantine-color-white);width:var(--cp-thumb-size);height:var(--cp-thumb-size);border-radius:var(--cp-thumb-size);left:calc(var(--thumb-x-offset) - var(--cp-thumb-size) / 2);top:calc(var(--thumb-y-offset) - var(--cp-thumb-size) / 2)}.m_d8ee6fd8{height:unset!important;width:unset!important;min-width:0!important;min-height:0!important;margin:calc(.125rem * var(--mantine-scale));cursor:pointer;padding-bottom:calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)));flex:0 0 calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)))}.m_5711e686{margin-top:calc(.3125rem * var(--mantine-scale));margin-inline:calc(-.125rem * var(--mantine-scale));display:flex;flex-wrap:wrap}.m_202a296e{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;position:relative;height:var(--cp-saturation-height);border-radius:var(--mantine-radius-sm);margin:calc(var(--cp-thumb-size) / 2)}.m_202a296e:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_202a296e:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_11b3db02{position:absolute;border-radius:var(--mantine-radius-sm);inset:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)))}.m_d856d47d{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-thumb-size: var(--cp-thumb-size, calc(.75rem * var(--mantine-scale)));position:relative;height:calc(var(--cp-thumb-size) + calc(.125rem * var(--mantine-scale)));margin-inline:calc(var(--cp-thumb-size) / 2);outline:none}.m_d856d47d+.m_d856d47d{margin-top:calc(.375rem * var(--mantine-scale))}.m_d856d47d:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_d856d47d:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}:where([data-mantine-color-scheme=light]) .m_d856d47d{--slider-checkers: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d856d47d{--slider-checkers: var(--mantine-color-dark-4)}.m_8f327113{position:absolute;top:0;bottom:0;inset-inline:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)));border-radius:10000rem}.m_b077c2bc{--ci-eye-dropper-icon-size-xs: calc(.875rem * var(--mantine-scale));--ci-eye-dropper-icon-size-sm: calc(1rem * var(--mantine-scale));--ci-eye-dropper-icon-size-md: calc(1.125rem * var(--mantine-scale));--ci-eye-dropper-icon-size-lg: calc(1.25rem * var(--mantine-scale));--ci-eye-dropper-icon-size-xl: calc(1.375rem * var(--mantine-scale));--ci-eye-dropper-icon-size: var(--ci-eye-dropper-icon-size-sm)}.m_c5ccdcab{--ci-preview-size-xs: calc(1rem * var(--mantine-scale));--ci-preview-size-sm: calc(1.125rem * var(--mantine-scale));--ci-preview-size-md: calc(1.375rem * var(--mantine-scale));--ci-preview-size-lg: calc(1.75rem * var(--mantine-scale));--ci-preview-size-xl: calc(2.25rem * var(--mantine-scale));--ci-preview-size: var(--ci-preview-size-sm)}.m_5ece2cd7{padding:calc(.5rem * var(--mantine-scale))}.m_7485cace{--container-size-xs: calc(33.75rem * var(--mantine-scale));--container-size-sm: calc(45rem * var(--mantine-scale));--container-size-md: calc(60rem * var(--mantine-scale));--container-size-lg: calc(71.25rem * var(--mantine-scale));--container-size-xl: calc(82.5rem * var(--mantine-scale));--container-size: var(--container-size-md);max-width:var(--container-size);padding-inline:var(--mantine-spacing-md);margin-inline:auto}.m_7485cace:where([data-fluid]){max-width:100%}.m_e2125a27{--dialog-size-xs: calc(10rem * var(--mantine-scale));--dialog-size-sm: calc(12.5rem * var(--mantine-scale));--dialog-size-md: calc(21.25rem * var(--mantine-scale));--dialog-size-lg: calc(25rem * var(--mantine-scale));--dialog-size-xl: calc(31.25rem * var(--mantine-scale));--dialog-size: var(--dialog-size-md);position:relative;width:var(--dialog-size);max-width:calc(100vw - var(--mantine-spacing-xl) * 2);min-height:calc(3.125rem * var(--mantine-scale))}.m_5abab665{position:absolute;top:calc(var(--mantine-spacing-md) / 2);inset-inline-end:calc(var(--mantine-spacing-md) / 2)}.m_3eebeb36{--divider-size-xs: calc(.0625rem * var(--mantine-scale));--divider-size-sm: calc(.125rem * var(--mantine-scale));--divider-size-md: calc(.1875rem * var(--mantine-scale));--divider-size-lg: calc(.25rem * var(--mantine-scale));--divider-size-xl: calc(.3125rem * var(--mantine-scale));--divider-size: var(--divider-size-xs)}:where([data-mantine-color-scheme=light]) .m_3eebeb36{--divider-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3eebeb36{--divider-color: var(--mantine-color-dark-4)}.m_3eebeb36:where([data-orientation=horizontal]){border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color)}.m_3eebeb36:where([data-orientation=vertical]){border-inline-start:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);height:auto;align-self:stretch}.m_3eebeb36:where([data-with-label]){border:0}.m_9e365f20{display:flex;align-items:center;font-size:var(--mantine-font-size-xs);color:var(--mantine-color-dimmed);white-space:nowrap}.m_9e365f20:where([data-position=left]):before{display:none}.m_9e365f20:where([data-position=right]):after{display:none}.m_9e365f20:before{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-end:var(--mantine-spacing-xs)}.m_9e365f20:after{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-start:var(--mantine-spacing-xs)}.m_f11b401e{--drawer-size-xs: calc(20rem * var(--mantine-scale));--drawer-size-sm: calc(23.75rem * var(--mantine-scale));--drawer-size-md: calc(27.5rem * var(--mantine-scale));--drawer-size-lg: calc(38.75rem * var(--mantine-scale));--drawer-size-xl: calc(48.75rem * var(--mantine-scale));--drawer-size: var(--drawer-size-md);--drawer-offset: 0rem}.m_5a7c2c9{z-index:1000}.m_b8a05bbd{flex:var(--drawer-flex, 0 0 var(--drawer-size));height:var(--drawer-height, calc(100% - var(--drawer-offset) * 2));margin:var(--drawer-offset);max-width:calc(100% - var(--drawer-offset) * 2);max-height:calc(100% - var(--drawer-offset) * 2);overflow-y:auto}.m_31cd769a{display:flex;justify-content:var(--drawer-justify, flex-start);align-items:var(--drawer-align, flex-start)}.m_e9408a47{padding:var(--mantine-spacing-lg);padding-top:var(--mantine-spacing-xs);border-radius:var(--fieldset-radius, var(--mantine-radius-default));min-inline-size:auto}.m_84c9523a{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_84c9523a{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_84c9523a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-7)}.m_ef274e49{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_ef274e49{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_ef274e49{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_eda993d3{padding:0;border:0;border-radius:0}.m_90794832{font-size:var(--mantine-font-size-sm)}.m_74ca27fe{padding:0;margin-bottom:var(--mantine-spacing-sm)}.m_410352e9{--grid-overflow: visible;--grid-margin: calc(var(--grid-gutter) / -2);--grid-col-padding: calc(var(--grid-gutter) / 2);overflow:var(--grid-overflow)}.m_dee7bd2f{width:calc(100% + var(--grid-gutter));display:flex;flex-wrap:wrap;justify-content:var(--grid-justify);align-items:var(--grid-align);margin:var(--grid-margin)}.m_96bdd299{--col-flex-grow: 0;--col-offset: 0rem;flex-shrink:0;order:var(--col-order);flex-basis:var(--col-flex-basis);width:var(--col-width);max-width:var(--col-max-width);flex-grow:var(--col-flex-grow);margin-inline-start:var(--col-offset);padding:var(--grid-col-padding)}.m_bcb3f3c2{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=light]) .m_bcb3f3c2{background-color:var(--mark-bg-light)}:where([data-mantine-color-scheme=dark]) .m_bcb3f3c2{background-color:var(--mark-bg-dark)}.m_9e117634{display:block;flex:0;-o-object-fit:var(--image-object-fit, cover);object-fit:var(--image-object-fit, cover);width:100%;border-radius:var(--image-radius, 0)}@keyframes m_885901b1{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.8)}}.m_e5262200{--indicator-size: calc(.625rem * var(--mantine-scale));--indicator-color: var(--mantine-primary-color-filled);position:relative;display:block}.m_e5262200:where([data-inline]){display:inline-block}.m_760d1fb1{position:absolute;top:var(--indicator-top);left:var(--indicator-left);right:var(--indicator-right);bottom:var(--indicator-bottom);transform:translate(var(--indicator-translate-x),var(--indicator-translate-y));min-width:var(--indicator-size);height:var(--indicator-size);border-radius:var(--indicator-radius, 1000rem);z-index:var(--indicator-z-index, 200);display:flex;align-items:center;justify-content:center;font-size:var(--mantine-font-size-xs);background-color:var(--indicator-color);color:var(--indicator-text-color, var(--mantine-color-white));white-space:nowrap}.m_760d1fb1:before{content:"";position:absolute;inset:0;background-color:var(--indicator-color);border-radius:var(--indicator-radius, 1000rem);z-index:-1}.m_760d1fb1:where([data-with-label]){padding-inline:calc(var(--mantine-spacing-xs) / 2)}.m_760d1fb1:where([data-with-border]){border:2px solid var(--mantine-color-body)}.m_760d1fb1[data-processing]:before{animation:m_885901b1 1s linear infinite}.m_dc6f14e2{--kbd-fz-xs: calc(.625rem * var(--mantine-scale));--kbd-fz-sm: calc(.75rem * var(--mantine-scale));--kbd-fz-md: calc(.875rem * var(--mantine-scale));--kbd-fz-lg: calc(1rem * var(--mantine-scale));--kbd-fz-xl: calc(1.25rem * var(--mantine-scale));--kbd-fz: var(--kbd-fz-sm);--kbd-padding-xs: calc(.125rem * var(--mantine-scale)) calc(.25rem * var(--mantine-scale));--kbd-padding-sm: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));--kbd-padding-md: calc(.25rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale));--kbd-padding-lg: calc(.3125rem * var(--mantine-scale)) calc(.5625rem * var(--mantine-scale));--kbd-padding-xl: calc(.5rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--kbd-padding: var(--kbd-padding-sm);font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale));unicode-bidi:embed}:where([data-mantine-color-scheme=light]) .m_dc6f14e2{border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_dc6f14e2{border-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-6)}.m_abbac491{--list-fz: var(--mantine-font-size-md);--list-lh: var(--mantine-line-height-md);list-style-position:inside;font-size:var(--list-fz);line-height:var(--list-lh);margin:0;padding:0}.m_abbac491:where([data-with-padding]){padding-inline-start:var(--mantine-spacing-md)}.m_abb6bec2{white-space:nowrap;line-height:var(--list-lh)}.m_abb6bec2:where([data-with-icon]){list-style:none}.m_abb6bec2:where([data-with-icon]) .m_75cd9f71{--li-direction: row;--li-align: center}.m_abb6bec2:where(:not(:first-of-type)){margin-top:var(--list-spacing, 0)}.m_abb6bec2:where([data-centered]){line-height:1}.m_75cd9f71{display:inline-flex;flex-direction:var(--li-direction, column);align-items:var(--li-align, flex-start);white-space:normal}.m_60f83e5b{display:inline-block;vertical-align:middle;margin-inline-end:var(--mantine-spacing-sm)}.m_6e45937b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:var(--lo-z-index)}.m_e8eb006c{position:relative;z-index:calc(var(--lo-z-index) + 1)}.m_df587f17{z-index:var(--lo-z-index)}.m_dc9b7c9f{padding:calc(.25rem * var(--mantine-scale))}.m_9bfac126{color:var(--mantine-color-dimmed);font-weight:500;font-size:var(--mantine-font-size-xs);padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm);cursor:default}.m_efdf90cb{margin-top:calc(.25rem * var(--mantine-scale));margin-bottom:calc(.25rem * var(--mantine-scale));border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_efdf90cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_efdf90cb{border-color:var(--mantine-color-dark-4)}.m_99ac2aa1{font-size:var(--mantine-font-size-sm);width:100%;padding:calc(var(--mantine-spacing-xs) / 1.5) var(--mantine-spacing-sm);border-radius:var(--popover-radius, var(--mantine-radius-default));color:var(--menu-item-color, var(--mantine-color-text));display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_99ac2aa1:where([data-disabled],:disabled){color:var(--mantine-color-dimmed);opacity:.6;pointer-events:none}:where([data-mantine-color-scheme=light]) .m_99ac2aa1:where([data-hovered]){background-color:var(--menu-item-hover, var(--mantine-color-gray-1))}:where([data-mantine-color-scheme=dark]) .m_99ac2aa1:where([data-hovered]){background-color:var(--menu-item-hover, var(--mantine-color-dark-4))}.m_5476e0d3{flex:1}.m_8b75e504{display:flex;justify-content:center;align-items:center}.m_8b75e504:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_8b75e504:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_9df02822{--modal-size-xs: calc(20rem * var(--mantine-scale));--modal-size-sm: calc(23.75rem * var(--mantine-scale));--modal-size-md: calc(27.5rem * var(--mantine-scale));--modal-size-lg: calc(38.75rem * var(--mantine-scale));--modal-size-xl: calc(48.75rem * var(--mantine-scale));--modal-size: var(--modal-size-md);--modal-y-offset: 5dvh;--modal-x-offset: 5vw}.m_9df02822[data-full-screen]{--modal-border-radius: 0 !important}.m_9df02822[data-full-screen] .m_54c44539{--modal-content-flex: 0 0 100%;--modal-content-max-height: auto;--modal-content-height: 100dvh}.m_9df02822[data-full-screen] .m_1f958f16{--modal-inner-y-offset: 0;--modal-inner-x-offset: 0}.m_9df02822[data-centered] .m_1f958f16{--modal-inner-align: center}.m_d0e2b9cd{border-start-start-radius:var(--modal-radius, var(--mantine-radius-default));border-start-end-radius:var(--modal-radius, var(--mantine-radius-default))}.m_54c44539{flex:var(--modal-content-flex, 0 0 var(--modal-size));max-width:100%;max-height:var(--modal-content-max-height, calc(100dvh - var(--modal-y-offset) * 2));height:var(--modal-content-height, auto);overflow-y:auto}.m_54c44539[data-full-screen]{border-radius:0}.m_1f958f16{display:flex;justify-content:center;align-items:var(--modal-inner-align, flex-start);padding-top:var(--modal-inner-y-offset, var(--modal-y-offset));padding-bottom:var(--modal-inner-y-offset, var(--modal-y-offset));padding-inline:var(--modal-inner-x-offset, var(--modal-x-offset))}.m_7cda1cd6{--pill-fz-xs: calc(.625rem * var(--mantine-scale));--pill-fz-sm: calc(.75rem * var(--mantine-scale));--pill-fz-md: calc(.875rem * var(--mantine-scale));--pill-fz-lg: calc(1rem * var(--mantine-scale));--pill-fz-xl: calc(1.125rem * var(--mantine-scale));--pill-height-xs: calc(1.125rem * var(--mantine-scale));--pill-height-sm: calc(1.375rem * var(--mantine-scale));--pill-height-md: calc(1.5625rem * var(--mantine-scale));--pill-height-lg: calc(1.75rem * var(--mantine-scale));--pill-height-xl: calc(2rem * var(--mantine-scale));--pill-fz: var(--pill-fz-sm);--pill-height: var(--pill-height-sm);font-size:var(--pill-fz);flex:0;height:var(--pill-height);padding-inline:.8em;display:inline-flex;align-items:center;border-radius:var(--pill-radius, 1000rem);line-height:1;white-space:nowrap;-moz-user-select:none;user-select:none;-webkit-user-select:none;max-width:100%}:where([data-mantine-color-scheme=dark]) .m_7cda1cd6{background-color:var(--mantine-color-dark-7);color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_7cda1cd6{color:var(--mantine-color-black)}.m_7cda1cd6:where([data-with-remove]:not(:has(button:disabled))){padding-inline-end:0}.m_7cda1cd6:where([data-disabled],:has(button:disabled)){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_44da308b{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=light]) .m_44da308b:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=light]) .m_e3a01f8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=light]) .m_e3a01f8:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}.m_1e0e6180{cursor:inherit;overflow:hidden;height:100%;line-height:var(--pill-height);text-overflow:ellipsis}.m_ae386778{color:inherit;font-size:inherit;height:100%;min-height:unset;min-width:2em;width:unset;border-radius:0;padding-inline-start:.1em;padding-inline-end:.3em;flex:0}.m_7cda1cd6[data-disabled]>.m_ae386778,.m_ae386778:disabled{display:none;background-color:transparent;width:.8em;min-width:.8em;padding:0;cursor:not-allowed}.m_7cda1cd6[data-disabled]>.m_ae386778>svg,.m_ae386778:disabled>svg{display:none}.m_ae386778>svg{pointer-events:none}.m_1dcfd90b{--pg-gap-xs: calc(.375rem * var(--mantine-scale));--pg-gap-sm: calc(.5rem * var(--mantine-scale));--pg-gap-md: calc(.625rem * var(--mantine-scale));--pg-gap-lg: calc(.75rem * var(--mantine-scale));--pg-gap-xl: calc(.75rem * var(--mantine-scale));--pg-gap: var(--pg-gap-sm);display:flex;align-items:center;gap:var(--pg-gap);flex-wrap:wrap}.m_45c4369d{background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:calc(6.25rem * var(--mantine-scale));flex:1;border:0;font-size:inherit;height:1.6em;color:inherit;padding:0}.m_45c4369d::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_45c4369d::placeholder{color:var(--input-placeholder-color);opacity:1}.m_45c4369d:where([data-type=hidden],[data-type=auto]){height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));top:0;left:0;pointer-events:none;position:absolute;opacity:0}.m_45c4369d:focus{outline:none}.m_45c4369d:where([data-type=auto]:focus){height:1.6em;visibility:visible;opacity:1;position:static}.m_45c4369d:where([data-pointer]:not([data-disabled],:disabled)){cursor:pointer}.m_45c4369d:where([data-disabled],:disabled){cursor:not-allowed}.m_f0824112{--nl-bg: var(--mantine-primary-color-light);--nl-hover: var(--mantine-primary-color-light-hover);--nl-color: var(--mantine-primary-color-light-color);display:flex;align-items:center;width:100%;padding:8px var(--mantine-spacing-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_f0824112:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:hover{background-color:var(--mantine-color-dark-6)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_f0824112:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:active{background-color:var(--mantine-color-dark-6)}}.m_f0824112:where([data-disabled]){opacity:.4;pointer-events:none}.m_f0824112:where([data-active],[aria-current=page]){background-color:var(--nl-bg);color:var(--nl-color)}@media (hover: hover){.m_f0824112:where([data-active],[aria-current=page]):hover{background-color:var(--nl-hover)}}@media (hover: none){.m_f0824112:where([data-active],[aria-current=page]):active{background-color:var(--nl-hover)}}.m_f0824112:where([data-active],[aria-current=page]) .m_57492dcc{--description-opacity: .9;--description-color: var(--nl-color)}.m_690090b5{display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.m_690090b5>svg{display:block}.m_690090b5:where([data-position=left]){margin-inline-end:var(--mantine-spacing-sm)}.m_690090b5:where([data-position=right]){margin-inline-start:var(--mantine-spacing-sm)}.m_690090b5:where([data-rotate]){transform:rotate(90deg)}.m_1f6ac4c4{font-size:var(--mantine-font-size-sm)}.m_f07af9d2{flex:1;overflow:hidden;text-overflow:ellipsis}.m_f07af9d2:where([data-no-wrap]){white-space:nowrap}.m_57492dcc{display:block;font-size:var(--mantine-font-size-xs);opacity:var(--description-opacity, 1);color:var(--description-color, var(--mantine-color-dimmed));overflow:hidden;text-overflow:ellipsis}:where([data-no-wrap]) .m_57492dcc{white-space:nowrap}.m_e17b862f{padding-inline-start:var(--nl-offset, var(--mantine-spacing-lg))}.m_1fd8a00b{transform:rotate(-90deg)}.m_a513464{--notification-radius: var(--mantine-radius-default);--notification-color: var(--mantine-primary-color-filled);overflow:hidden;box-sizing:border-box;position:relative;display:flex;align-items:center;padding-inline-start:calc(1.375rem * var(--mantine-scale));padding-inline-end:var(--mantine-spacing-xs);padding-top:var(--mantine-spacing-xs);padding-bottom:var(--mantine-spacing-xs);border-radius:var(--notification-radius);box-shadow:var(--mantine-shadow-lg)}.m_a513464:before{content:"";display:block;position:absolute;width:calc(.375rem * var(--mantine-scale));top:var(--notification-radius);bottom:var(--notification-radius);inset-inline-start:calc(.25rem * var(--mantine-scale));border-radius:var(--notification-radius);background-color:var(--notification-color)}:where([data-mantine-color-scheme=light]) .m_a513464{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_a513464{background-color:var(--mantine-color-dark-6)}.m_a513464:where([data-with-icon]){padding-inline-start:var(--mantine-spacing-xs)}.m_a513464:where([data-with-icon]):before{display:none}:where([data-mantine-color-scheme=light]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-dark-4)}.m_a4ceffb{box-sizing:border-box;margin-inline-end:var(--mantine-spacing-md);width:calc(1.75rem * var(--mantine-scale));height:calc(1.75rem * var(--mantine-scale));border-radius:calc(1.75rem * var(--mantine-scale));display:flex;align-items:center;justify-content:center;background-color:var(--notification-color);color:var(--mantine-color-white)}.m_b0920b15{margin-inline-end:var(--mantine-spacing-md)}.m_a49ed24{flex:1;overflow:hidden;margin-inline-end:var(--mantine-spacing-xs)}.m_3feedf16{margin-bottom:calc(.125rem * var(--mantine-scale));overflow:hidden;text-overflow:ellipsis;font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);font-weight:500}:where([data-mantine-color-scheme=light]) .m_3feedf16{color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_3feedf16{color:var(--mantine-color-white)}.m_3d733a3a{font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);overflow:hidden;text-overflow:ellipsis}:where([data-mantine-color-scheme=light]) .m_3d733a3a{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a{color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-dark-2)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_919a4d88:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:hover{background-color:var(--mantine-color-dark-8)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_919a4d88:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:active{background-color:var(--mantine-color-dark-8)}}.m_e2f5cd4e{--ni-right-section-width-xs: calc(1.0625rem * var(--mantine-scale));--ni-right-section-width-sm: calc(1.5rem * var(--mantine-scale));--ni-right-section-width-md: calc(1.6875rem * var(--mantine-scale));--ni-right-section-width-lg: calc(1.9375rem * var(--mantine-scale));--ni-right-section-width-xl: calc(2.125rem * var(--mantine-scale))}.m_95e17d22{--ni-chevron-size-xs: calc(.625rem * var(--mantine-scale));--ni-chevron-size-sm: calc(.875rem * var(--mantine-scale));--ni-chevron-size-md: calc(1rem * var(--mantine-scale));--ni-chevron-size-lg: calc(1.125rem * var(--mantine-scale));--ni-chevron-size-xl: calc(1.25rem * var(--mantine-scale));--ni-chevron-size: var(--ni-chevron-size-sm);display:flex;flex-direction:column;width:100%;height:calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));max-width:calc(var(--ni-chevron-size) * 1.7);margin-inline-start:auto}.m_80b4b171{--control-border: 1px solid var(--input-bd);--control-radius: calc(var(--input-radius) - calc(.0625rem * var(--mantine-scale)));flex:0 0 50%;width:100%;padding:0;height:calc(var(--input-height) / 2 - calc(.0625rem * var(--mantine-scale)));border-inline-start:var(--control-border);display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text);background-color:transparent;cursor:pointer}.m_80b4b171:where(:disabled){background-color:transparent;cursor:not-allowed;opacity:.6}:where([data-mantine-color-scheme=light]) .m_80b4b171:where(:disabled){color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:where(:disabled){color:var(--mantine-color-dark-3)}.m_e2f5cd4e[data-error] :where(.m_80b4b171){color:var(--mantine-color-error)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_80b4b171:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:hover{background-color:var(--mantine-color-dark-4)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_80b4b171:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:active{background-color:var(--mantine-color-dark-4)}}.m_80b4b171:where(:first-of-type){border-radius:0;border-start-end-radius:var(--control-radius)}.m_80b4b171:last-of-type{border-radius:0;border-end-end-radius:var(--control-radius)}.m_4addd315{--pagination-control-size-xs: calc(1.375rem * var(--mantine-scale));--pagination-control-size-sm: calc(1.625rem * var(--mantine-scale));--pagination-control-size-md: calc(2rem * var(--mantine-scale));--pagination-control-size-lg: calc(2.375rem * var(--mantine-scale));--pagination-control-size-xl: calc(2.75rem * var(--mantine-scale));--pagination-control-size: var(--pagination-control-size-md);--pagination-control-fz: var(--mantine-font-size-md);--pagination-active-bg: var(--mantine-primary-color-filled)}.m_326d024a{display:flex;align-items:center;justify-content:center;border:calc(.0625rem * var(--mantine-scale)) solid;cursor:pointer;color:var(--mantine-color-text);height:var(--pagination-control-size);min-width:var(--pagination-control-size);font-size:var(--pagination-control-fz);line-height:1;border-radius:var(--pagination-control-radius, var(--mantine-radius-default))}.m_326d024a:where([data-with-padding]){padding:calc(var(--pagination-control-size) / 4)}.m_326d024a:where(:disabled,[data-disabled]){cursor:not-allowed;opacity:.4}:where([data-mantine-color-scheme=light]) .m_326d024a{border-color:var(--mantine-color-gray-4);background-color:var(--mantine-color-white)}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}:where([data-mantine-color-scheme=dark]) .m_326d024a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}@media (hover: hover){:where([data-mantine-color-scheme=dark]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}@media (hover: none){:where([data-mantine-color-scheme=dark]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}.m_326d024a:where([data-active]){background-color:var(--pagination-active-bg);border-color:var(--pagination-active-bg);color:var(--pagination-active-color, var(--mantine-color-white))}@media (hover: hover){.m_326d024a:where([data-active]):hover{background-color:var(--pagination-active-bg)}}@media (hover: none){.m_326d024a:where([data-active]):active{background-color:var(--pagination-active-bg)}}.m_4ad7767d{height:var(--pagination-control-size);min-width:var(--pagination-control-size);display:flex;align-items:center;justify-content:center;pointer-events:none}.m_f61ca620{--psi-button-size-xs: calc(1.375rem * var(--mantine-scale));--psi-button-size-sm: calc(1.625rem * var(--mantine-scale));--psi-button-size-md: calc(1.75rem * var(--mantine-scale));--psi-button-size-lg: calc(2rem * var(--mantine-scale));--psi-button-size-xl: calc(2.5rem * var(--mantine-scale));--psi-icon-size-xs: calc(.75rem * var(--mantine-scale));--psi-icon-size-sm: calc(.9375rem * var(--mantine-scale));--psi-icon-size-md: calc(1.0625rem * var(--mantine-scale));--psi-icon-size-lg: calc(1.1875rem * var(--mantine-scale));--psi-icon-size-xl: calc(1.3125rem * var(--mantine-scale));--psi-button-size: var(--psi-button-size-sm);--psi-icon-size: var(--psi-icon-size-sm)}.m_ccf8da4c{position:relative;overflow:hidden}.m_f2d85dd2{font-family:var(--mantine-font-family);background-color:transparent;border:0;padding-inline-end:var(--input-padding-inline-end);padding-inline-start:var(--input-padding-inline-start);position:absolute;inset:0;outline:0;font-size:inherit;line-height:var(--mantine-line-height);height:100%;width:100%;color:inherit}.m_ccf8da4c[data-disabled] .m_f2d85dd2,.m_f2d85dd2:disabled{cursor:not-allowed}.m_f2d85dd2::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.m_f2d85dd2::placeholder{color:var(--input-placeholder-color);opacity:1}.m_f2d85dd2::-ms-reveal{display:none}.m_b1072d44{width:var(--psi-button-size);height:var(--psi-button-size);min-width:var(--psi-button-size);min-height:var(--psi-button-size)}.m_b1072d44:disabled{display:none}.m_f1cb205a{--pin-input-size-xs: calc(1.875rem * var(--mantine-scale));--pin-input-size-sm: calc(2.25rem * var(--mantine-scale));--pin-input-size-md: calc(2.625rem * var(--mantine-scale));--pin-input-size-lg: calc(3.125rem * var(--mantine-scale));--pin-input-size-xl: calc(3.75rem * var(--mantine-scale));--pin-input-size: var(--pin-input-size-sm)}.m_cb288ead{width:var(--pin-input-size);height:var(--pin-input-size)}@keyframes m_81a374bd{0%{background-position:0 0}to{background-position:calc(2.5rem * var(--mantine-scale)) 0}}.m_db6d6462{--progress-radius: var(--mantine-radius-default);--progress-size: var(--progress-size-md);--progress-size-xs: calc(.1875rem * var(--mantine-scale));--progress-size-sm: calc(.3125rem * var(--mantine-scale));--progress-size-md: calc(.5rem * var(--mantine-scale));--progress-size-lg: calc(.75rem * var(--mantine-scale));--progress-size-xl: calc(1rem * var(--mantine-scale));position:relative;height:var(--progress-size);border-radius:var(--progress-radius);overflow:hidden;display:flex}:where([data-mantine-color-scheme=light]) .m_db6d6462{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_db6d6462{background-color:var(--mantine-color-dark-4)}.m_2242eb65{background-color:var(--progress-section-color);height:100%;width:var(--progress-section-width);display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:calc(1.25rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));transition:width var(--progress-transition-duration, .1s) ease}.m_2242eb65:where([data-striped]){background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.m_2242eb65:where([data-animated]){animation:m_81a374bd 1s linear infinite}.m_2242eb65:where(:last-of-type){border-radius:0;border-start-end-radius:var(--progress-radius);border-end-end-radius:var(--progress-radius)}.m_2242eb65:where(:first-of-type){border-radius:0;border-start-start-radius:var(--progress-radius);border-end-start-radius:var(--progress-radius)}.m_91e40b74{color:var(--progress-label-color, var(--mantine-color-white));font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:min(calc(var(--progress-size) * .65),calc(1.125rem * var(--mantine-scale)));line-height:1;padding-inline:calc(.25rem * var(--mantine-scale))}.m_9dc8ae12{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_9dc8ae12 :where(*){cursor:inherit}.m_9dc8ae12:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_717d7ff6{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-size: var(--radio-size-sm);--radio-color: var(--mantine-primary-color-filled);--radio-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--radio-size);min-width:var(--radio-size);height:var(--radio-size);min-height:var(--radio-size);border-radius:var(--radio-radius, 10000px);transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_717d7ff6{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_717d7ff6[data-indeterminate],.m_717d7ff6[data-checked]{background-color:var(--radio-color);border-color:var(--radio-color)}.m_717d7ff6[data-indeterminate]>.m_3e4da632,.m_717d7ff6[data-checked]>.m_3e4da632{opacity:1;transform:none;color:var(--radio-icon-color)}.m_717d7ff6[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-dark-3)}.m_2980836c[data-indeterminate]:not([data-disabled]),.m_2980836c[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--radio-color)}.m_2980836c[data-indeterminate]:not([data-disabled])>.m_3e4da632,.m_2980836c[data-checked]:not([data-disabled])>.m_3e4da632{color:var(--radio-color);opacity:1;transform:none}.m_3e4da632{display:block;width:var(--radio-icon-size);height:var(--radio-icon-size);color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_f3f1af94{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-size: var(--radio-size-sm);--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-icon-color: var(--mantine-color-white)}.m_89c4f5e4{position:relative;width:var(--radio-size);height:var(--radio-size);order:1}.m_89c4f5e4:where([data-label-position=left]){order:2}.m_f3ed6b2b{color:var(--radio-icon-color);opacity:var(--radio-icon-opacity, 0);transform:var(--radio-icon-transform, scale(.2) translateY(calc(.625rem * var(--mantine-scale))));transition:opacity .1s ease,transform .2s ease;pointer-events:none;width:var(--radio-icon-size);height:var(--radio-icon-size);position:absolute;top:calc(50% - var(--radio-icon-size) / 2);left:calc(50% - var(--radio-icon-size) / 2)}.m_8a3dbb89{border:calc(.0625rem * var(--mantine-scale)) solid;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--radio-size);height:var(--radio-size);border-radius:var(--radio-radius, var(--radio-size));margin:0;display:flex;align-items:center;justify-content:center;transition-property:background-color,border-color;transition-timing-function:ease;transition-duration:.1s;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_8a3dbb89{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_8a3dbb89:checked{background-color:var(--radio-color, var(--mantine-primary-color-filled));border-color:var(--radio-color, var(--mantine-primary-color-filled))}.m_8a3dbb89:checked+.m_f3ed6b2b{--radio-icon-opacity: 1;--radio-icon-transform: scale(1)}.m_8a3dbb89:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-gray-1);border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-dark-7)}.m_8a3dbb89:where([data-error]){border-color:var(--mantine-color-error)}.m_1bfe9d39+.m_f3ed6b2b{--radio-icon-color: var(--radio-color)}.m_1bfe9d39:checked:not(:disabled){background-color:transparent;border-color:var(--radio-color)}.m_1bfe9d39:checked:not(:disabled)+.m_f3ed6b2b{--radio-icon-color: var(--radio-color);--radio-icon-opacity: 1;--radio-icon-transform: none}.m_f8d312f2{--rating-size-xs: calc(.875rem * var(--mantine-scale));--rating-size-sm: calc(1.125rem * var(--mantine-scale));--rating-size-md: calc(1.25rem * var(--mantine-scale));--rating-size-lg: calc(1.75rem * var(--mantine-scale));--rating-size-xl: calc(2rem * var(--mantine-scale));display:flex;width:-moz-max-content;width:max-content}.m_f8d312f2:where(:has(input:disabled)){pointer-events:none}.m_61734bb7{position:relative;transition:transform .1s ease}.m_61734bb7:where([data-active]){z-index:1;transform:scale(1.1)}.m_5662a89a{width:var(--rating-size);height:var(--rating-size);display:block}:where([data-mantine-color-scheme=light]) .m_5662a89a{fill:var(--mantine-color-gray-3);stroke:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5662a89a{fill:var(--mantine-color-dark-3);stroke:var(--mantine-color-dark-3)}.m_5662a89a:where([data-filled]){fill:var(--rating-color);stroke:var(--rating-color)}.m_211007ba{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0;-webkit-tap-highlight-color:transparent}.m_211007ba:focus-visible+label{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_21342ee4{display:block;cursor:pointer;position:absolute;top:0;left:0;z-index:var(--rating-item-z-index, 0);-webkit-tap-highlight-color:transparent}.m_21342ee4:where([data-read-only]){cursor:default}.m_21342ee4:where(:last-of-type){position:relative}.m_fae05d6a{clip-path:var(--rating-symbol-clip-path)}.m_1b3c8819{--tooltip-radius: var(--mantine-radius-default);position:absolute;padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-xs);pointer-events:none;font-size:var(--mantine-font-size-sm);white-space:nowrap;border-radius:var(--tooltip-radius)}:where([data-mantine-color-scheme=light]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-9));color:var(--tooltip-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-2));color:var(--tooltip-color, var(--mantine-color-black))}.m_1b3c8819:where([data-multiline]){white-space:normal}.m_1b3c8819:where([data-fixed]){position:fixed}.m_f898399f{background-color:inherit;border:0;z-index:1}.m_b32e4812{position:relative;width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size)}.m_d43b5134{width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size);transform:rotate(-90deg)}.m_b1ca1fbf{stroke:var(--curve-color, var(--rp-curve-root-color))}[data-mantine-color-scheme=light] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-dark-4)}.m_b23f9dc4{position:absolute;top:50%;transform:translateY(-50%);inset-inline:var(--rp-label-offset)}.m_cf365364{--sc-padding-xs: calc(.1875rem * var(--mantine-scale)) calc(.375rem * var(--mantine-scale));--sc-padding-sm: calc(.3125rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--sc-padding-md: calc(.4375rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--sc-padding-lg: calc(.5625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--sc-padding-xl: calc(.75rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--sc-transition-duration: .2s;--sc-padding: var(--sc-padding-sm);--sc-transition-timing-function: ease;--sc-font-size: var(--mantine-font-size-sm);position:relative;display:inline-flex;flex-direction:row;width:auto;border-radius:var(--sc-radius, var(--mantine-radius-default));overflow:hidden;padding:calc(.25rem * var(--mantine-scale))}.m_cf365364:where([data-full-width]){display:flex}.m_cf365364:where([data-orientation=vertical]){display:flex;flex-direction:column;width:-moz-max-content;width:max-content}.m_cf365364:where([data-orientation=vertical]):where([data-full-width]){width:auto}:where([data-mantine-color-scheme=light]) .m_cf365364{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_cf365364{background-color:var(--mantine-color-dark-8)}.m_9e182ccd{position:absolute;display:block;z-index:1;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_9e182ccd{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_9e182ccd{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}.m_1738fcb2{-webkit-tap-highlight-color:transparent;font-weight:500;display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--sc-radius, var(--mantine-radius-default));font-size:var(--sc-font-size);padding:var(--sc-padding);transition:color var(--sc-transition-duration) var(--sc-transition-timing-function);cursor:pointer;outline:var(--segmented-control-outline, none)}:where([data-mantine-color-scheme=light]) .m_1738fcb2{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2{color:var(--mantine-color-dark-1)}.m_1738fcb2:where([data-read-only]){cursor:default}fieldset:disabled .m_1738fcb2,.m_1738fcb2:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-black))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-white))}.m_cf365364:where([data-initialized]) .m_1738fcb2:where([data-active]):before{display:none}.m_1738fcb2:where([data-active]):before{content:"";inset:0;z-index:0;position:absolute;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]):before{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]):before{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}@media (hover: hover){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-white)}}@media (hover: none){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-white)}}@media (hover: hover){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-dark-3)!important}}@media (hover: none){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-dark-3)!important}}.m_1714d588{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0}.m_1714d588[data-focus-ring=auto]:focus:focus-visible+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_1714d588[data-focus-ring=always]:focus+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_69686b9b{position:relative;flex:1;z-index:2;transition:border-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_cf365364[data-with-items-borders] :where(.m_69686b9b):before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:0;background-color:var(--separator-color);width:calc(.0625rem * var(--mantine-scale));transition:background-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_69686b9b[data-orientation=vertical]:before{top:0;inset-inline:0;bottom:auto;height:calc(.0625rem * var(--mantine-scale));width:auto}:where([data-mantine-color-scheme=light]) .m_69686b9b{--separator-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_69686b9b{--separator-color: var(--mantine-color-dark-4)}.m_69686b9b:first-of-type:before{--separator-color: transparent}[data-mantine-color-scheme] .m_69686b9b[data-active]:before,[data-mantine-color-scheme] .m_69686b9b[data-active]+.m_69686b9b:before{--separator-color: transparent}.m_78882f40{position:relative;z-index:2}.m_925c2d2c{container:simple-grid / inline-size}.m_2415a157{display:grid;grid-template-columns:repeat(var(--sg-cols),minmax(0,1fr));gap:var(--sg-spacing-y) var(--sg-spacing-x)}@keyframes m_299c329c{0%,to{opacity:.4}50%{opacity:1}}.m_18320242{height:var(--skeleton-height, auto);width:var(--skeleton-width, 100%);border-radius:var(--skeleton-radius, var(--mantine-radius-default));position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.m_18320242:where([data-animate]):after{animation:m_299c329c 1.5s linear infinite}.m_18320242:where([data-visible]){overflow:hidden}.m_18320242:where([data-visible]):before{position:absolute;content:"";inset:0;z-index:10;background-color:var(--mantine-color-body)}.m_18320242:where([data-visible]):after{position:absolute;content:"";inset:0;z-index:11}:where([data-mantine-color-scheme=light]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-dark-4)}.m_dd36362e{--slider-size-xs: calc(.25rem * var(--mantine-scale));--slider-size-sm: calc(.375rem * var(--mantine-scale));--slider-size-md: calc(.5rem * var(--mantine-scale));--slider-size-lg: calc(.625rem * var(--mantine-scale));--slider-size-xl: calc(.75rem * var(--mantine-scale));--slider-size: var(--slider-size-md);--slider-radius: calc(62.5rem * var(--mantine-scale));--slider-color: var(--mantine-primary-color-filled);-webkit-tap-highlight-color:transparent;outline:none;height:calc(var(--slider-size) * 2);padding-inline:var(--slider-size);display:flex;flex-direction:column;align-items:center;touch-action:none;position:relative}[data-mantine-color-scheme=light] .m_dd36362e{--slider-track-bg: var(--mantine-color-gray-2);--slider-track-disabled-bg: var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .m_dd36362e{--slider-track-bg: var(--mantine-color-dark-4);--slider-track-disabled-bg: var(--mantine-color-dark-3)}.m_c9357328{position:absolute;top:calc(-2.25rem * var(--mantine-scale));font-size:var(--mantine-font-size-xs);color:var(--mantine-color-white);padding:calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);white-space:nowrap;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}:where([data-mantine-color-scheme=light]) .m_c9357328{background-color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_c9357328{background-color:var(--mantine-color-dark-4)}.m_c9a9a60a{position:absolute;display:flex;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:calc(.25rem * var(--mantine-scale)) solid;transform:translate(-50%,-50%);color:var(--slider-color);top:50%;cursor:pointer;border-radius:var(--slider-radius);align-items:center;justify-content:center;transition:box-shadow .1s ease,transform .1s ease;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;outline-offset:calc(.125rem * var(--mantine-scale));left:var(--slider-thumb-offset)}:where([dir=rtl]) .m_c9a9a60a{left:auto;right:calc(var(--slider-thumb-offset) - var(--slider-thumb-size))}fieldset:disabled .m_c9a9a60a,.m_c9a9a60a:where([data-disabled]){display:none}.m_c9a9a60a:where([data-dragging]){transform:translate(-50%,-50%) scale(1.05);box-shadow:var(--mantine-shadow-sm)}:where([data-mantine-color-scheme=light]) .m_c9a9a60a{border-color:var(--slider-color);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_c9a9a60a{border-color:var(--mantine-color-white);background-color:var(--slider-color)}.m_a8645c2{display:flex;align-items:center;width:100%;height:calc(var(--slider-size) * 2);cursor:pointer}fieldset:disabled .m_a8645c2,.m_a8645c2:where([data-disabled]){cursor:not-allowed}.m_c9ade57f{position:relative;width:100%;height:var(--slider-size)}.m_c9ade57f:where([data-inverted]:not([data-disabled])){--track-bg: var(--slider-color)}fieldset:disabled .m_c9ade57f:where([data-inverted]),.m_c9ade57f:where([data-inverted][data-disabled]){--track-bg: var(--slider-track-disabled-bg)}.m_c9ade57f:before{content:"";position:absolute;top:0;bottom:0;border-radius:var(--slider-radius);inset-inline:calc(var(--slider-size) * -1);background-color:var(--track-bg, var(--slider-track-bg));z-index:0}.m_38aeed47{position:absolute;z-index:1;top:0;bottom:0;background-color:var(--slider-color);border-radius:var(--slider-radius);width:var(--slider-bar-width);inset-inline-start:var(--slider-bar-offset)}.m_38aeed47:where([data-inverted]){background-color:var(--slider-track-bg)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=light]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=dark]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-dark-3)}.m_b7b0423a{position:absolute;inset-inline-start:calc(var(--mark-offset) - var(--slider-size) / 2);top:0;z-index:2;height:0;pointer-events:none}.m_dd33bc19{border:calc(.125rem * var(--mantine-scale)) solid;height:var(--slider-size);width:var(--slider-size);border-radius:calc(62.5rem * var(--mantine-scale));transform:translate((calc(var(--slider-size) / -2)));background-color:var(--mantine-color-white);pointer-events:none}:where([data-mantine-color-scheme=light]) .m_dd33bc19{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19{border-color:var(--mantine-color-dark-4)}.m_dd33bc19:where([data-filled]){border-color:var(--slider-color)}:where([data-mantine-color-scheme=light]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-dark-3)}.m_68c77a5b{transform:translate(calc(-50% + var(--slider-size) / 2),calc(var(--mantine-spacing-xs) / 2));font-size:var(--mantine-font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}:where([data-mantine-color-scheme=light]) .m_68c77a5b{color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_68c77a5b{color:var(--mantine-color-dark-2)}.m_559cce2d{position:relative}.m_559cce2d:where([data-has-spoiler]){margin-bottom:calc(1.5rem * var(--mantine-scale))}.m_b912df4e{display:flex;flex-direction:column;overflow:hidden;transition:max-height var(--spoiler-transition-duration, .2s) ease}.m_b9131032{position:absolute;inset-inline-start:0;top:100%;height:calc(1.5rem * var(--mantine-scale))}.m_6d731127{display:flex;flex-direction:column;align-items:var(--stack-align, stretch);justify-content:var(--stack-justify, flex-start);gap:var(--stack-gap, var(--mantine-spacing-md))}.m_cbb4ea7e{--stepper-icon-size-xs: calc(2.125rem * var(--mantine-scale));--stepper-icon-size-sm: calc(2.25rem * var(--mantine-scale));--stepper-icon-size-md: calc(2.625rem * var(--mantine-scale));--stepper-icon-size-lg: calc(3rem * var(--mantine-scale));--stepper-icon-size-xl: calc(3.25rem * var(--mantine-scale));--stepper-icon-size: var(--stepper-icon-size-md);--stepper-color: var(--mantine-primary-color-filled);--stepper-content-padding: var(--mantine-spacing-md);--stepper-spacing: var(--mantine-spacing-md);--stepper-radius: calc(62.5rem * var(--mantine-scale));--stepper-fz: var(--mantine-font-size-md)}.m_aaf89d0b{display:flex;flex-wrap:nowrap;align-items:center}.m_aaf89d0b:where([data-wrap]){flex-wrap:wrap;gap:var(--mantine-spacing-md) 0}.m_aaf89d0b:where([data-orientation=vertical]){flex-direction:column}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=left]){align-items:flex-start}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=right]){align-items:flex-end}.m_aaf89d0b:where([data-orientation=horizontal]){flex-direction:row}.m_2a371ac9{--separator-offset: calc(var(--stepper-icon-size) / 2 - calc(.0625rem * var(--mantine-scale)));transition:background-color .15s ease;flex:1}:where([data-mantine-color-scheme=light]) .m_2a371ac9{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2a371ac9{background-color:var(--mantine-color-dark-2)}.m_2a371ac9:where([data-active]){background-color:var(--stepper-color)}.m_2a371ac9:where([data-orientation=horizontal]){height:calc(.125rem * var(--mantine-scale));margin-inline:var(--mantine-spacing-md)}.m_2a371ac9:where([data-orientation=vertical]){width:calc(.125rem * var(--mantine-scale));margin-top:calc(var(--mantine-spacing-xs) / 2);margin-bottom:calc(var(--mantine-spacing-xs) - calc(.125rem * var(--mantine-scale)))}.m_2a371ac9:where([data-orientation=vertical]):where([data-icon-position=left]){margin-inline-start:var(--separator-offset)}.m_2a371ac9:where([data-orientation=vertical]):where([data-icon-position=right]){margin-inline-end:var(--separator-offset)}.m_78da155d{padding-top:var(--stepper-content-padding)}.m_cbb57068{--step-color: var(--stepper-color);display:flex;cursor:default}.m_cbb57068:where([data-allow-click]){cursor:pointer}.m_cbb57068:where([data-icon-position=left]){flex-direction:row}.m_cbb57068:where([data-icon-position=right]){flex-direction:row-reverse}.m_f56b1e2c{align-items:center}.m_833edb7e{--separator-spacing: calc(var(--mantine-spacing-xs) / 2);justify-content:flex-start;min-height:calc(var(--stepper-icon-size) + var(--mantine-spacing-xl) + var(--separator-spacing));margin-top:var(--separator-spacing);overflow:hidden}.m_833edb7e:where(:first-of-type){margin-top:0}.m_833edb7e:where(:last-of-type) .m_6496b3f3{display:none}.m_818e70b{position:relative}.m_6496b3f3{top:calc(var(--stepper-icon-size) + var(--separator-spacing));inset-inline-start:calc(var(--stepper-icon-size) / 2);height:100vh;position:absolute;border-inline-start:calc(.125rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_6496b3f3{border-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_6496b3f3{border-color:var(--mantine-color-dark-5)}.m_6496b3f3:where([data-active]){border-color:var(--stepper-color)}.m_1959ad01{height:var(--stepper-icon-size);width:var(--stepper-icon-size);min-height:var(--stepper-icon-size);min-width:var(--stepper-icon-size);border-radius:var(--stepper-radius);font-size:var(--stepper-fz);display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;transition:background-color .15s ease,border-color .15s ease;border:calc(.125rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_1959ad01{background-color:var(--mantine-color-gray-1);border-color:var(--mantine-color-gray-1);color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1959ad01{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-5);color:var(--mantine-color-dark-1)}.m_1959ad01:where([data-progress]){border-color:var(--step-color)}.m_1959ad01:where([data-completed]){color:var(--stepper-icon-color, var(--mantine-color-white));background-color:var(--step-color);border-color:var(--step-color)}.m_a79331dc{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--stepper-icon-color, var(--mantine-color-white))}.m_1956aa2a{display:flex;flex-direction:column}.m_1956aa2a:where([data-icon-position=left]){margin-inline-start:var(--mantine-spacing-sm)}.m_1956aa2a:where([data-icon-position=right]){text-align:right;margin-inline-end:var(--mantine-spacing-sm)}:where([dir=rtl]) .m_1956aa2a:where([data-icon-position=right]){text-align:left}.m_12051f6c{font-weight:500;font-size:var(--stepper-fz);line-height:1}.m_164eea74{margin-top:calc(var(--stepper-spacing) / 3);margin-bottom:calc(var(--stepper-spacing) / 3);font-size:calc(var(--stepper-fz) - calc(.125rem * var(--mantine-scale)));line-height:1;color:var(--mantine-color-dimmed)}.m_5f93f3bb{--switch-height-xs: calc(1rem * var(--mantine-scale));--switch-height-sm: calc(1.25rem * var(--mantine-scale));--switch-height-md: calc(1.5rem * var(--mantine-scale));--switch-height-lg: calc(1.875rem * var(--mantine-scale));--switch-height-xl: calc(2.25rem * var(--mantine-scale));--switch-width-xs: calc(2rem * var(--mantine-scale));--switch-width-sm: calc(2.375rem * var(--mantine-scale));--switch-width-md: calc(2.875rem * var(--mantine-scale));--switch-width-lg: calc(3.5rem * var(--mantine-scale));--switch-width-xl: calc(4.5rem * var(--mantine-scale));--switch-thumb-size-xs: calc(.75rem * var(--mantine-scale));--switch-thumb-size-sm: calc(.875rem * var(--mantine-scale));--switch-thumb-size-md: calc(1.125rem * var(--mantine-scale));--switch-thumb-size-lg: calc(1.375rem * var(--mantine-scale));--switch-thumb-size-xl: calc(1.75rem * var(--mantine-scale));--switch-label-font-size-xs: calc(.3125rem * var(--mantine-scale));--switch-label-font-size-sm: calc(.375rem * var(--mantine-scale));--switch-label-font-size-md: calc(.4375rem * var(--mantine-scale));--switch-label-font-size-lg: calc(.5625rem * var(--mantine-scale));--switch-label-font-size-xl: calc(.6875rem * var(--mantine-scale));--switch-track-label-padding-xs: calc(.0625rem * var(--mantine-scale));--switch-track-label-padding-sm: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-md: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-lg: calc(.1875rem * var(--mantine-scale));--switch-track-label-padding-xl: calc(.1875rem * var(--mantine-scale));--switch-height: var(--switch-height-sm);--switch-width: var(--switch-width-sm);--switch-thumb-size: var(--switch-thumb-size-sm);--switch-label-font-size: var(--switch-label-font-size-sm);--switch-track-label-padding: var(--switch-track-label-padding-sm);--switch-radius: calc(62.5rem * var(--mantine-scale));--switch-color: var(--mantine-primary-color-filled);position:relative}.m_926b4011{height:0;width:0;opacity:0;margin:0;padding:0;position:absolute;overflow:hidden;white-space:nowrap}.m_9307d992{-webkit-tap-highlight-color:transparent;cursor:var(--switch-cursor, var(--mantine-cursor-type));overflow:hidden;position:relative;border-radius:var(--switch-radius);background-color:var(--switch-bg);border:1px solid var(--switch-bd);height:var(--switch-height);min-width:var(--switch-width);margin:0;transition:background-color .15s ease,border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;font-size:var(--switch-label-font-size);font-weight:600;order:var(--switch-order, 1);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;line-height:0;color:var(--switch-text-color)}.m_926b4011:focus-visible+.m_9307d992{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_926b4011:checked+.m_9307d992{--switch-bg: var(--switch-color);--switch-bd: var(--switch-color);--switch-text-color: var(--mantine-color-white)}.m_926b4011:disabled+.m_9307d992,.m_926b4011[data-disabled]+.m_9307d992{--switch-bg: var(--switch-disabled-color);--switch-bd: var(--switch-disabled-color);--switch-cursor: not-allowed}[data-mantine-color-scheme=light] .m_9307d992{--switch-bg: var(--mantine-color-gray-2);--switch-bd: var(--mantine-color-gray-3);--switch-text-color: var(--mantine-color-gray-6);--switch-disabled-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_9307d992{--switch-bg: var(--mantine-color-dark-6);--switch-bd: var(--mantine-color-dark-4);--switch-text-color: var(--mantine-color-dark-1);--switch-disabled-color: var(--mantine-color-dark-4)}.m_9307d992[data-error]{--switch-bd: var(--mantine-color-error)}.m_9307d992[data-label-position=left]{--switch-order: 2}.m_93039a1d{position:absolute;z-index:1;border-radius:var(--switch-radius);display:flex;background-color:var(--switch-thumb-bg, var(--mantine-color-white));height:var(--switch-thumb-size);width:var(--switch-thumb-size);border:1px solid var(--switch-thumb-bd);inset-inline-start:var(--switch-thumb-start, var(--switch-track-label-padding));transition:inset-inline-start .15s ease}.m_93039a1d>*{margin:auto}.m_926b4011:checked+*>.m_93039a1d{--switch-thumb-start: calc(100% - var(--switch-thumb-size) - var(--switch-track-label-padding));--switch-thumb-bd: var(--mantine-color-white)}.m_926b4011:disabled+*>.m_93039a1d,.m_926b4011[data-disabled]+*>.m_93039a1d{--switch-thumb-bd: var(--switch-thumb-bg-disabled);--switch-thumb-bg: var(--switch-thumb-bg-disabled)}[data-mantine-color-scheme=light] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-gray-3);--switch-thumb-bg-disabled: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-white);--switch-thumb-bg-disabled: var(--mantine-color-dark-3)}.m_8277e082{height:100%;display:grid;place-content:center;min-width:calc(var(--switch-width) - var(--switch-thumb-size));padding-inline:var(--switch-track-label-padding);margin-inline-start:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));transition:margin .15s ease}.m_926b4011:checked+*>.m_8277e082{margin-inline-end:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));margin-inline-start:0}.m_b23fa0ef{width:100%;border-collapse:collapse;line-height:var(--mantine-line-height);font-size:var(--mantine-font-size-sm);table-layout:var(--table-layout, auto);caption-side:var(--table-caption-side, bottom);border:none}:where([data-mantine-color-scheme=light]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-gray-1);--table-striped-color: var(--mantine-color-gray-0);--table-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-dark-5);--table-striped-color: var(--mantine-color-dark-6);--table-border-color: var(--mantine-color-dark-4)}.m_b23fa0ef:where([data-with-table-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_4e7aa4f3{text-align:left}:where([dir=rtl]) .m_4e7aa4f3{text-align:right}.m_4e7aa4fd{border-bottom:none;background-color:transparent}@media (hover: hover){.m_4e7aa4fd:hover:where([data-hover]){background-color:var(--tr-hover-bg)}}@media (hover: none){.m_4e7aa4fd:active:where([data-hover]){background-color:var(--tr-hover-bg)}}.m_4e7aa4fd:where([data-with-row-border]){border-bottom:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_4e7aa4ef,.m_4e7aa4f3{padding:var(--table-vertical-spacing) var(--table-horizontal-spacing, var(--mantine-spacing-xs))}.m_4e7aa4ef:where([data-with-column-border]:not(:last-child)),.m_4e7aa4f3:where([data-with-column-border]:not(:last-child)){border-inline-end:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_b2404537 :where(tr):where([data-with-row-border]:last-of-type){border-bottom:none}.m_b2404537 :where(tr):where([data-striped=odd]:nth-of-type(odd)){background-color:var(--table-striped-color)}.m_b2404537 :where(tr):where([data-striped=even]:nth-of-type(2n)){background-color:var(--table-striped-color)}.m_b2404537 :where(tr)[data-hover]{--tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color))}.m_b242d975{top:var(--table-sticky-header-offset, 0);z-index:1}.m_b242d975:where([data-sticky]){position:sticky;background-color:var(--mantine-color-body)}.m_9e5a3ac7{color:var(--mantine-color-dimmed)}.m_9e5a3ac7:where([data-side=top]){margin-bottom:var(--mantine-spacing-xs)}.m_9e5a3ac7:where([data-side=bottom]){margin-top:var(--mantine-spacing-xs)}.m_a100c15{overflow-x:var(--table-overflow)}.m_62259741{min-width:var(--table-min-width)}.m_89d60db1{display:var(--tabs-display);flex-direction:var(--tabs-flex-direction);--tab-justify: flex-start;--tabs-list-direction: row;--tabs-panel-grow: unset;--tabs-display: block;--tabs-flex-direction: row;--tabs-list-border-width: 0;--tabs-list-border-size: 0 0 var(--tabs-list-border-width) 0;--tabs-list-gap: unset;--tabs-list-line-bottom: 0;--tabs-list-line-top: unset;--tabs-list-line-start: 0;--tabs-list-line-end: 0;--tab-radius: var(--tabs-radius) var(--tabs-radius) 0 0;--tab-border-width: 0 0 var(--tabs-list-border-width) 0}.m_89d60db1[data-inverted]{--tabs-list-line-bottom: unset;--tabs-list-line-top: 0;--tab-radius: 0 0 var(--tabs-radius) var(--tabs-radius);--tab-border-width: var(--tabs-list-border-width) 0 0 0}.m_89d60db1[data-inverted] .m_576c9d4:before{top:0;bottom:unset}.m_89d60db1[data-orientation=vertical]{--tabs-list-line-start: unset;--tabs-list-line-end: 0;--tabs-list-line-top: 0;--tabs-list-line-bottom: 0;--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);--tabs-list-direction: column;--tabs-panel-grow: 1;--tabs-display: flex}[dir=rtl] .m_89d60db1[data-orientation=vertical]{--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}.m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-flex-direction: row-reverse;--tabs-list-line-start: 0;--tabs-list-line-end: unset;--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}[dir=rtl] .m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius)}[data-mantine-color-scheme=light] .m_89d60db1{--tab-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89d60db1{--tab-border-color: var(--mantine-color-dark-4)}.m_89d60db1[data-orientation=horizontal]{--tab-justify: center}.m_89d60db1[data-variant=default]{--tabs-list-border-width: calc(.125rem * var(--mantine-scale))}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d60db1[data-variant=outline]{--tabs-list-border-width: calc(.0625rem * var(--mantine-scale))}.m_89d60db1[data-variant=pills]{--tabs-list-gap: calc(var(--mantine-spacing-sm) / 2)}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d33d6d{display:flex;flex-wrap:wrap;justify-content:var(--tabs-justify, flex-start);flex-direction:var(--tabs-list-direction);gap:var(--tabs-list-gap);--tab-grow: unset}.m_89d33d6d[data-grow]{--tab-grow: 1}.m_b0c91715{flex-grow:var(--tabs-panel-grow)}.m_4ec4dce6{position:relative;padding:var(--mantine-spacing-xs) var(--mantine-spacing-md);font-size:var(--mantine-font-size-sm);white-space:nowrap;z-index:0;display:flex;align-items:center;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-grow:var(--tab-grow);justify-content:var(--tab-justify)}.m_4ec4dce6:disabled,.m_4ec4dce6[data-disabled]{opacity:.5;cursor:not-allowed}.m_4ec4dce6:focus{z-index:1}.m_fc420b1f{display:flex;align-items:center;justify-content:center;margin-left:var(--tab-section-margin-left, 0);margin-right:var(--tab-section-margin-right, 0)}.m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: 0rem;--tab-section-margin-left: var(--mantine-spacing-xs)}.m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: 0rem;--tab-section-margin-right: var(--mantine-spacing-xs)}.m_576c9d4{position:relative}.m_576c9d4:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_539e827b{border-radius:var(--tab-radius);border-width:var(--tab-border-width);border-style:solid;border-color:transparent;background-color:var(--tab-bg);--tab-bg: transparent}.m_539e827b:where([data-active]){border-color:var(--tabs-color)}@media (hover: hover){.m_539e827b:hover{--tab-bg: var(--tab-hover-color)}.m_539e827b:hover:where(:not([data-active])){border-color:var(--tab-border-color)}}@media (hover: none){.m_539e827b:active{--tab-bg: var(--tab-hover-color)}.m_539e827b:active:where(:not([data-active])){border-color:var(--tab-border-color)}}@media (hover: hover){.m_539e827b:disabled:hover,.m_539e827b[data-disabled]:hover{--tab-bg: transparent}}@media (hover: none){.m_539e827b:disabled:active,.m_539e827b[data-disabled]:active{--tab-bg: transparent}}.m_6772fbd5{position:relative}.m_6772fbd5:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_b59ab47c{border-top:calc(.0625rem * var(--mantine-scale)) solid transparent;border-bottom:calc(.0625rem * var(--mantine-scale)) solid transparent;border-right:calc(.0625rem * var(--mantine-scale)) solid transparent;border-left:calc(.0625rem * var(--mantine-scale)) solid transparent;border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-radius:var(--tab-radius);position:relative;--tab-border-bottom-color: transparent;--tab-border-top-color: transparent;--tab-border-inline-end-color: transparent;--tab-border-inline-start-color: transparent}.m_b59ab47c:where([data-active]):before{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-before-bottom, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-before-left, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-before-right, auto);top:var(--tab-before-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]):after{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-after-bottom, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-after-right, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-after-left, auto);top:var(--tab-after-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]){border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-inline-start-color:var(--tab-border-inline-start-color);border-inline-end-color:var(--tab-border-inline-end-color);--tab-border-top-color: var(--tab-border-color);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--mantine-color-body)}.m_b59ab47c:where([data-active])[data-inverted]{--tab-border-bottom-color: var(--tab-border-color);--tab-border-top-color: var(--mantine-color-body);--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-bottom: auto;--tab-after-top: calc(-.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-border-inline-end-color: var(--mantine-color-body);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-before-left: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto;--tab-after-right: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-before-right: auto;--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-after-left: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-border-inline-start-color: var(--mantine-color-body);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-before-right: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto;--tab-after-left: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-before-left: auto;--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-after-right: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto}.m_c3381914{border-radius:var(--tabs-radius);background-color:var(--tab-bg);color:var(--tab-color);--tab-bg: transparent;--tab-color: inherit}@media (hover: hover){.m_c3381914:not([data-disabled]):hover{--tab-bg: var(--tab-hover-color)}}@media (hover: none){.m_c3381914:not([data-disabled]):active{--tab-bg: var(--tab-hover-color)}}.m_c3381914[data-active][data-active]{--tab-bg: var(--tabs-color);--tab-color: var(--tabs-text-color, var(--mantine-color-white))}@media (hover: hover){.m_c3381914[data-active][data-active]:hover{--tab-bg: var(--tabs-color)}}@media (hover: none){.m_c3381914[data-active][data-active]:active{--tab-bg: var(--tabs-color)}}.m_7341320d{--ti-size-xs: calc(1.125rem * var(--mantine-scale));--ti-size-sm: calc(1.375rem * var(--mantine-scale));--ti-size-md: calc(1.75rem * var(--mantine-scale));--ti-size-lg: calc(2.125rem * var(--mantine-scale));--ti-size-xl: calc(2.75rem * var(--mantine-scale));--ti-size: var(--ti-size-md);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--ti-size);height:var(--ti-size);min-width:var(--ti-size);min-height:var(--ti-size);border-radius:var(--ti-radius, var(--mantine-radius-default));background:var(--ti-bg, var(--mantine-primary-color-filled));color:var(--ti-color, var(--mantine-color-white));border:var(--ti-bd, 1px solid transparent)}.m_43657ece{--offset: calc(var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2);--tl-bullet-size: calc(1.25rem * var(--mantine-scale));--tl-line-width: calc(.25rem * var(--mantine-scale));--tl-radius: calc(62.5rem * var(--mantine-scale));--tl-color: var(--mantine-primary-color-filled)}.m_43657ece:where([data-align=left]){padding-inline-start:var(--offset)}.m_43657ece:where([data-align=right]){padding-inline-end:var(--offset)}.m_2ebe8099{font-weight:500;line-height:1;margin-bottom:calc(var(--mantine-spacing-xs) / 2)}.m_436178ff{--item-border: var(--tl-line-width) var(--tli-border-style, solid) var(--item-border-color);position:relative;color:var(--mantine-color-text)}.m_436178ff:before{content:"";pointer-events:none;position:absolute;top:0;left:var(--timeline-line-left, 0);right:var(--timeline-line-right, 0);bottom:calc(var(--mantine-spacing-xl) * -1);border-inline-start:var(--item-border);display:var(--timeline-line-display, none)}.m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}[dir=rtl] .m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}.m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}[dir=rtl] .m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}.m_43657ece:where([data-align=left]) .m_436178ff{padding-inline-start:var(--offset);text-align:left}.m_43657ece:where([data-align=right]) .m_436178ff{padding-inline-end:var(--offset);text-align:right}:where([data-mantine-color-scheme=light]) .m_436178ff{--item-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_436178ff{--item-border-color: var(--mantine-color-dark-4)}.m_436178ff:where([data-line-active]):before{border-color:var(--tli-color, var(--tl-color))}.m_436178ff:where(:not(:last-of-type)){--timeline-line-display: block}.m_436178ff:where(:not(:first-of-type)){margin-top:var(--mantine-spacing-xl)}.m_8affcee1{width:var(--tl-bullet-size);height:var(--tl-bullet-size);border-radius:var(--tli-radius, var(--tl-radius));border:var(--tl-line-width) solid;background-color:var(--mantine-color-body);position:absolute;top:0;display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_8affcee1{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1{border-color:var(--mantine-color-dark-4)}.m_43657ece:where([data-align=left]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}.m_43657ece:where([data-align=right]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}.m_8affcee1:where([data-with-child]){border-width:var(--tl-line-width)}:where([data-mantine-color-scheme=light]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-dark-4)}.m_8affcee1:where([data-active]){border-color:var(--tli-color, var(--tl-color));background-color:var(--mantine-color-white);color:var(--tl-icon-color, var(--mantine-color-white))}.m_8affcee1:where([data-active]):where([data-with-child]){background-color:var(--tli-color, var(--tl-color));color:var(--tl-icon-color, var(--mantine-color-white))}.m_43657ece:where([data-align=left]) .m_540e8f41{padding-inline-start:var(--offset);text-align:left}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_540e8f41{text-align:right}.m_43657ece:where([data-align=right]) .m_540e8f41{padding-inline-end:var(--offset);text-align:right}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_540e8f41{text-align:left}.m_8a5d1357{margin:0;font-weight:var(--title-fw);font-size:var(--title-fz);line-height:var(--title-lh);font-family:var(--mantine-font-family-headings);text-wrap:var(--title-text-wrap, var(--mantine-heading-text-wrap))}.m_8a5d1357:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--title-line-clamp);-webkit-box-orient:vertical}.m_f698e191{--level-offset: var(--mantine-spacing-lg);margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.m_75f3ecf{margin:0;padding:0}.m_f6970eb1{cursor:pointer;list-style:none;margin:0;padding:0;outline:0}.m_f6970eb1:focus-visible>.m_dc283425{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_dc283425{padding-inline-start:var(--label-offset)}:where([data-mantine-color-scheme=light]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-dark-5)}.m_d6493fad :first-child{margin-top:0}.m_d6493fad :last-child{margin-bottom:0}.m_d6493fad :where(h1,h2,h3,h4,h5,h6){margin-bottom:var(--mantine-spacing-xs);text-wrap:var(--mantine-heading-text-wrap)}.m_d6493fad :where(h1){margin-top:calc(1.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h1-font-size);line-height:var(--mantine-h1-line-height);font-weight:var(--mantine-h1-font-weight)}.m_d6493fad :where(h2){margin-top:var(--mantine-spacing-xl);font-size:var(--mantine-h2-font-size);line-height:var(--mantine-h2-line-height);font-weight:var(--mantine-h2-font-weight)}.m_d6493fad :where(h3){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h3-font-size);line-height:var(--mantine-h3-line-height);font-weight:var(--mantine-h3-font-weight)}.m_d6493fad :where(h4){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h4-font-size);line-height:var(--mantine-h4-line-height);font-weight:var(--mantine-h4-font-weight)}.m_d6493fad :where(h5){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h5-font-size);line-height:var(--mantine-h5-line-height);font-weight:var(--mantine-h5-font-weight)}.m_d6493fad :where(h6){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h6-font-size);line-height:var(--mantine-h6-line-height);font-weight:var(--mantine-h6-font-weight)}.m_d6493fad :where(img){max-width:100%;margin-bottom:var(--mantine-spacing-xs)}.m_d6493fad :where(p){margin-top:0;margin-bottom:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-2);color:inherit}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-5);color:var(--mantine-color-black)}.m_d6493fad :where(a){color:var(--mantine-color-anchor);text-decoration:none}@media (hover: hover){.m_d6493fad :where(a):hover{text-decoration:underline}}@media (hover: none){.m_d6493fad :where(a):active{text-decoration:underline}}.m_d6493fad :where(hr){margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);border:0;border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(hr){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(hr){border-color:var(--mantine-color-dark-3)}.m_d6493fad :where(pre){padding:var(--mantine-spacing-xs);line-height:var(--mantine-line-height);margin:0;margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);overflow-x:auto;font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);border-radius:var(--mantine-radius-sm)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(pre){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(pre){background-color:var(--mantine-color-dark-8)}.m_d6493fad :where(pre) :where(code){background-color:transparent;padding:0;border-radius:0;color:inherit;border:0}.m_d6493fad :where(kbd){--kbd-fz: calc(.75rem * var(--mantine-scale));--kbd-padding: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-dark-3);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-5)}.m_d6493fad :where(code){line-height:var(--mantine-line-height);padding:calc(.0625rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));border-radius:var(--mantine-radius-sm);font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(code){background-color:var(--mantine-color-gray-0);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(code){background-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_d6493fad :where(ul,ol):not([data-type=taskList]){margin-bottom:var(--mantine-spacing-md);padding-inline-start:calc(2.375rem * var(--mantine-scale))}.m_d6493fad :where(ul,ol):not([data-type=taskList]) :where(li){margin-bottom:var(--mantine-spacing-xs)}.m_d6493fad :where(table){width:100%;border-collapse:collapse;caption-side:bottom;margin-bottom:var(--mantine-spacing-md)}.m_d6493fad :where(table) :where(caption){margin-top:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-sm);color:var(--mantine-color-gray-6)}.m_d6493fad :where(table) :where(th){text-align:left;font-weight:700;color:var(--mantine-color-gray-7);font-size:var(--mantine-font-size-sm);padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm)}.m_d6493fad :where(table) :where(thead th){border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3)}.m_d6493fad :where(table) :where(tfoot th){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3)}.m_d6493fad :where(table) :where(td){padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm);border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--mantine-color-gray-3);font-size:var(--mantine-font-size-sm)}.m_d6493fad :where(table) :where(tr:last-of-type td){border-bottom:0}.m_d6493fad :where(blockquote){font-size:var(--mantine-font-size-lg);line-height:var(--mantine-line-height);margin:var(--mantine-spacing-md) 0;border-radius:var(--mantine-radius-sm);padding:var(--mantine-spacing-md) var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-dark-8)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.draggable.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow__edges{position:absolute}.react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.likec4-shadow-root,.likec4-react-root{margin:0;padding:0;display:block;width:100%;height:100%;overflow:hidden;-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}.likec4-shadow-root{--font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--likec4-default-font-family: var(--font-family);--mantine-default-font-family: var(--font-family);--mantine-font-family: var(--font-family)}.likec4-shadow-root.likec4-browser{--mantine-color-body: rgb(0 0 0 / 0%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.likec4-shadow-root.likec4-browser[data-mantine-color-scheme=light]{--mantine-color-body: rgb(255 255 255 / 10%) !important}.likec4-shadow-root.likec4-browser[data-mantine-color-scheme=dark]{--mantine-color-body: rgb(12 12 12 / 25%) !important}.likec4-shadow-root.likec4-browser .mantine-CloseButton-root{position:absolute;z-index:1;top:calc(.625rem * var(--mantine-scale));right:calc(.625rem * var(--mantine-scale))}.likec4-shadow-root.likec4-view{overflow:hidden}.likec4-shadow-root.likec4-view .likec4-react-root{cursor:pointer;background-color:unset;padding:2px}.likec4-shadow-root.likec4-view .likec4-react-root .likec4-compound-node,.likec4-shadow-root.likec4-view .likec4-react-root .likec4-element-node{cursor:pointer}.likec4-diagram-root{overflow:hidden;position:relative;width:100%;height:100%;padding:0;margin:0;box-sizing:border-box;-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}.likec4-diagram-root{--likec4-font-family: var(--likec4-default-font-family,'ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"');--likec4-background-color: var(--mantine-color-body);--likec4-background-pattern-color: var(--mantine-color-dark-3);--likec4-compound-font-family: var(--likec4-font-family);--likec4-compound-title-color: var(--likec4-element-loContrast);--likec4-element-font-family: var(--likec4-font-family);--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-mantine-color-scheme=light]) .likec4-diagram-root{--likec4-background-pattern-color: var(--mantine-color-gray-6)}:where([data-likec4-color=primary]){--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-compound-title-color: #bfdbfe;--likec4-relation-lineColor: #3b82f6;--likec4-relation-labelBg: #172554;--likec4-relation-labelColor: #60a5fa}:where([data-likec4-color=primary][data-compound-depth="1"]){--likec4-element-fill: #145ed7;--likec4-element-stroke: #194bb8}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="1"]){--likec4-element-fill: #1a5bc5;--likec4-element-stroke: #1e49a9}:where([data-likec4-color=primary][data-compound-depth="2"]){--likec4-element-fill: #195cc8;--likec4-element-stroke: #1d4aac}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="2"]){--likec4-element-fill: #1e56b1;--likec4-element-stroke: #204698}:where([data-likec4-color=primary][data-compound-depth="3"]){--likec4-element-fill: #1e59ba;--likec4-element-stroke: #2149a0}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="3"]){--likec4-element-fill: #21519f;--likec4-element-stroke: #224289}:where([data-likec4-color=primary][data-compound-depth="4"]){--likec4-element-fill: #2357ad;--likec4-element-stroke: #244795}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="4"]){--likec4-element-fill: #234c8e;--likec4-element-stroke: #243f7a}:where([data-likec4-color=primary][data-compound-depth="5"]){--likec4-element-fill: #2755a0;--likec4-element-stroke: #27468a}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="5"]){--likec4-element-fill: #25467d;--likec4-element-stroke: #243b6c}:where([data-likec4-color=primary][data-compound-depth="6"]){--likec4-element-fill: #2a5293;--likec4-element-stroke: #2a447f}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=primary][data-compound-depth="6"]){--likec4-element-fill: #25416d;--likec4-element-stroke: #24365f}:where([data-likec4-color=blue]){--likec4-element-fill: #3b82f6;--likec4-element-stroke: #2563eb;--likec4-element-hiContrast: #eff6ff;--likec4-element-loContrast: #bfdbfe;--likec4-compound-title-color: #bfdbfe;--likec4-relation-lineColor: #3b82f6;--likec4-relation-labelBg: #172554;--likec4-relation-labelColor: #60a5fa}:where([data-likec4-color=blue][data-compound-depth="1"]){--likec4-element-fill: #145ed7;--likec4-element-stroke: #194bb8}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="1"]){--likec4-element-fill: #1a5bc5;--likec4-element-stroke: #1e49a9}:where([data-likec4-color=blue][data-compound-depth="2"]){--likec4-element-fill: #195cc8;--likec4-element-stroke: #1d4aac}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="2"]){--likec4-element-fill: #1e56b1;--likec4-element-stroke: #204698}:where([data-likec4-color=blue][data-compound-depth="3"]){--likec4-element-fill: #1e59ba;--likec4-element-stroke: #2149a0}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="3"]){--likec4-element-fill: #21519f;--likec4-element-stroke: #224289}:where([data-likec4-color=blue][data-compound-depth="4"]){--likec4-element-fill: #2357ad;--likec4-element-stroke: #244795}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="4"]){--likec4-element-fill: #234c8e;--likec4-element-stroke: #243f7a}:where([data-likec4-color=blue][data-compound-depth="5"]){--likec4-element-fill: #2755a0;--likec4-element-stroke: #27468a}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="5"]){--likec4-element-fill: #25467d;--likec4-element-stroke: #243b6c}:where([data-likec4-color=blue][data-compound-depth="6"]){--likec4-element-fill: #2a5293;--likec4-element-stroke: #2a447f}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=blue][data-compound-depth="6"]){--likec4-element-fill: #25416d;--likec4-element-stroke: #24365f}:where([data-likec4-color=secondary]){--likec4-element-fill: #0284c7;--likec4-element-stroke: #0369a1;--likec4-element-hiContrast: #f0f9ff;--likec4-element-loContrast: #B6ECF7;--likec4-compound-title-color: #B6ECF7;--likec4-relation-lineColor: #0ea5e9;--likec4-relation-labelBg: #082f49;--likec4-relation-labelColor: #38bdf8}:where([data-likec4-color=secondary][data-compound-depth="1"]){--likec4-element-fill: #086392;--likec4-element-stroke: #084f76}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="1"]){--likec4-element-fill: #0d5d86;--likec4-element-stroke: #0b4a6c}:where([data-likec4-color=secondary][data-compound-depth="2"]){--likec4-element-fill: #0c5e88;--likec4-element-stroke: #0b4b6e}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="2"]){--likec4-element-fill: #105579;--likec4-element-stroke: #0e4462}:where([data-likec4-color=secondary][data-compound-depth="3"]){--likec4-element-fill: #10597f;--likec4-element-stroke: #0e4767}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="3"]){--likec4-element-fill: #134e6c;--likec4-element-stroke: #103e57}:where([data-likec4-color=secondary][data-compound-depth="4"]){--likec4-element-fill: #135475;--likec4-element-stroke: #11435f}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="4"]){--likec4-element-fill: #154660;--likec4-element-stroke: #11384e}:where([data-likec4-color=secondary][data-compound-depth="5"]){--likec4-element-fill: #164f6c;--likec4-element-stroke: #133f58}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="5"]){--likec4-element-fill: #163f55;--likec4-element-stroke: #123345}:where([data-likec4-color=secondary][data-compound-depth="6"]){--likec4-element-fill: #194a64;--likec4-element-stroke: #153c51}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=secondary][data-compound-depth="6"]){--likec4-element-fill: #17384a;--likec4-element-stroke: #132d3c}:where([data-likec4-color=sky]){--likec4-element-fill: #0284c7;--likec4-element-stroke: #0369a1;--likec4-element-hiContrast: #f0f9ff;--likec4-element-loContrast: #B6ECF7;--likec4-compound-title-color: #B6ECF7;--likec4-relation-lineColor: #0ea5e9;--likec4-relation-labelBg: #082f49;--likec4-relation-labelColor: #38bdf8}:where([data-likec4-color=sky][data-compound-depth="1"]){--likec4-element-fill: #086392;--likec4-element-stroke: #084f76}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="1"]){--likec4-element-fill: #0d5d86;--likec4-element-stroke: #0b4a6c}:where([data-likec4-color=sky][data-compound-depth="2"]){--likec4-element-fill: #0c5e88;--likec4-element-stroke: #0b4b6e}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="2"]){--likec4-element-fill: #105579;--likec4-element-stroke: #0e4462}:where([data-likec4-color=sky][data-compound-depth="3"]){--likec4-element-fill: #10597f;--likec4-element-stroke: #0e4767}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="3"]){--likec4-element-fill: #134e6c;--likec4-element-stroke: #103e57}:where([data-likec4-color=sky][data-compound-depth="4"]){--likec4-element-fill: #135475;--likec4-element-stroke: #11435f}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="4"]){--likec4-element-fill: #154660;--likec4-element-stroke: #11384e}:where([data-likec4-color=sky][data-compound-depth="5"]){--likec4-element-fill: #164f6c;--likec4-element-stroke: #133f58}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="5"]){--likec4-element-fill: #163f55;--likec4-element-stroke: #123345}:where([data-likec4-color=sky][data-compound-depth="6"]){--likec4-element-fill: #194a64;--likec4-element-stroke: #153c51}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=sky][data-compound-depth="6"]){--likec4-element-fill: #17384a;--likec4-element-stroke: #132d3c}:where([data-likec4-color=muted]){--likec4-element-fill: #64748b;--likec4-element-stroke: #475569;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #cbd5e1;--likec4-compound-title-color: #cbd5e1;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-likec4-color=muted][data-compound-depth="1"]){--likec4-element-fill: #4e5a6a;--likec4-element-stroke: #384250}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="1"]){--likec4-element-fill: #4b5563;--likec4-element-stroke: #363e4b}:where([data-likec4-color=muted][data-compound-depth="2"]){--likec4-element-fill: #4c5665;--likec4-element-stroke: #363f4c}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="2"]){--likec4-element-fill: #474f5c;--likec4-element-stroke: #333a45}:where([data-likec4-color=muted][data-compound-depth="3"]){--likec4-element-fill: #4a5360;--likec4-element-stroke: #353d48}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="3"]){--likec4-element-fill: #424a54;--likec4-element-stroke: #30363f}:where([data-likec4-color=muted][data-compound-depth="4"]){--likec4-element-fill: #48505b;--likec4-element-stroke: #333a44}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="4"]){--likec4-element-fill: #3e444d;--likec4-element-stroke: #2d323a}:where([data-likec4-color=muted][data-compound-depth="5"]){--likec4-element-fill: #454c56;--likec4-element-stroke: #323841}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="5"]){--likec4-element-fill: #393e46;--likec4-element-stroke: #292e34}:where([data-likec4-color=muted][data-compound-depth="6"]){--likec4-element-fill: #434951;--likec4-element-stroke: #30353d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=muted][data-compound-depth="6"]){--likec4-element-fill: #34383e;--likec4-element-stroke: #26292f}:where([data-likec4-color=slate]){--likec4-element-fill: #64748b;--likec4-element-stroke: #475569;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #cbd5e1;--likec4-compound-title-color: #cbd5e1;--likec4-relation-lineColor: #64748b;--likec4-relation-labelBg: #0f172a;--likec4-relation-labelColor: #cbd5e1}:where([data-likec4-color=slate][data-compound-depth="1"]){--likec4-element-fill: #4e5a6a;--likec4-element-stroke: #384250}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="1"]){--likec4-element-fill: #4b5563;--likec4-element-stroke: #363e4b}:where([data-likec4-color=slate][data-compound-depth="2"]){--likec4-element-fill: #4c5665;--likec4-element-stroke: #363f4c}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="2"]){--likec4-element-fill: #474f5c;--likec4-element-stroke: #333a45}:where([data-likec4-color=slate][data-compound-depth="3"]){--likec4-element-fill: #4a5360;--likec4-element-stroke: #353d48}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="3"]){--likec4-element-fill: #424a54;--likec4-element-stroke: #30363f}:where([data-likec4-color=slate][data-compound-depth="4"]){--likec4-element-fill: #48505b;--likec4-element-stroke: #333a44}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="4"]){--likec4-element-fill: #3e444d;--likec4-element-stroke: #2d323a}:where([data-likec4-color=slate][data-compound-depth="5"]){--likec4-element-fill: #454c56;--likec4-element-stroke: #323841}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="5"]){--likec4-element-fill: #393e46;--likec4-element-stroke: #292e34}:where([data-likec4-color=slate][data-compound-depth="6"]){--likec4-element-fill: #434951;--likec4-element-stroke: #30353d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=slate][data-compound-depth="6"]){--likec4-element-fill: #34383e;--likec4-element-stroke: #26292f}:where([data-likec4-color=gray]){--likec4-element-fill: #737373;--likec4-element-stroke: #525252;--likec4-element-hiContrast: #fafafa;--likec4-element-loContrast: #d4d4d4;--likec4-compound-title-color: #d4d4d4;--likec4-relation-lineColor: #6E6E6E;--likec4-relation-labelBg: #18191b;--likec4-relation-labelColor: #C6C6C6}:where([data-likec4-color=gray][data-compound-depth="1"]){--likec4-element-fill: #595959;--likec4-element-stroke: #3f3f3f}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="1"]){--likec4-element-fill: #545454;--likec4-element-stroke: #3c3c3c}:where([data-likec4-color=gray][data-compound-depth="2"]){--likec4-element-fill: #555555;--likec4-element-stroke: #3d3d3d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="2"]){--likec4-element-fill: #4e4e4e;--likec4-element-stroke: #383838}:where([data-likec4-color=gray][data-compound-depth="3"]){--likec4-element-fill: #525252;--likec4-element-stroke: #3a3a3a}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="3"]){--likec4-element-fill: #484848;--likec4-element-stroke: #343434}:where([data-likec4-color=gray][data-compound-depth="4"]){--likec4-element-fill: #4e4e4e;--likec4-element-stroke: #383838}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="4"]){--likec4-element-fill: #434343;--likec4-element-stroke: #303030}:where([data-likec4-color=gray][data-compound-depth="5"]){--likec4-element-fill: #4b4b4b;--likec4-element-stroke: #353535}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="5"]){--likec4-element-fill: #3d3d3d;--likec4-element-stroke: #2b2b2b}:where([data-likec4-color=gray][data-compound-depth="6"]){--likec4-element-fill: #474747;--likec4-element-stroke: #333333}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=gray][data-compound-depth="6"]){--likec4-element-fill: #373737;--likec4-element-stroke: #272727}:where([data-likec4-color=red]){--likec4-element-fill: #AC4D39;--likec4-element-stroke: #853A2D;--likec4-element-hiContrast: #FBD3CB;--likec4-element-loContrast: #f5b2a3;--likec4-compound-title-color: #f5b2a3;--likec4-relation-lineColor: #AC4D39;--likec4-relation-labelBg: #b91c1c;--likec4-relation-labelColor: #f5b2a3}:where([data-likec4-color=red][data-compound-depth="1"]){--likec4-element-fill: #803e30;--likec4-element-stroke: #632f26}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="1"]){--likec4-element-fill: #773d30;--likec4-element-stroke: #5c2e26}:where([data-likec4-color=red][data-compound-depth="2"]){--likec4-element-fill: #793d31;--likec4-element-stroke: #5e2e26}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="2"]){--likec4-element-fill: #6c3a2f;--likec4-element-stroke: #542c25}:where([data-likec4-color=red][data-compound-depth="3"]){--likec4-element-fill: #723c31;--likec4-element-stroke: #582e27}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="3"]){--likec4-element-fill: #62372e;--likec4-element-stroke: #4c2a24}:where([data-likec4-color=red][data-compound-depth="4"]){--likec4-element-fill: #6a3b31;--likec4-element-stroke: #522d27}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="4"]){--likec4-element-fill: #58342c;--likec4-element-stroke: #442823}:where([data-likec4-color=red][data-compound-depth="5"]){--likec4-element-fill: #633a31;--likec4-element-stroke: #4d2c27}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="5"]){--likec4-element-fill: #4f312a;--likec4-element-stroke: #3d2521}:where([data-likec4-color=red][data-compound-depth="6"]){--likec4-element-fill: #5d3931;--likec4-element-stroke: #482b27}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=red][data-compound-depth="6"]){--likec4-element-fill: #462d28;--likec4-element-stroke: #36231f}:where([data-likec4-color=green]){--likec4-element-fill: #428a4f;--likec4-element-stroke: #2d5d39;--likec4-element-hiContrast: #f8fafc;--likec4-element-loContrast: #c2f0c2;--likec4-compound-title-color: #c2f0c2;--likec4-relation-lineColor: #15803d;--likec4-relation-labelBg: #052e16;--likec4-relation-labelColor: #22c55e}:where([data-likec4-color=green][data-compound-depth="1"]){--likec4-element-fill: #35683e;--likec4-element-stroke: #24462d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="1"]){--likec4-element-fill: #34613c;--likec4-element-stroke: #24412b}:where([data-likec4-color=green][data-compound-depth="2"]){--likec4-element-fill: #35623d;--likec4-element-stroke: #24422c}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="2"]){--likec4-element-fill: #325839;--likec4-element-stroke: #223c29}:where([data-likec4-color=green][data-compound-depth="3"]){--likec4-element-fill: #345d3c;--likec4-element-stroke: #243e2a}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="3"]){--likec4-element-fill: #305136;--likec4-element-stroke: #213626}:where([data-likec4-color=green][data-compound-depth="4"]){--likec4-element-fill: #33573a;--likec4-element-stroke: #233b29}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="4"]){--likec4-element-fill: #2d4932;--likec4-element-stroke: #1f3123}:where([data-likec4-color=green][data-compound-depth="5"]){--likec4-element-fill: #335238;--likec4-element-stroke: #223728}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="5"]){--likec4-element-fill: #2b422f;--likec4-element-stroke: #1d2c21}:where([data-likec4-color=green][data-compound-depth="6"]){--likec4-element-fill: #324d37;--likec4-element-stroke: #223426}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=green][data-compound-depth="6"]){--likec4-element-fill: #283a2b;--likec4-element-stroke: #1b271e}:where([data-likec4-color=amber]){--likec4-element-fill: #A35829;--likec4-element-stroke: #7E451D;--likec4-element-hiContrast: #FFE0C2;--likec4-element-loContrast: #f9b27c;--likec4-compound-title-color: #f9b27c;--likec4-relation-lineColor: #b45309;--likec4-relation-labelBg: #78350f;--likec4-relation-labelColor: #FFE0C2}:where([data-likec4-color=amber][data-compound-depth="1"]){--likec4-element-fill: #794524;--likec4-element-stroke: #5e361a}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="1"]){--likec4-element-fill: #704225;--likec4-element-stroke: #56331b}:where([data-likec4-color=amber][data-compound-depth="2"]){--likec4-element-fill: #724325;--likec4-element-stroke: #58341b}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="2"]){--likec4-element-fill: #663e25;--likec4-element-stroke: #4e301b}:where([data-likec4-color=amber][data-compound-depth="3"]){--likec4-element-fill: #6b4126;--likec4-element-stroke: #52321c}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="3"]){--likec4-element-fill: #5c3a25;--likec4-element-stroke: #472d1b}:where([data-likec4-color=amber][data-compound-depth="4"]){--likec4-element-fill: #643e27;--likec4-element-stroke: #4d301d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="4"]){--likec4-element-fill: #533624;--likec4-element-stroke: #402a1a}:where([data-likec4-color=amber][data-compound-depth="5"]){--likec4-element-fill: #5d3c28;--likec4-element-stroke: #472f1d}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="5"]){--likec4-element-fill: #493223;--likec4-element-stroke: #38261a}:where([data-likec4-color=amber][data-compound-depth="6"]){--likec4-element-fill: #563a28;--likec4-element-stroke: #422d1e}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=amber][data-compound-depth="6"]){--likec4-element-fill: #412d21;--likec4-element-stroke: #322319}:where([data-likec4-color=indigo]){--likec4-element-fill: #6366f1;--likec4-element-stroke: #4f46e5;--likec4-element-hiContrast: #eef2ff;--likec4-element-loContrast: #c7d2fe;--likec4-compound-title-color: #c7d2fe;--likec4-relation-lineColor: #6366f1;--likec4-relation-labelBg: #1e1b4b;--likec4-relation-labelColor: #818cf8}:where([data-likec4-color=indigo][data-compound-depth="1"]){--likec4-element-fill: #2529e1;--likec4-element-stroke: #2d24c2}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="1"]){--likec4-element-fill: #2529d3;--likec4-element-stroke: #3028b2}:where([data-likec4-color=indigo][data-compound-depth="2"]){--likec4-element-fill: #2428d7;--likec4-element-stroke: #3028b5}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="2"]){--likec4-element-fill: #282bbf;--likec4-element-stroke: #312aa1}:where([data-likec4-color=indigo][data-compound-depth="3"]){--likec4-element-fill: #292cc8;--likec4-element-stroke: #322ba9}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="3"]){--likec4-element-fill: #2b2dac;--likec4-element-stroke: #312b91}:where([data-likec4-color=indigo][data-compound-depth="4"]){--likec4-element-fill: #2d30ba;--likec4-element-stroke: #342e9e}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="4"]){--likec4-element-fill: #2c2f99;--likec4-element-stroke: #302c82}:where([data-likec4-color=indigo][data-compound-depth="5"]){--likec4-element-fill: #3133ac;--likec4-element-stroke: #363092}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="5"]){--likec4-element-fill: #2d2f87;--likec4-element-stroke: #2f2b73}:where([data-likec4-color=indigo][data-compound-depth="6"]){--likec4-element-fill: #34369f;--likec4-element-stroke: #373287}:where([data-mantine-color-scheme=dark]) :where([data-likec4-color=indigo][data-compound-depth="6"]){--likec4-element-fill: #2d2e76;--likec4-element-stroke: #2e2b65}.react-flow._17jps3v0{--xy-background-color: var(--likec4-background-color);--xy-background-pattern-color: var(--likec4-background-pattern-color)}.react-flow._17jps3v0._17jps3v2{--likec4-background-color: transparent !important;--xy-background-color: transparent !important;background-color:transparent!important}:where(._17jps3v3,._17jps3v2) .react-flow__attribution{display:none}@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){._17jps3v0{--likec4-safari-animation-hook: }}@keyframes yi2p6v7{0%{stroke-dashoffset:46}to{stroke-dashoffset:10}}.yi2p6v1{--yi2p6v0: black;--xy-edge-stroke: var(--likec4-relation-lineColor);--xy-edge-stroke-selected: color-mix(in srgb, var(--likec4-relation-lineColor), var(--yi2p6v0) 35%);--xy-edge-label-color: color-mix(in srgb, var(--likec4-relation-labelColor), rgba(255 255 255 / .85) 20%);--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 40%);--xy-edge-stroke-width: 3}:where([data-mantine-color-scheme=dark]) .yi2p6v1{--yi2p6v0: white;--xy-edge-label-color: var(--likec4-relation-labelColor);--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 50%)}:where(.react-flow__edge.selected) .yi2p6v1{--xy-edge-stroke: var(--xy-edge-stroke-selected);--xy-edge-stroke-width: 3}.yi2p6v1:is([data-edge-hovered=true],[data-edge-active=true]){--xy-edge-stroke: var(--xy-edge-stroke-selected);--xy-edge-stroke-width: 3}:where(.react-flow__edge.selected) .yi2p6v1[data-edge-hovered=true]{--xy-edge-stroke-width: 4}.react-flow__edges>svg{mix-blend-mode:plus-lighter}.react-flow__edges>svg:has(.yi2p6v2){opacity:.6;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.yi2p6v3{stroke-opacity:.08;transition-property:stroke-width,stroke-opacity;transition-duration:155ms;transition-timing-function:ease-out}:where(.react-flow__edge.selected,[data-edge-active=true],[data-edge-hovered=true]) .yi2p6v3{stroke-width:calc(var(--xy-edge-stroke-width) + 8);stroke-opacity:.15}.yi2p6v4{fill:var(--xy-edge-stroke);stroke:var(--xy-edge-stroke)}.yi2p6v5{fill:var(--xy-edge-stroke);stroke:var(--xy-edge-stroke);fill-opacity:.75;stroke-width:1;cursor:grab;pointer-events:auto;visibility:hidden}.yi2p6v5:hover{stroke:var(--mantine-primary-color-filled-hover);stroke-width:9;transition:stroke .1s ease-out,stroke-width .1s ease-out}:where(.react-flow__edge.selected,[data-edge-hovered=true]) .yi2p6v5{visibility:visible;transition:fill-opacity .15s ease-out,stroke .15s ease-out,stroke-width .15s ease-out;transition-delay:50ms;fill-opacity:1;stroke-width:5}.yi2p6v6{cursor:grabbing}.yi2p6v6 *{cursor:grabbing!important}.yi2p6v8{animation-duration:.8s;animation-iteration-count:infinite;animation-timing-function:linear;animation-fill-mode:both;stroke-dashoffset:10}:where([data-edge-hovered=true]) .yi2p6v8{animation-name:yi2p6v7;animation-delay:.45s;transition:stroke .13s ease-out,stroke-width .13s ease-out}:where(.react-flow__edge.selected,[data-edge-active=true]) .yi2p6v8{animation-name:yi2p6v7;animation-delay:0ms;transition:stroke .13s ease-out,stroke-width .13s ease-out}:where([data-edge-dir=back]) .yi2p6v8{animation-direction:reverse}.yi2p6v2 .yi2p6v8{animation-play-state:paused}.yi2p6vc{--yi2p6vb: translate(var(--yi2p6v9, -50%), var(--yi2p6va, -50%));top:0;left:0;padding:2px 4px 4px;font-family:var(--likec4-font-family);position:absolute;pointer-events:all;cursor:pointer;width:-moz-fit-content;width:fit-content;transform-origin:50% 50%;mix-blend-mode:plus-lighter;color:var(--xy-edge-label-color);background-color:var(--xy-edge-label-background-color);border-radius:3px;transform:var(--yi2p6vb)}.yi2p6vc[data-edge-hovered=true]{transition:all .14s ease-in-out;transform:var(--yi2p6vb) scale(1.12)}.yi2p6vc:is(.yi2p6v2){opacity:.3;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.yi2p6vd{position:absolute;top:-2px;left:-2px;font-weight:500;font-size:calc(1rem * var(--mantine-scale));line-height:.9;padding:4px 6px;border-radius:99999px;text-align:center;min-width:22px;background-color:var(--xy-edge-label-background-color);transition:all .12s ease-out;transform:translate(-100%);font-variant-numeric:tabular-nums}:where([data-edge-hovered=true],[data-edge-active=true]) .yi2p6vd{font-weight:600;background-color:color-mix(in srgb,var(--likec4-relation-labelBg),transparent 5%)}.yi2p6ve{text-align:left;white-space-collapse:preserve-breaks;font-size:calc(.875rem * var(--mantine-scale));line-height:1.185}@keyframes c3cfh0a{0%{opacity:.6}to{opacity:.3}}.c3cfh00{width:100%;height:100%;position:relative;padding:0;margin:0}.c3cfh01{top:50%;left:50%;visibility:hidden}.react-flow__node-compound:has(.c3cfh02){opacity:.25;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(1px));will-change:opacity,filter}.c3cfh05{width:100%;height:100%;position:relative;border-radius:6px;box-shadow:0 4px 10px .5px #0000001a,0 2px 2px -1px #0006;padding:0;margin:0;transition:all .2s ease-out;background-clip:padding-box;overflow:hidden;cursor:default}.c3cfh05:before{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:background 175ms ease-out,opacity 175ms ease-out;background:var(--likec4-element-fill)}:where(.react-flow__node.selected) .c3cfh05{box-shadow:none}:where(.react-flow__node:focus-visible) .c3cfh05{transition-duration:0ms;outline:3px solid var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));outline-offset:calc(.09375rem * var(--mantine-scale))}.c3cfh07{--c3cfh06: 0;--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);border-style:dashed;border-width:3px;box-shadow:none;border-color:color-mix(in srgb,var(--likec4-element-stroke),transparent var(--c3cfh04, 10%))}.c3cfh07:before{border-radius:unset;transition-delay:.1s;opacity:calc(var(--c3cfh03, 1) + var(--c3cfh06))}:where([data-hovered]) .c3cfh07{--c3cfh06: .08}.c3cfh08{font-family:var(--likec4-compound-font-family);text-align:left;font-weight:600;font-size:calc(.9375rem * var(--mantine-scale));text-transform:uppercase;letter-spacing:.2px;line-height:1;color:var(--_compound-title-color,var(--likec4-compound-title-color));padding-left:14px;padding-top:13px;padding-bottom:6px;mix-blend-mode:screen}:where(.react-flow__node.draggable) .c3cfh08{cursor:grab}:where(.likec4-compound-transparent) .c3cfh08{padding-top:10px}.c3cfh09{padding-left:32px}:where([data-mantine-color-scheme=light] .likec4-compound-transparent){--_compound-title-color: var(--likec4-element-stroke)}.c3cfh0d{--c3cfh0b: var(--likec4-element-loContrast);--c3cfh0c: 6;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;visibility:hidden}:where(.react-flow__node.selected:not(:focus-visible)) .c3cfh0d{visibility:visible}:where(.react-flow__node:focus-within:not(.selected)) .c3cfh0d{--c3cfh0b: color-mix(in srgb, var(--likec4-element-stroke) 30%, var(--likec4-element-loContrast));--c3cfh0c: 8}:where([data-mantine-color-scheme=light]) .c3cfh0d{--c3cfh0b: color-mix(in srgb, var(--likec4-element-stroke) 80%, #000)}.c3cfh0d rect{stroke:var(--c3cfh0b);transform-origin:center center;stroke-width:var(--c3cfh0c);animation-duration:.8s;animation-name:c3cfh0a;animation-iteration-count:infinite;animation-direction:alternate;fill:none}.c3cfh00{--c3cfh0e: var(--likec4-element-loContrast)}:where([data-mantine-color-scheme=light] .likec4-compound-transparent){--c3cfh0e: var(--likec4-element-stroke)}.c3cfh0f{--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));position:absolute;pointer-events:all;left:3px;top:6px;cursor:pointer;color:var(--_compound-title-color,var(--c3cfh0e));transform-origin:90% 50%;opacity:.75;transition:all .15s ease-out;transition-delay:0ms;background-color:var(--ai-bg)}.c3cfh0f:hover{box-shadow:var(--mantine-shadow-lg);transform:scale(1.42);opacity:1;transition-delay:0}.c3cfh0f:active{transform:scale(1.1);opacity:1;transition-delay:0}:where([data-mantine-color-scheme=light] .likec4-compound-transparent) .c3cfh0f{--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 60%);--ai-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 20%);opacity:.85}:where(.react-flow__node:not(.dragging) .c3cfh00:hover) .c3cfh0f:not(:hover){--ai-bg: var(--ai-bg-hover);box-shadow:var(--mantine-shadow-lg);transform:scale(1.223);opacity:1;transition-delay:.25s}.c3cfh0f svg.icon{width:75%;height:75%;stroke-width:1.5}@keyframes _14ylloj5{0%{stroke-opacity:.8}to{stroke-opacity:.5}}._14ylloj1{--_14ylloj0: color-mix(in srgb, var(--likec4-element-stroke) 90%, var(--likec4-element-fill));width:100%;height:100%;padding:0;margin:0;flex:1;display:flex;align-items:center;justify-content:center}:where(.react-flow__node.selected) ._14ylloj1{will-change:transform}._14ylloj1[data-hovered=true]{will-change:transform}._14ylloj2{top:50%;left:50%;visibility:hidden}._14ylloj3{will-change:transform}.react-flow__node-element:has(._14ylloj4){opacity:.25;transition:opacity .6s ease-in-out,filter .6s ease-in-out;transition-delay:.2s;filter:grayscale(.85) var(--likec4-safari-animation-hook, blur(2px));will-change:opacity,filter}._14ylloj7{--_14ylloj6: var(--likec4-element-loContrast);stroke:var(--_14ylloj6);fill:none;transform-origin:center center;stroke-width:6;animation-duration:1s;animation-iteration-count:infinite;animation-direction:alternate;stroke-opacity:.8;visibility:hidden}:where(.react-flow__node.selected) ._14ylloj7{visibility:visible;animation-name:var(--likec4-safari-animation-hook, _14ylloj5)}:where(.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14ylloj7{stroke-width:10;stroke:var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));visibility:visible}:where([data-likec4-shape=queue],[data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14ylloj7{stroke-width:10}:where([data-mantine-color-scheme=light]) ._14ylloj7{--_14ylloj6: color-mix(in srgb, var(--likec4-element-fill) 50%, #3c3c3c)}._14ylloj4 ._14ylloj7{visibility:hidden;display:none}._14ylloj8{fill:var(--likec4-element-fill)}._14ylloj9{fill:var(--likec4-element-stroke)}._14ylloja{fill:var(--_14ylloj0)}._14ylloje{flex:0 0 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;text-align:var(--_14yllojc);font-weight:500;font-size:19px;line-height:1.15;text-wrap:balance;color:var(--likec4-element-hiContrast)}._14yllojf{flex:0 1 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;font-weight:400;font-size:14px;line-height:1.2;text-align:var(--_14yllojc);text-wrap:pretty;color:var(--likec4-element-loContrast);white-space-collapse:preserve-breaks;text-overflow:ellipsis;overflow:hidden}:where(._14yllojb) ._14yllojf{text-wrap:wrap}._14yllojg{flex:0 0 auto;font-family:var(--likec4-element-font-family);font-optical-sizing:auto;font-style:normal;font-weight:400;font-size:12px;line-height:1.125;text-align:var(--_14yllojc);text-wrap:balance;opacity:.92;color:var(--likec4-element-loContrast)}._14ylloj1:hover ._14yllojg{opacity:1}._14yllojh{--_14yllojd: 48px;flex:1;height:-moz-fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;flex-direction:row;padding:calc(1.5rem * var(--mantine-scale));overflow:hidden;gap:calc(.625rem * var(--mantine-scale))}:where([data-likec4-shape=queue],[data-likec4-shape=mobile]) ._14yllojh{padding-left:40px;padding-right:20px}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14yllojh{padding-top:30px}:where([data-likec4-shape=browser]) ._14yllojh{padding-top:32px;padding-bottom:28px}._14ylloj1:not(:is([data-likec4-shape=queue],[data-likec4-shape=mobile])) ._14yllojh:is(._14yllojb){padding-left:24px;padding-right:18px}._14yllojh:has(._14yllojf,._14yllojg){--_14yllojd: 60px;gap:calc(1rem * var(--mantine-scale))}._14ylloji{--_14yllojc: center;height:-moz-fit-content;height:fit-content;width:-moz-max-content;width:max-content;display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex-wrap:nowrap;overflow:hidden;gap:calc(.5rem * var(--mantine-scale))}._14ylloji:has(._14yllojf):has(._14yllojg){gap:calc(.375rem * var(--mantine-scale))}:where(._14yllojb) ._14ylloji{--_14yllojc: left;min-width:calc(100% - 160px);align-items:flex-start}._14yllojj{flex:0 0 var(--_14yllojd);height:var(--_14yllojd);width:var(--_14yllojd);display:flex;align-items:center;justify-content:center;mix-blend-mode:hard-light;align-self:flex-start}._14yllojj svg,._14yllojj img{width:100%;height:auto;max-height:100%;pointer-events:none;filter:drop-shadow(0 0 3px rgb(0 0 0 / 12%)) drop-shadow(0 1px 8px rgb(0 0 0 / 8%)) drop-shadow(1px 1px 16px rgb(0 0 0 / 3%))}._14yllojj img{-o-object-fit:contain;object-fit:contain}._14yllojl{top:0;left:0;position:absolute;pointer-events:none;transform-origin:50% 50%;fill:var(--likec4-element-fill);stroke:none;z-index:-1;transition:opacity .5s ease-out;transform:translate(8px,10px);opacity:.5}:where(.react-flow__node.selected,.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14yllojl{visibility:hidden}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._14yllojl{transform:translate(8px,8px)}:where([data-likec4-shape=queue]) ._14yllojl{transform:translate(-10px,8px)}:where([data-hovered=true]) ._14yllojl{transition:opacity .3s ease-in;opacity:.2}._14yllojm{--_14yllojk: drop-shadow(0 2px 1px rgba(0, 0, 0, .21)) drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-element-stroke) 40%, transparent)) drop-shadow(0 5px 3px rgba(0, 0, 0, .1)) ;top:0;left:0;position:absolute;pointer-events:none;fill:var(--likec4-element-fill);stroke:var(--likec4-element-stroke);overflow:visible;filter:var(--_14yllojk);transition:filter .3s ease-out;transition-delay:0ms;z-index:-1}:where(.react-flow__node.selected,.react-flow__node:focus-visible,._14ylloj1:focus-visible) ._14yllojm{--_14yllojk: none}._14yllojn{--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));z-index:calc(var(--layer-overlays, 1) + 1);position:absolute;pointer-events:all;left:50%;bottom:0;color:var(--likec4-element-loContrast);cursor:pointer;transform-origin:50% 65%;opacity:.75;transition:all .15s ease-out;transform:translate(-50%);transition-delay:0ms;background-color:var(--ai-bg)}._14yllojn:hover{box-shadow:var(--mantine-shadow-lg);transform:translate(-50%) scale(1.35);opacity:1;transition-delay:0}._14yllojn:active{transform:translate(-50%) scale(1.02);opacity:1;transition-delay:0}:where([data-likec4-shape=browser]) ._14yllojn{bottom:3px}:where(.react-flow__node:not(.dragging) ._14ylloj1:hover) ._14yllojn:not(:hover){--ai-bg: var(--ai-bg-hover);box-shadow:var(--mantine-shadow-lg);transform:translate(-50%) scale(1.185);opacity:1;transition-delay:.25s}._14yllojn svg.icon{width:65%;height:65%;stroke-width:1.5}._1s87wm0{position:absolute;left:0;bottom:0;padding-left:6px;padding-bottom:6px;pointer-events:all}:where([data-likec4-shape=cylinder],[data-likec4-shape=storage]) ._1s87wm0{bottom:6px}:where([data-likec4-shape=queue]) ._1s87wm0{left:12px;bottom:-3px}._1s87wm1{display:flex;line-height:.75;font-size:11px;font-weight:500;align-items:center;justify-content:center;color:var(--likec4-element-loContrast);padding:2px 5px 2px 4px;border-radius:3px;background-color:color-mix(in srgb,var(--likec4-element-stroke),transparent 20%);transition:all .18s ease-out;opacity:.85}._1s87wm1:hover{color:var(--likec4-element-hiContrast);background-color:var(--likec4-element-stroke);opacity:1}._1s87wm1 .icon{display:inline-block;line-height:1;width:10px;height:10px;opacity:.6}._1s87wm1 span{display:inline-block;line-height:1;margin-left:3px}._1s87wm2{text-align:left}.ufby1u0{top:var(--likec4-navigation-panel-top, .8rem);left:var(--likec4-navigation-panel-left, 1rem);margin:0}.ufby1u0 .mantine-ActionIcon-root{--ai-size: var(--ai-size-lg)}._19ci0hj0{bottom:0;left:0;padding:8px;margin:0}._19ci0hj1{cursor:default;min-width:200px;max-width:calc(100vw - 16px);background-color:color-mix(in srgb,var(--mantine-color-body),transparent 20%);-webkit-backdrop-filter:var(--likec4-safari-animation-hook, blur(8px));backdrop-filter:var(--likec4-safari-animation-hook, blur(8px))}:where([data-mantine-color-scheme=dark]) ._19ci0hj1{background-color:color-mix(in srgb,var(--mantine-color-dark-6),transparent 20%)}._19ci0hj3{white-space-collapse:preserve-breaks;color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) ._19ci0hj3{color:var(--mantine-color-gray-5)}@media (min-width: 48em){._19ci0hj1{min-width:300px;max-width:90vw}}@media (min-width: 62em){._19ci0hj1{min-width:400px;max-width:70vw}}.h3ljtj0{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);padding:0;margin:0}.h3ljtj1{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all 175ms ease-in}.h3ljtj1:hover{transition-timing-function:ease-out;transform:scale(1.1)}.h3ljtj1:active{transition-duration:.1s;transform:scale(.98) translateY(3px)}.h3ljtj3{--h3ljtj2: 35%;--button-bg: color-mix(in srgb, var(--mantine-primary-color-filled), transparent var(--h3ljtj2));--button-hover: color-mix(in srgb, var(--mantine-primary-color-filled-hover), transparent var(--h3ljtj2));transition:all 175ms ease-in;background-color:var(--button-bg)}[data-mantine-color-scheme=light] .h3ljtj3{--h3ljtj2: 15%}:where(.h3ljtj1,.h3ljtj3) .tabler-icon{width:.85em;height:.85em}._12rmdgk0{top:var(--likec4-options-panel-top, 1rem);right:var(--likec4-options-panel-right, 1rem);margin:0;box-shadow:var(--mantine-shadow-xl)}
|
|
25709
25689
|
`, ensureFontCss(), BundledStyles.replaceAll("body {", ".likec4-react-root{").replaceAll("body{", ".likec4-react-root{").replaceAll(":root", ".likec4-shadow-root");
|
|
25710
25690
|
}, theme = {
|
|
25711
25691
|
primaryColor: "indigo",
|
|
@@ -25780,11 +25760,13 @@ const BrowserModal = memo$1(({
|
|
|
25780
25760
|
showDiagramTitle: !0,
|
|
25781
25761
|
showElementLinks: !0,
|
|
25782
25762
|
enableDynamicViewWalkthrough: !0,
|
|
25763
|
+
enableFocusMode: !0,
|
|
25783
25764
|
showNavigationButtons: !0,
|
|
25784
25765
|
controls: !1,
|
|
25785
25766
|
nodesSelectable: !1,
|
|
25786
25767
|
nodesDraggable: !1,
|
|
25787
25768
|
keepAspectRatio: !1,
|
|
25769
|
+
experimentalEdgeEditing: !1,
|
|
25788
25770
|
renderIcon: RenderIcon,
|
|
25789
25771
|
onNavigateTo
|
|
25790
25772
|
}
|
|
@@ -25837,7 +25819,7 @@ class LikeC4Browser extends HTMLElement {
|
|
|
25837
25819
|
if (view)
|
|
25838
25820
|
return view;
|
|
25839
25821
|
console.error(`Invalid view id: ${id2},
|
|
25840
|
-
Available: ${Object.keys(LikeC4Views).join(", ")}`), view = LikeC4Views.index ?? Object.values(LikeC4Views)[0], invariant
|
|
25822
|
+
Available: ${Object.keys(LikeC4Views).join(", ")}`), view = LikeC4Views.index ?? Object.values(LikeC4Views)[0], invariant(view, "Empty LikeC4Views"), console.warn(`LikeC4: Falling back to view: ${view.id}`);
|
|
25841
25823
|
const fallbackViewId = view.id;
|
|
25842
25824
|
return setTimeout(() => this.setAttribute("view-id", fallbackViewId), 50), view;
|
|
25843
25825
|
}
|
|
@@ -25887,7 +25869,7 @@ class LikeC4View extends HTMLElement {
|
|
|
25887
25869
|
this.shadow = this.attachShadow({ mode: "open" }), this.shadow.innerHTML = '<div class="likec4-shadow-root likec4-view"><div class="likec4-react-root"></div></div>', this.rootEl = this.shadow.querySelector(".likec4-shadow-root");
|
|
25888
25870
|
}
|
|
25889
25871
|
updateHostCss() {
|
|
25890
|
-
const view = this.view,
|
|
25872
|
+
const view = this.view, { width, height } = view.bounds, isLandscape = width > height, hostCss = this.isKeepAspectRatio ? `
|
|
25891
25873
|
:host {
|
|
25892
25874
|
display: block;
|
|
25893
25875
|
background-color: transparent;
|
|
@@ -25903,8 +25885,8 @@ class LikeC4View extends HTMLElement {
|
|
|
25903
25885
|
height: -webkit-fill-available;
|
|
25904
25886
|
${isLandscape ? "" : `
|
|
25905
25887
|
min-height: 100px;`}
|
|
25906
|
-
aspect-ratio: ${Math.ceil(
|
|
25907
|
-
max-height: var(--likec4-view-max-height, ${Math.ceil(
|
|
25888
|
+
aspect-ratio: ${Math.ceil(width)} / ${Math.ceil(height)};
|
|
25889
|
+
max-height: var(--likec4-view-max-height, ${Math.ceil(height * 1.05)}px);
|
|
25908
25890
|
}` : `
|
|
25909
25891
|
:host {
|
|
25910
25892
|
display: block;
|
|
@@ -25929,7 +25911,7 @@ class LikeC4View extends HTMLElement {
|
|
|
25929
25911
|
if (view)
|
|
25930
25912
|
return view;
|
|
25931
25913
|
console.error(`Invalid view id: ${viewId},
|
|
25932
|
-
Available: ${Object.keys(LikeC4Views).join(", ")}`), view = LikeC4Views.index ?? Object.values(LikeC4Views)[0], invariant
|
|
25914
|
+
Available: ${Object.keys(LikeC4Views).join(", ")}`), view = LikeC4Views.index ?? Object.values(LikeC4Views)[0], invariant(view, "Empty LikeC4Views"), console.warn(`LikeC4: Falling back to view: ${view.id}`);
|
|
25933
25915
|
const fallbackViewId = view.id;
|
|
25934
25916
|
return setTimeout(() => this.setAttribute("view-id", fallbackViewId), 50), view;
|
|
25935
25917
|
}
|
|
@@ -25958,7 +25940,10 @@ Available: ${Object.keys(LikeC4Views).join(", ")}`), view = LikeC4Views.index ??
|
|
|
25958
25940
|
fitViewPadding: 0.01,
|
|
25959
25941
|
showElementLinks: !0,
|
|
25960
25942
|
showDiagramTitle: !1,
|
|
25943
|
+
showNavigationButtons: !1,
|
|
25961
25944
|
enableDynamicViewWalkthrough: !1,
|
|
25945
|
+
experimentalEdgeEditing: !1,
|
|
25946
|
+
enableFocusMode: !1,
|
|
25962
25947
|
controls: !1,
|
|
25963
25948
|
nodesSelectable: !1,
|
|
25964
25949
|
keepAspectRatio: !1,
|