
GITNUXSOFTWARE ADVICE
Art DesignTop 10 Best Mandala Software of 2026
Top 10 Mandala Software ranked by features and usability, with technical notes on Krita, GIMP, and Blender for artists and designers.
How we ranked these tools
Core product claims cross-referenced against official documentation, changelogs, and independent technical reviews.
Analyzed video reviews and hundreds of written evaluations to capture real-world user experiences with each tool.
AI persona simulations modeled how different user types would experience each tool across common use cases and workflows.
Final rankings reviewed and approved by our editorial team with authority to override AI-generated scores based on domain expertise.
Score: Features 40% · Ease 30% · Value 30%
Gitnux may earn a commission through links on this page — this does not influence rankings. Editorial policy
Editor’s top 3 picks
Three quick recommendations before you dive into the full comparison below — each one leads on a different dimension.
Krita
Python scripting with plugin APIs to programmatically edit Krita documents and automate exports.
Built for fits when teams need local art automation and repeatable exports without server governance..
GIMP
Editor pickProcedure plug-ins and Python scripting for repeatable batch edits on layered documents.
Built for fits when teams need repeatable image automation with scripts and file-based integration..
Blender
Editor pickDatablock and node-tree model exposed through Python for programmatic scene and shader graph edits.
Built for fits when teams need scripted visual pipeline automation without centralized admin requirements..
Related reading
Comparison Table
This comparison table maps Mandala Software tools such as Krita, GIMP, Blender, Adobe Illustrator, and CorelDRAW across integration depth, data model, automation and API surface, and admin governance controls. Each row notes how extensibility and configuration work in practice, including provisioning patterns, RBAC granularity, and audit log coverage where available. The goal is to surface tradeoffs in schema design, automation throughput, and sandbox or isolation options before tool selection.
Krita
digital paintingOpen-source digital painting application that includes symmetry painting modes for radial and kaleidoscope-style mandala workflows.
Python scripting with plugin APIs to programmatically edit Krita documents and automate exports.
Krita provides a structured document model that separates layers, masks, selections, and filters, which makes exported outputs consistent across sessions. The brush system uses configurable engines and presets, and it can be extended through plugins and scripting to automate repeatable painting and rendering steps. Python scripting can read and modify document state, and plugin APIs enable deeper integration such as custom filters, dock widgets, and import export behavior.
A key tradeoff is that Krita lacks server-side tenancy features such as RBAC, audit logs, and centralized provisioning, so governance must happen around the workstation or through external pipeline tools. For usage situations like batch export of standardized concept art or applying the same filter stack across a folder, scripting and plugins add automation and improve throughput without requiring custom backend services.
For integration depth, Krita fits best when automation targets local artifacts such as images and Krita document files, because the API surface focuses on document operations rather than remote resource orchestration. When workflows need controlled access across teams, external version control, filesystem permissions, and CI steps typically carry the governance layer.
- +Python scripting can automate document operations, exports, and batch edits
- +Plugin APIs enable custom filters, import export handlers, and UI extensions
- +Layer and mask data model supports predictable filter and export pipelines
- +Color-management settings reduce inconsistencies across rendering outputs
- –No built-in RBAC or admin provisioning for multi-user governance
- –No native server-side audit log for scripted changes across teams
- –Automation is local to the desktop workflow rather than remote orchestration
- –Integration breadth is image-centric and does not model org-wide resources
Best for: Fits when teams need local art automation and repeatable exports without server governance.
GIMP
raster editorOpen-source raster editor that supports tiling, filters, and drawing techniques used to generate and refine mandala textures.
Procedure plug-ins and Python scripting for repeatable batch edits on layered documents.
GIMP supports layered documents, selections, masks, paths, and multiple color models in one workspace, which enables repeatable composition and transformation. Automation can be driven with Script-Fu and Python scripts, and those scripts can batch process files through the same operations that users apply interactively. Extensibility is delivered via plug-ins that register procedures into the application, which supports workflow reuse across teams that share the same script set. Data exchange is primarily file-based through imports and exports, so integration depth is strongest when the pipeline already uses image artifacts.
A notable tradeoff is limited administration and governance because GIMP lacks built-in RBAC, tenant isolation, and an audit log for script execution. That makes cross-team control harder for environments that require centralized provisioning and approval workflows. This fits best when a team owns the workstation environment and needs consistent rendering, watermarking, resizing, or channel-specific image processing at scale.
- +Layered document model supports precise, repeatable composition workflows
- +Python scripting and Script-Fu enable batch processing and deterministic edits
- +Plug-in architecture exposes extensibility through registered procedures
- +Wide import and export format support fits file-based pipeline integration
- –No built-in RBAC, audit log, or tenant controls for governance
- –Automation surface is application-centric, not a service API
- –Batch throughput depends on local compute rather than managed workers
Best for: Fits when teams need repeatable image automation with scripts and file-based integration.
Blender
3D procedural3D creation suite that can model mandala geometry and render repeatable patterns using modifiers and procedural tools.
Datablock and node-tree model exposed through Python for programmatic scene and shader graph edits.
Blender’s core automation surface is Python, which can drive scene setup, batch rendering, compositor graph edits, and export steps through a consistent API. The data model is built around persistent datablocks and node systems, which supports repeatable configuration and programmatic provisioning of assets. Extensibility is delivered through add-ons and scriptable operators, which lets teams standardize workflows around specific asset or render pipelines.
A key tradeoff is the lack of centralized admin controls like RBAC and audit logs, so governance depends on how Blender is deployed and how project files are handled. Blender fits best when integration needs run through automation scripts, shared asset conventions, and CI-style batch processing rather than multi-tenant administration. Teams also need to manage version compatibility of add-ons and scripts when multiple artists and render nodes share the same pipeline.
- +Python automation controls rendering, exports, and scene construction via one API surface.
- +Datablock-centric data model supports reusable materials, rigs, and node graphs.
- +Compositor and shader node trees are editable through scriptable graph access.
- +Add-ons and operators enable workflow provisioning for specific production steps.
- –No built-in RBAC or audit log for administrative governance across teams.
- –Project-file driven workflows require strong version control discipline.
Best for: Fits when teams need scripted visual pipeline automation without centralized admin requirements.
Adobe Illustrator
vector designVector design tool used for mandala creation via Bezier paths, pattern tools, and scalable SVG exports.
Illustrator scripting and ExtendScript automation for programmatic artboards, styles, and exports.
Adobe Illustrator is a design authoring tool for vector assets that integrates with Adobe Creative Cloud libraries and shared workflows. It supports an extensibility surface through the Illustrator scripting model and published scripting APIs, enabling automation of document generation and batch operations.
Its data model centers on artboards, layers, and vector objects, which makes it suitable for controlled production pipelines and repeatable export tasks. Administration and governance are tied to Creative Cloud identity and enterprise controls rather than an application-level RBAC and audit-log schema.
- +Extensive Illustrator scripting model for document automation and batch export
- +Artboards and layer structure supports repeatable production templates
- +Native imports and exports for common vector and print workflows
- –No application-level RBAC or fine-grained permission schema inside Illustrator
- –Limited audit-log depth for automated asset changes compared with enterprise DAM tools
- –Automation relies on scripting and local document context, not headless APIs
Best for: Fits when teams need controlled vector asset production and automation within Creative Cloud workflows.
CorelDRAW
vector designVector graphics editor that supports symmetrical drawing, pattern fills, and print-ready mandala layouts.
VBA macro automation for batch edits, repeatable styling, and exporting mandala document sets.
CorelDRAW edits vector and bitmap assets used for mandala artwork, with layers, effects, and export workflows that support production-grade illustration. Its automation surface centers on VBA scripting and macros inside the desktop application, plus extensibility through custom tools that can batch apply styles and transforms across multiple files.
The data model is file-centric, with artwork stored inside CorelDRAW documents rather than a separate schema with provisioning workflows. Integration depth for mandala workflows is mostly via import and export formats, rather than RBAC-backed collaboration, audit logs, or an admin-governed automation runtime.
- +VBA macros automate repetitive mandala strokes, shapes, and export steps
- +Layer and object model supports controlled symmetry and motif variations
- +Batch processing via automation reduces manual redesign across iterations
- +Extensible custom tool workflows integrate into the desktop authoring flow
- –No documented schema for artwork metadata outside the document file
- –Limited API surface for external systems and headless automation
- –Automation runs inside the desktop app, which constrains governance
- –Collaboration controls like RBAC and audit logs are not part of the authoring core
Best for: Fits when teams need local mandala design automation with desktop scripting and batch exports.
Affinity Designer
vector studioVector and raster hybrid design app used to create mandalas with precise shapes, curves, and scalable exports.
Vector layers plus symbols and styles for consistent, mirrored, and parameterized mandala construction.
Affinity Designer targets vector-first illustration and layout workflows with a project file data model built around shapes, layers, and styles. Integration depth is mostly internal to the Affinity ecosystem, with file interchange through common vector formats and scripting automation that depends on the Affinity desktop environment rather than a server-grade API.
Automation and extensibility focus on repeatable workspace actions, document styles, and batch-friendly export pipelines rather than external workflow provisioning. Admin and governance controls are limited compared with enterprise design-management systems because permissions and audit logging are not designed around RBAC and centralized review.
- +Vector layer model with styles and symbols for repeatable mandala patterns
- +Non-destructive editing supports rapid iteration without rebuilding geometry
- +Batch export via document and export presets supports high throughput
- +Color management and swatch reuse reduce drift across related designs
- –No published public API surface for external automation at scale
- –Limited admin controls for RBAC and centralized permission governance
- –Project files can be hard to validate and audit without internal tooling
- –Automation is desktop-centric and not designed for multi-tenant orchestration
Best for: Fits when small teams need consistent vector mandalas with repeatable export steps.
Procreate
tablet drawingiPad drawing app that supports layered workflows and symmetry drawing for hand-illustrated mandala designs.
Mirror and symmetry drawing tools for mandala construction across brush strokes.
Procreate provides a native iPad-first creative workflow with an export-centric integration model that supports downstream automation via files. Its data model centers on canvas, layers, masks, brushes, and reusable assets, with document-level metadata embedded in export artifacts.
Automation and API surface are limited because Procreate is primarily a local app with workflow support through iPad file sharing and third-party import-output paths. Administration controls and governance features like RBAC, provisioning, and audit logs are not available in a centralized admin plane.
- +Layered canvas data model supports complex mask and non-destructive edits
- +Reusable brush assets and stencil workflows reduce manual rework
- +High-fidelity exports support repeatable downstream processing pipelines
- +File-based handoff integrates with external tooling for automation
- –No public automation API limits integration depth with enterprise systems
- –No RBAC or admin provisioning model for multi-user governance
- –No audit logs for document access or export events
- –Automation relies on manual export and file workflows rather than schema-driven updates
Best for: Fits when solo artists or small teams need local mandala authoring with file-based handoffs.
Processing
generative codeJava-based creative coding environment for generating mandalas algorithmically with deterministic geometry and renderable output.
Sketch lifecycle with draw loop and event callbacks as the primary API surface.
Processing provides a Java-based creative coding environment with an API-first sketch model and a tight runtime for interactive graphics. It uses a small set of core classes for animation loops, input events, and drawing, which keeps the data model simple and predictable.
Integration depth is strongest through its Java toolchain, editor tooling, and export paths that turn sketches into embeddable apps and reusable libraries. Automation and extensibility come from standard Java build workflows and the ability to package sketches as code, with configuration captured in source and dependencies rather than admin consoles.
- +Event and draw loop APIs map directly to interactive animation workflows
- +Java toolchain enables packaging sketches into libraries and reusable modules
- +Source-based configuration keeps executions reproducible across environments
- +Extensibility via Java and Processing libraries supports custom render and input
- –No built-in RBAC, roles, or org-level provisioning controls
- –Limited automation surface for headless batch jobs without custom harness
- –No native audit log or governance trail for sketch execution changes
- –Data model stays sketch-centric, which complicates schema-driven integrations
Best for: Fits when teams need code-centric visual automation with predictable rendering and input handling.
TouchDesigner
node-based generativeNode-based visual programming tool that can generate real-time mandala visuals using feedback, geometry, and GPU pipelines.
Python API with custom operators to integrate external inputs and orchestrate state across a project graph.
TouchDesigner builds interactive visual systems and runs Python-driven automation inside a node-based dataflow network. Integration depth centers on its extensible operator graph, Media I/O modules, and Python scripting hooks that can drive UI, sensors, and external services.
The automation and API surface comes from its Python API, custom operators, and network messaging patterns used to synchronize state across projects. Admin and governance controls are limited to local project structure and user-facing preferences, with no built-in RBAC or centralized audit log features for multi-operator teams.
- +Python API lets projects drive external systems through scripted control
- +Custom operators and operator graph enable reusable integration patterns
- +Built-in media I/O modules support common interactive and capture workflows
- +Project-based configuration keeps deployment state tied to the network
- –No built-in RBAC or permissioning for multi-user administration
- –Limited governance artifacts like audit logs or change tracking
- –Automation relies on Python scripts that need engineering discipline
- –Networked deployments require custom synchronization patterns
Best for: Fits when teams need visual dataflow automation with Python control over interactive media pipelines.
Repetier-Host
3D printingHost software for controlling 3D printing workflows that can print mandala models once STL files are prepared.
G-code macro and command workflow for repeatable preheat, leveling, and print steps.
Repetier-Host provides tight integration between slicer workflows, printer control, and post-print monitoring in a single desktop client. Its data model centers on printer profiles, G-code sources, and device connection settings that map directly to repeated job execution.
The automation surface is primarily job-driven with G-code streaming, macros, and configurable triggers rather than a full web API and structured external schema. Admin governance is limited because it is not an RBAC-enabled server, but configuration and provisioning are repeatable through profile management and scripted G-code reuse.
- +Printer profile schema maps connection settings directly to job execution
- +G-code streaming enables interactive control during active prints
- +Macros and scripted commands support repeatable build workflows
- +Extensibility via plugins and configurable command sets
- –Desktop-first architecture limits multi-user governance and shared audit trails
- –Automation is G-code centric rather than event-first with structured APIs
- –RBAC controls are not designed for delegated admin roles
- –API surface for external systems is limited compared with server models
Best for: Fits when a single operator needs repeatable printer control with local automation and configuration.
How to Choose the Right Mandala Software
This buyer’s guide covers 10 Mandala Software options, including Krita, GIMP, Blender, Adobe Illustrator, and CorelDRAW.
It also addresses Procreate, Affinity Designer, Processing, TouchDesigner, and Repetier-Host with a focus on integration, data model, automation, and admin governance controls.
Mandala tools that automate pattern creation, exports, and repeatable production steps
Mandala software covers authoring tools and creative-coding environments used to generate, edit, and export mandala designs using layered documents, vector artboards, or procedural scene graphs.
These tools solve repeatability problems like consistent symmetry construction, deterministic batch processing, and repeatable export pipelines. Teams often use Krita for Python-driven document and export automation or use Blender for Python-driven scene construction and shader-node edits.
Evaluation criteria mapped to integration depth, data model control, and governance
Mandala workflows fail when the tool cannot express a consistent data model for layers, masks, vectors, or scene nodes across batches. They also fail when automation cannot be invoked reliably from scripts and when governance features like RBAC and audit trails do not exist for shared work.
This guide focuses on integration breadth, API and automation surface area, and admin and governance controls that affect multi-user throughput. Each criterion references concrete capabilities from Krita, GIMP, Blender, Adobe Illustrator, and CorelDRAW.
Automation via a programmable scripting surface
Krita’s Python scripting and plugin APIs can programmatically edit documents and automate exports, which supports repeatable pipelines. GIMP pairs Python scripting with Script-Fu procedures for deterministic batch edits on layered documents.
Data model consistency for repeatable exports
Krita exposes document, layer, mask, and color-management constructs in a consistent model so batch export steps remain predictable. Blender’s datablock-centric model and node-tree access via Python supports reusable configuration for materials and shader graphs.
Integration depth that goes beyond file import and export
Blender’s Python automation drives rendering and asset workflows through one API surface, which supports deeper automation than file-based interchange alone. TouchDesigner adds a Python API with custom operators and network messaging patterns used to synchronize state across a project graph.
Automation throughput that matches production execution patterns
GIMP and Krita automate locally through application scripting, so batch throughput depends on local compute and desktop execution. By contrast, Blender’s scripted scene and rendering controls support pipeline-level repeatability, but governance still depends on external process control because RBAC is not built in.
Admin and governance controls for multi-user collaboration
Krita, GIMP, Blender, Adobe Illustrator, and CorelDRAW each lack application-level RBAC and native audit-log depth for administrative governance within the authoring tool itself. That absence matters when multiple users need delegated permissions and change tracking across teams.
Extensibility model for custom workflow provisioning
Krita uses plugin APIs for custom filters, import and export handlers, and UI extensions, which supports pipeline-specific automation hooks. Processing and TouchDesigner extend through code packaging and operator graphs, which supports custom render and input logic for mandala generation.
A decision path for choosing the right mandala tool for automation and control
The first decision is whether mandala production needs local desktop scripting or code-driven automation with stronger integration primitives. Krita, GIMP, and CorelDRAW focus on desktop automation through Python, Script-Fu, and VBA macros, while Blender and TouchDesigner expose automation through programmable scene or operator graphs.
The second decision is whether shared work requires RBAC and audit logs inside the authoring system. None of the listed authoring tools provides built-in RBAC and a native multi-user audit trail, so the choice becomes about how much integration and configuration control can be achieved through scripting and external workflow governance.
Map the mandala artifact type to the tool’s data model
If mandala work depends on layered editing with masks and color management, choose Krita or GIMP because their layered document and mask constructs support repeatable pipelines. If mandala work depends on vector motifs and artboards, choose Adobe Illustrator or CorelDRAW because artboards, layers, and object models drive template-like production.
Select the automation path and confirm it matches the execution context
If automation must programmatically change documents and export sets, pick Krita because Python scripting and plugin APIs automate canvas state and export steps. If automation must batch edit layered images with repeatable procedures, pick GIMP because Script-Fu and Python enable deterministic asset generation.
Choose integration depth based on API-first orchestration needs
If the workflow requires deeper automation that can drive a render and asset pipeline through a single API, pick Blender because Python controls rendering, exports, and scene construction. If the workflow is a node-based interactive media system that must orchestrate external inputs, pick TouchDesigner because its Python API and custom operators synchronize state across a project graph.
Check governance requirements against built-in RBAC and audit logging
If delegated permissions and audit logs must exist inside the tool, none of Krita, GIMP, Blender, Adobe Illustrator, CorelDRAW, Affinity Designer, Procreate, Processing, or TouchDesigner provides application-level RBAC and native audit-log depth. If governance must be external, prioritize tools with strong scripting discipline like Blender Python or Krita Python so changes can be tracked through repository conventions and external logs.
Validate that extensibility supports the exact repeatable steps in the pipeline
If the pipeline needs custom export steps and import handlers, pick Krita because plugin APIs cover those integration points. If the pipeline needs custom operators or event-driven sketch behavior, pick TouchDesigner or Processing because their operator graph and draw loop callback model define how mandalas are generated and executed.
Which mandala workflows fit which tools based on automation and governance needs
Different mandala teams need different automation surfaces. Some teams need layered document scripting and predictable export control, while others need code-first procedural generation or node-based orchestration.
Governance needs split the field because none of the authoring tools in this list provides built-in RBAC and a native audit-log schema for multi-user admin control. That constraint pushes selection toward scripting discipline and external workflow control for teams.
Teams that require local layered automation and repeatable exports
Krita fits because Python scripting and plugin APIs automate document operations and export steps tied to layer and mask structures. GIMP fits because Python and Script-Fu procedures enable batch edits on layered images for deterministic asset generation.
Teams that need script-driven scene graph and shader-node configuration
Blender fits because Python automation controls rendering, exports, and scene construction through datablocks and node-tree structures. This supports repeatable production workflows without centralized admin features inside the application.
Creative teams that produce vector mandala assets inside Creative Cloud-like design processes
Adobe Illustrator fits because its scripting model and ExtendScript automation can programmatically generate artboards, styles, and exports. CorelDRAW fits because VBA macros support repeatable styling and batch exporting across a set of documents.
Interactive media and visual systems teams that need graph-driven orchestration
TouchDesigner fits because Python-driven automation runs inside a node-based dataflow network and custom operators synchronize state. Processing fits because a draw-loop and event-callback API supports code-centric visual automation with reproducible source configuration.
Solo artists or small crews that need iPad-first mandala authoring and file-based handoff
Procreate fits because mirror and symmetry tools support mandala construction across brush strokes and exports feed downstream file workflows. Affinity Designer fits small teams that need vector layers, symbols, and styles with batch-friendly export presets while keeping governance outside the app.
Pitfalls that break mandala pipelines when tooling and governance do not align
A common failure is choosing a tool with desktop-local scripting and then expecting a service-grade integration or multi-tenant admin plane. Krita, GIMP, Blender, Adobe Illustrator, and CorelDRAW each lack built-in RBAC and native audit-log depth for administrative governance across teams.
Another failure is assuming vector or raster export control alone solves reproducibility. Tools like Affinity Designer and Procreate support repeatable exports but provide limited published public API surfaces for external automation at scale.
Assuming RBAC and audit logs exist inside the authoring tool
Avoid planning delegated administration around Krita, GIMP, Blender, Adobe Illustrator, or CorelDRAW because none provides application-level RBAC and fine-grained permission schema with native audit logs. Build governance outside the authoring tool and use scripting conventions from Krita Python or Blender Python to support traceable change management.
Selecting a vector-first tool when the pipeline needs layered-mask color-managed automation
Avoid Adobe Illustrator or CorelDRAW when mandala production depends on consistent mask and color-management workflows, because Krita and GIMP model layers and masks for predictable filter and export pipelines. Choose Krita for color-management settings and GIMP for layered channel and selection processing.
Overestimating integration depth when automation is file-based
Avoid expecting headless or service API orchestration from Procreate, Affinity Designer, and CorelDRAW because their automation is desktop-centric and depends on file interchange. If deeper orchestration is needed, choose Blender for Python API automation or TouchDesigner for Python-driven operator graph messaging.
Picking a code tool but ignoring schema-driven integration constraints
Avoid Processing or TouchDesigner when the required integrations must align to a schema-like data model with provisioning workflows, because Processing stays sketch-centric and TouchDesigner’s governance artifacts are limited to project structure. Use these tools when code-centric reproducibility and graph-driven execution are the main requirements.
How We Selected and Ranked These Tools
We evaluated and rated the listed mandala software tools on three criteria tied to real production needs: feature fit, ease of use, and value. Features carry the most weight at forty percent while ease of use and value each account for thirty percent of the overall score.
The ranking reflects editorial research using the provided capability descriptions, scripting surfaces, data models, and governance limitations across the ten tools rather than hands-on lab testing. Krita separated itself through Python scripting plus plugin APIs that programmatically edit documents and automate exports, which lifted its feature fit strongly and supports repeatable pipelines even without built-in RBAC or audit logs.
Frequently Asked Questions About Mandala Software
Which mandala software supports script-based automation on layered artwork?
How do Blender and Processing differ for generative mandala workflows?
What tools provide the strongest file-based handoff when teams collaborate without centralized RBAC?
Which mandala tools fit controlled production pipelines that rely on enterprise identity controls?
How does extensibility work across TouchDesigner and Krita for automation?
Which option best matches parameterized mandala construction with reusable vector styles?
Why do mandala workflows break when expecting an API-first schema and provisioning model?
What are common technical limitations when using desktop mandala editors for admin controls and audit logs?
Which tool is best when mandalas end in physical printing and the workflow must repeat reliably?
Conclusion
After evaluating 10 art design, Krita stands out as our overall top pick — it scored highest across our combined criteria of features, ease of use, and value, which is why it sits at #1 in the rankings above.
Use the comparison table and detailed reviews above to validate the fit against your own requirements before committing to a tool.
Tools reviewed
Primary sources checked during evaluation.
Referenced in the comparison table and product reviews above.
Keep exploring
Comparing two specific tools?
Software Alternatives
See head-to-head software comparisons with feature breakdowns, pricing, and our recommendation for each use case.
Explore software alternatives→In this category
Art Design alternatives
See side-by-side comparisons of art design tools and pick the right one for your stack.
Compare art design tools→FOR SOFTWARE VENDORS
Not on this list? Let’s fix that.
Our best-of pages are how many teams discover and compare tools in this space. If you think your product belongs in this lineup, we’d like to hear from you—we’ll walk you through fit and what an editorial entry looks like.
Apply for a ListingWHAT THIS INCLUDES
Where buyers compare
Readers come to these pages to shortlist software—your product shows up in that moment, not in a random sidebar.
Editorial write-up
We describe your product in our own words and check the facts before anything goes live.
On-page brand presence
You appear in the roundup the same way as other tools we cover: name, positioning, and a clear next step for readers who want to learn more.
Kept up to date
We refresh lists on a regular rhythm so the category page stays useful as products and pricing change.
