diff --git a/.env b/.env
new file mode 100644
index 0000000000..4001b443e1
--- /dev/null
+++ b/.env
@@ -0,0 +1,2 @@
+KITSU_API_TARGET=http://localhost/api
+KITSU_EVENT_TARGET=http://localhost/socket.io
diff --git a/.gitignore b/.gitignore
index c0d0f99701..6e59593d87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
# Logs
-logs
*.log
npm-debug.log*
@@ -40,3 +39,6 @@ jspm_packages
docs/.vuepress/dist/
docs/.DS_Store
docs/ja/.DS_Store
+docs/.vitepress/dist
+docs/.vitepress/cache
+.wrangler
\ No newline at end of file
diff --git a/.postcssrc.js b/.postcssrc.js
deleted file mode 100644
index ea9a5ab875..0000000000
--- a/.postcssrc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// https://github.com/michael-ciniawsky/postcss-load-config
-
-module.exports = {
- "plugins": {
- // to edit target browsers: use "browserlist" field in package.json
- "autoprefixer": {}
- }
-}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..99176255d1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+## build
+
+```bash
+npm run build
+# or
+npm run docs:build
+```
+
+## development
+
+```bash
+npm run dev
+# or
+npm run docs:dev
+```
\ No newline at end of file
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/combine.js b/combine.js
new file mode 100644
index 0000000000..bfa4d6d56f
--- /dev/null
+++ b/combine.js
@@ -0,0 +1,139 @@
+const fs = require("fs");
+const path = require("path");
+
+const config = {
+ themeConfig: {
+ locales: {
+ "/": {
+ sidebar: [
+ {
+ title: "Introduction to Kitsu",
+ collapsable: false,
+ children: [["/", "Introduction"], "/configure-kitsu/", "/team/"],
+ },
+ {
+ title: "Create Your Production",
+ collapsable: true,
+ children: [
+ "/tvshow/",
+ "/feature/",
+ "/short/",
+ "/short-shot/",
+ "/short-asset/",
+ "/videogame/",
+ "/nft/",
+ ],
+ },
+ {
+ title: "Meta Columns, Filters and Production Settings",
+ collapsable: true,
+ children: ["/meta-column/", "/filter/", "/configure-prod/"],
+ },
+ {
+ title: "Assignments, Estimates and Scheduling",
+ collapsable: true,
+ children: ["/assignation/", "/estimation/", "/schedules/"],
+ },
+ {
+ title: "Statuses, Publishes, and Thumbnails",
+ collapsable: true,
+ children: ["/status/", "/publish/", "/thumbnails/"],
+ },
+ {
+ title: "Internal Review and Client Playlists",
+ collapsable: true,
+ children: ["/review/", "/review-weekly/", "/playlist-client/"],
+ },
+ {
+ title: "Supervisor Workflows",
+ collapsable: true,
+ children: ["/supervisor-team/", "/supervisor-tasks/"],
+ },
+ {
+ title: "Producer Workflows",
+ collapsable: true,
+ children: ["/production-report/", "/studio-report/"],
+ },
+ {
+ title: "Artist Workflows",
+ collapsable: true,
+ children: ["/artist/"],
+ },
+ {
+ title: "Developer Workflows",
+ collapsable: true,
+ children: [
+ "/custom-actions/",
+ "/bots/",
+ "/publisher/",
+ "/chat-integration/",
+ "/installation/",
+ ],
+ },
+ {
+ title: "Frequently Asked Questions",
+ collapsable: true,
+ children: ["/faq/"],
+ },
+ ],
+ },
+ },
+ },
+};
+
+const ROOT_DOCS = "./docs";
+const OUTPUT_FILE = "./combined-documentation.md";
+
+function resolveReadmePath(entry) {
+ // Entry can be a string like "/tvshow/" or "/" or an array like ["/", "Introduction"]
+ const routePath = Array.isArray(entry) ? entry[0] : entry;
+
+ if (routePath === "/") {
+ return path.join(ROOT_DOCS, "README.md");
+ }
+
+ // Strip leading/trailing slashes, then build path
+ const stripped = routePath.replace(/^\/|\/$/g, "");
+ return path.join(ROOT_DOCS, stripped, "README.md");
+}
+
+function combineMarkdown() {
+ const sidebar = config.themeConfig.locales["/"].sidebar;
+ const sections = [];
+ const missing = [];
+
+ for (const group of sidebar) {
+ // Add a section header for each group
+ sections.push(`# ${group.title}\n`);
+
+ for (const child of group.children) {
+ const filePath = resolveReadmePath(child);
+ const label = Array.isArray(child) ? child[1] : null;
+
+ if (fs.existsSync(filePath)) {
+ const content = fs.readFileSync(filePath, "utf-8").trim();
+ const comment = label
+ ? ``
+ : ``;
+ sections.push(`${comment}\n\n${content}\n`);
+ console.log(`✓ Included: ${filePath}`);
+ } else {
+ missing.push(filePath);
+ const note = ``;
+ sections.push(`${note}\n`);
+ console.warn(`✗ Missing: ${filePath}`);
+ }
+ }
+ }
+
+ const combined = sections.join("\n---\n\n");
+ fs.writeFileSync(OUTPUT_FILE, combined, "utf-8");
+
+ console.log(`\nDone! Combined file written to: ${OUTPUT_FILE}`);
+ if (missing.length > 0) {
+ console.log(`\n⚠ ${missing.length} file(s) were missing and skipped:`);
+ missing.forEach((f) => console.log(` - ${f}`));
+ }
+}
+
+combineMarkdown();
diff --git a/docs.md b/docs.md
new file mode 100644
index 0000000000..6ca37d0df8
--- /dev/null
+++ b/docs.md
@@ -0,0 +1,10894 @@
+# Getting Started With Kitsu
+
+With Kitsu, users can track various production projects, encompassing 2D and 3D production, VFX, video games, and other related endeavors.
+
+The content tracked by Kitsu can be as simple as still-frame advertisements, to extensive 3-hour feature films, accommodating projects with varying numbers of elements
+
+But before jumping into our production, we must first configure our **Studio Workflow**.
+
+## Studio Workflows
+
+### Understanding Studio Workflows
+
+::: warning Definition
+A workflow is defined as the structured coordination of tasks constituting the operational processes within a production.
+:::
+
+For example, within a CGI production, tasks such as modeling, rigging, and shading are undertaken to finalize an asset.
+
+::: warning Definition
+- Processes such as modeling, shading, etc., are referred to as a **Task Type**.
+- An individual objects such as asset, shot, etc., are called **Entities**.
+- A **task** can be defined as a specific action or activity that needs to be done. Tasks can be attributed to **entities** and will usually be categorized with a **task type**.
+
+:::
+
+Entities with corresponding tasks form foundation of your asset workflow. Each task will then be assigned to an artist. Once you have determined your assets workflow, you will do the same for the shots, sequences, etc.
+
+Once the workflow for tasks is defined, the next step involves establishing an **Approval Workflow**, which entails defining all the statuses utilized for communication within the team. Statuses will also be useful for tracking the progress of your production.
+
+The **Workflow** of your production is the sum of your Tasks and Status.
+
+### Global Library VS Production Library
+
+In Kitsu, you have two kinds of **libraries**:
+- The first is the **Global Library** at the studio level.
+Only the Studio manager has access to it.
+
+- The second is the **Production Library**, where you will pick elements created in the global library to fill out.
+
+The idea is to keep each production separated with a specific workflow.
+
+
+Your **Global Library** is where you can create and modify departments, task types, task statuses, asset types, and status automation. You can create as many elements as needed, name them as you wish, and select the best colors and options to suit your needs.
+
+Once your **Global Library** is populated, you can fill out the **Production Library** with the newly created elements from the **Global Library**.
+
+## Departments
+
+### Creating Departments
+
+Departments are designed to help supervisors and artists focus on their tasks. Once a user is linked to one or more departments, supervisors and artists gain direct access to a filtered view of all tasks associated with that task type. Departments are also used to define what metadata columns appear for users within that department.
+
+If a metadata column is linked to a department, then they will only show up for users in that department. If a metadata column is not associated with a department, they will show up for everyone.
+
+::: tip
+By default, Kitsu provides some example departments to help you get started.
+:::
+
+Defining your studio's Departments is typically the first step in setup, as multiple objects such as people and task types are linked to a department.
+
+On the main menu  select the
+**Department** page under the **Admin** section.
+
+
+
+
+If you need to create more departments, you can click on the  button.
+
+When adding a department, you need to define:
+
+- The name of the department
+- A color (it will be displayed as a small round circle next to a column task type or a custom column)
+
+
+
+Click on **Confirm** to save your changes.
+
+Once you finish creating the department, your page should look like this. Whereby each department has a unique name and corresponding color.
+
+
+
+
+## Task Types
+
+### Creating a New Task Type
+
+Next, let's create all the **Task Types** needed to manage and track our production. Task types could be associated with multiple entities such as assets, shots, sequences, episodes, or edits.
+
+
+From the main menu  select
+the **Task Types** page under the **Admin** section.
+
+
+
+::: tip
+By default, Kitsu provides some example task types that can be used for a CGI production. You can rename or remove any that are not relevant to your production.
+:::
+
+You will notice that these **Task Types** are already linked to a department.
+
+
+
+You can click on the 
+button to create new **Task Type**.
+
+Next, you will need to supply some information about your task type, including:
+
+- The name of the task type
+- If team members need to time log their work for tasks with this task type
+- For which entity it will be used
+- To which department it should be linked
+- The color (this will be reflect in the background color on the main spreadsheet page)
+
+
+
+You'll notice that the **Departments** we created previously are available as an option to link task types to. Connecting a department to a specific task type can help your team stay organized.
+
+
+
+Click on **Confirm** to save your changes.
+
+::: warning
+Newly created task types will appear at the bottom of the list
+:::
+
+To adjust the order, simply click on the **Task Type** and drag it to its appropriate position in the list.
+
+
+
+
+Congratulations, your task type has now be created in your **Global Library**.
+
+::: warning
+Once you have created your production, you need to add the **Sequence**, **Episode**, and **Edit** task types to your **Production Library**.
+:::
+
+::: tip
+At any point during production, you can revisit this section to create additional **Task Types** as necessary and add them into your workflow.
+:::
+
+## Asset Types
+
+### Define Your Asset Workflow
+
+Once you have created your global Workflow, you can then define your **Asset Types**
+
+Much like how shots can be organized by a sequence, an asset can be organised by it's **Asset Type**. Think of it as using folders to organize all your assets by category.
+
+On the main menu  select the
+**Asset Type** page under the **Admin** section.
+
+
+
+::: tip
+By default, Kitsu provides some example asset types that can be used for a CGI production.
+:::
+
+
+
+To create new **Asset Type**, click on the  button.
+
+Next, you will need to supply some information about your **Asset Type**, including:
+
+- The name of the asset type
+- A workflow for the specific asset type
+
+Different Asset Types will have distinct workflows. For instance, you might have fewer tasks for an Environment compared to a Character, as Environment assets typically don't require Rigging tasks.
+
+
+
+When you **create** or **edit** an **Asset Type**, you can add a specific **task type**; if you don't select a specific workflow for this asset type, your production asset workflow will be applied.
+
+However, if you choose specific Task types for this Asset type, only these will be applied to production.
+
+Click on **Confirm** to save your changes.
+
+Your new **Asset Type** is now created in your **Global Library**. It will be available to use when you create your production.
+
+::: tip
+At any point during production, you can revisit this section to create additional **Asset Types** as necessary and add them into your workflow.
+:::
+
+## Task Statuses
+
+### Define Your Approval Workflow
+
+Next, let's create the statuses we intend to use during our **Approval Workflow**.
+
+On the main menu  select the
+**Task Status** page under the **Admin** section.
+
+
+
+::: tip
+By default, Kitsu already provides some examples Statuses.
+:::
+
+
+
+A status represents a specific stage or condition that a task or must pass through as part of the review and approval process.
+
+For example, the **Ready**  status indicates that the artists have everything they need to start working and should not begin their tasks without reaching this status.
+
+**WIP** : The **Work in Progress** status is used by artists to inform their team that they are actively working on the task, indicating that there is no need to assign it to someone else.
+
+**WFA**: The **Waiting-For-Approval** status is used by artists to notify their supervisors that they have completed their work and are awaiting review. Supervisors can also use a similar status to inform directors that work is ready for review.
+
+**Done** : The **Done** status indicates that all work has been completed & approved. This indicates that the current task is complete and the next step in the process can commence.
+
+**Retake** : The **Retake** status indicates that a comment has been made, prompting the artists to continue working on their task and publish a new version until validation is achieved.
+
+These **statuses** are just examples of what is achievable in Kitsu. You are free to create your own as needed.
+
+To do this, from the main page, click on the  button.
+
+You'll then need to define some details about you **Task Status**, including:
+
+
+
+- **NAME**, the explicit name of the status that will be displayed when you hover your mouse over it in the.
+- **SHORT NAME**, what will be displayed in Kitsu.
+- **IS DEFAULT**, the first status that Kitsu will display by default on all tasks. You can only have **ONE** default status in Kitsu.
+- **IS DONE**, if this status is utilized to validate a task (which is beneficial for quota management, organizing the to-do list, and updating episode statistics).
+- **HAS RETAKE VALUE**, if this status is used for commenting on a task (helpful for tracking the back-and-forth discussions on the task type page and for the episode stats page).
+- **IS ARTIST ALLOWED**, are artists allowed to set tasks to this status? If **No**, the artist won't see this status in their list of available statuses. However, they can still post comments on it.
+- **IS CLIENT ALLOWED**, Can the client use this Status? If **No**, the client won't see this status in their list of available statuses.
+- **IS FEEDBACK REQUEST**, if this status is used to request a review (helpful for quota tracking if you don't use a timesheet, it will appear in the Pending tab of the to-do list, and all these statuses will be grouped on the **My Check** page. Kitsu will prompt you to **publish a preview** each time you use this status).
+- Finally, choose a background **color** you prefer for this status.
+
+Click on **Confirm** to save your changes.
+
+Your **Status** is now created in your **Global Library** and will be available to use in your production.
+
+::: tip
+At any point during the production, you can return here and create more **Task Status** if needed,
+and then add them to your production.
+:::
+
+::: warning
+You'll notice a few tasks statuses listed under the category of *Concept Status*. These are used by the system and while you can modify them here, you cannot create new ones.
+:::
+
+## Automation
+
+### Create a New Status Automation
+
+A **Status Automation** defines rules or conditions that automatically trigger changes in the status of tasks based on predefined criteria. You can set up **Status Automation** for both asset and shot tasks.
+
+For assets, you can establish **Status Automations** between tasks. For example, when the concept task status is set to `done`, the downstream modelling task status is automatically changed to `ready`.
+
+Additionally, you can create **Status Automations** that update the **Asset Status** based on task statuses. For example, when the concept task is set to `done` , then the linked asset status is set to ``layout``.
+
+::: tip
+You can also ask Kitsu to **copy the latest preview** with the Automation.
+:::
+
+Go to the main menu  and select **Automation**.
+
+
+
+From this page, you can create **Status Automations** by clicking the **+Add status automation** button.
+
+
+
+You have the option to create **Status Automation** for either the **asset** or the **shot**.
+
+Next, you can select the **task type** and the **status** that will trigger the Automation.
+
+You can specify which **Task Type** will respond to the Automation and select the **Status** that will be changed.
+
+
+
+You need to change the trigger from "Status" to **Ready For** in order to initiate the change in **Ready For** status.
+
+You will notice the **Applied Task Type** will now display **Shot task type**.
+
+
+
+To create a **Status Automation** for shots, you must change the **Entity Type** to shots.
+
+Your new **Status Automation** is now created in your **Global Library**.
+
+::: warning
+You must add status automations to your **Production Library** once you have created your production.
+:::
+
+::: tip
+At any point during the production, you can return here and create more **Status Automations** if needed, and then add them to your production.
+:::
+
+## 3D Backgrounds
+
+### Create a Global Library of HDR Files
+
+The 3D Backgrounds feature enhances your review of 3D files (`.GLB`) by incorporating an `.HDR` background to make things easier to review.
+
+The `.GLB` file format is a binary container that encompasses various 3D assets and resources. These assets may comprise 3D models, textures, materials, and animations.
+
+::: warning Definition
+It means you can review your 3D files with lighting information.
+:::
+
+In this section, you can create your own. `.HDR` files library that you can use in your production.
+
+Go to the main menu , and select **3D Backgrounds**.
+
+
+
+
+From here, you can add a `.HDR` Background by clicking the **+Add a new background** button.
+
+
+
+
+From this point, you'll need to select your `.HDR` background, provide a name for it, and decide whether you want this `.HDR` to serve as the default background.
+
+::: tip
+Checking the `Is Default` option means this HDR will be applied across your entire production instead of the default grey background.
+:::
+
+
+
+Once you have uploaded all your `.HDR` files, Kitsu will display them as a list.
+
+
+
+
+Your new **3D Background** is now created in your **Global Library**.
+
+::: warning
+You must add them to your **Production Library** once you have created your production.
+:::
+
+## Asset Library
+
+### What is the Asset Library?
+The Asset Library serves as a centralized repository for all assets used within Kitsu. Teams can import assets from any project into a shared library, making them accessible for future productions. With this functionality, assets like character models, props, environments, and more can be managed in one place and repurposed seamlessly in new projects.
+
+### How to Use the Asset Library
+
+
+
+- You can access the Asset Library from the **Studio** section of the main Kitsu menu.
+- The main Asset Library window displays all assets currently available in the library (1). Use the search (2) and filter (3) options to quickly find specific assets within the library.
+- On the right-hand pane (4), you’ll find the import option for bringing in assets from other productions into the Asset Library.
+
+### Adding Assets to the Library
+
+
+
+The right-hand pane is where you can add existing assets from other productions into the library. This action does not create a copy but simply references the original asset, allowing it to be used in other productions.
+
+To import an asset:
+- Select the production you wish to import the asset from (1).
+- Choose the asset type you’d like to import (2).
+
+There are three main ways to import assets:
+- Import all assets from a specific production (3).
+- Import assets by type from the selected production (4).
+- Select individual assets for import (5).
+
+Once imported, the asset will be available for use in breakdowns for other productions, allowing for efficient asset reuse across projects.
+
+::: tip
+There are specific rules around who can import assets into the asset library, depending on the user’s permission group:
+
+- **Studio Manager**: Can import any assets from any production.
+- **Production Manager**: Can import assets only if they are part of the team.
+- **Supervisor** and **Artist**: Cannot import assets into the library.
+:::
+
+## Settings
+
+### Configuring Kitsu
+
+Several global settings can be configured that apply to your studio, such as replacing the default Kitsu logo with your studio's logo.
+
+To do this, click on the main menu button
+, then under the **Admin** section, click on the **Settings**.
+
+
+
+### Studio Settings
+
+Click on the **Set studio logo** and select an image to use. This will replace the Kitsu logo on your site and in various places across the app. You can also change the **Studio Name** to be used in your Kitsu instance.
+
+
+The remaining settings on this page are global settings that affect every production. Some of these include:
+
+- How many hours per day should your team be working.
+- You can opt to use original file names for downloads.
+- Display images in HD quality by default. Use this option only if you have a very fast internet connection.
+- Regarding the timesheet, you can also restrict artists from modifying timesheets older than one week.
+
+
+
+Finally, you will also find settings relating to various chat integrations. Please refer to [Chat Integration](../chat-integration) section for more information on how to configure this.
+
+::: warning
+Remember to **Save Settings** at the end once you are finished.
+:::
+
+# Preparing Your Team
+
+Now that you have defined your workflow, it's time to organize your team so you have people to assign tasks to.
+
+We will learn how to add users to Kitsu, link them to departments, grant them permissions, and finally, add them to a production team so that they can begin working.
+
+## Creating Users
+
+### Creating Users and Linking Them to Departments
+
+To assign tasks to people, you first need to create an account for them in Kitsu.
+
+
+::: warning Definition
+As with other aspects in Kitsu, there are two libraries for users:
+- The **People Page** (Global Library) is used to determine users' permissions, contracts, and departments they belong to.
+- The **Team Page** (Production Library) is used to define who is working on a project and provide access to the production.
+:::
+
+
+Go to the **Main Menu** , and under the **STUDIO**
+section, choose **People** page.
+
+
+
+Then, click on the  button.
+
+
+
+You will then be prompted to enter the following information: (please note from of the fields are required in order to create the user)
+- 1) First Name (**MANDATORY**)
+- 2) Last Name
+- 3) Email (**MANDATORY**)
+- 4) Phone Number
+
+::: danger Important!
+An email address is **mandatory** and must be unique in order to create an account.
+:::
+
+- 5) You can specify one or multiple **Departments** to link a user to.
+
+Being assigned to a Departments will also affect what shows up on the **My Checks** page, displaying only tasks related to your department.
+
+Finally, the timesheet page will be filtered to only tasks within your department as well.
+
+::: details Some more details about Departements
+Once a user is linked to a department, various options will become available to them. For example, they will have direct access to their department's view on the global homepage.
+
+The department supervisor will be able to comment on all tasks within their department and assign tasks only to people from the same department(s).
+
+
+:::
+
+- 6) Role: This is where you will define the permission role of the user (this will be explained below).
+
+- 7) Active
+
+This section lets you choose whether to activate users immediately. If the user needs immediate access to Kitsu, set this to **yes**. However, there might be instances where you want to create a user but are not ready to give them access to Kitsu (for example, if you want to schedule tasks for an artist who is due to start work in two weeks). In this case, you can create and schedule the user, then simply enable them once they start.
+
+::: danger Important!
+Each user requires an individual account to log in to Kitsu.
+:::
+
+## Permission Roles
+
+### Understanding Permission Roles
+
+::: warning Definition
+A permission role defines a set of access rights and privileges granted to a user within a system or application, dictating what actions they can perform and what resources they can access.
+:::
+
+Roles are very important, so it's useful to understand what each of them does and which ones might be relevant to specific team members. Click into each of the sections below to learn more about each permission role.
+
+- **Artist**
+::: details Artist Permissions
+Artists can only access the productions they are part of. They can comment on tasks, upload media, and change statuses only on tasks that have been assigned to them. Their access is limited to a predefined set of statuses as determined by the Studio Manager.
+
+**They can:**
+* Create personal filters on the global page and Task Type page.
+* Edit their own comments.
+* Check the checklist on their assigned tasks.
+* Create playlists-on-the-fly for shots or assets, but won't be able to save these playlists.
+
+**They cannot:**
+* See client comments.
+* Access anything inside of projects that they haven't been assigned to.
+
+When an artist logs in to Kitsu, the first page they will see is their **My Tasks** page.
+
+
+:::
+
+- **Supervisor**
+::: details Supervisor Permissions
+Department supervisors inherit Artist permissions.
+
+Department supervisors have read and write access to their department(s) they work on:
+assets, shots, tasks, assignments, statistics, breakdown, and playlists.
+
+**They can:**
+* Assign tasks to their team artists (same department).
+* Post comments on all tasks or their department(s).
+* Check a checklist in their own department.
+* Pin a comment.
+* Edit their own comments.
+* Add/edit a playlist for the studio or the client.
+* See client comments and validations.
+* See comments from other departments.
+* View the timesheets of their team department(s).
+
+**They cannot:**
+* Access the studio team, the main timesheets, and the production list
+* Define task types, task statuses, and asset types.
+* Comment on other departments than theirs; they can't assign artists from other departments.
+:::
+
+- **Production Manager**
+::: details Production Manager Permissions
+Production managers inherit Department supervisor permissions.
+
+Production managers have read and write access to the productions they are assigned to, including
+assets, shots, tasks, assignments, statistics, breakdowns, and playlists.
+
+**They can:**
+
+* Create assets and shots, either manually or through a CSV batch import.
+* Post comments on any tasks within the production.
+* Edit any comment within the production.
+* Check any checklist within the production.
+* Pin any comment within the production.
+* Add a task column.
+* Delete or add a task.
+* Add/edit a playlist for the studio or the client.
+* See client comments and validations.
+
+**They cannot:**
+
+* Access the studio page, the main timesheets, and the production list.
+* Define task types, task statuses, and asset types.
+:::
+
+- **Studio Manager**
+::: details Studio Manager / Administrator Permissions
+A Studio Manager acts in the same way as an Administrator, having read and write access to all productions and settings within Kitsu. Some of their privileges include:
+
+#### Create and edit a production
+
+The Studio Manager can create a new production, define its type, FPS, ratio, and resolution, and add a cover picture. They can also edit and delete any production.
+
+#### Manage the studio
+
+The Studio Manager has access to everything in the studio, including:
+
+* Read / write access across all the productions
+* Access to the global timesheets page
+* The ability to view all people in the studio
+* Access to the main schedule
+
+In the People page, The Studio Manager **defines the permission role of each user**.
+
+They can also:
+
+* Customize global aspects of Kitsu: for example adding and modifying task types, task statuses, and asset types.
+* Set permission roles
+* Customize high-level studio information, such as customizing the studio name adding the company logo, and defining the number of hours per day of work etc.
+* Choose to use the original filename for downloading media.
+
+#### Manage productions
+
+They have full access to all productions on your Kitsu site. Additionally:
+
+* They have the same permissions as the supervisor.
+* They can add / delete a task column.
+* They are allowed to create custom metadata columns.
+:::
+
+
+- **Vendor**
+::: details Vendor Permissions
+Vendors have similar permissions to artists. The main difference is that while an artist can still see tasks in their production (though they can only edit tasks assigned to them), a vendor can only see and edit tasks that they are specifically assigned to. Everything else that is not assigned is hidden.
+:::
+
+- **Client**
+::: details Clients Permissions
+The client can only see the production of which they are part of.
+
+**They can:**
+
+* Access the global page of the assets/shots.
+* Access the stats pages.
+* Access Client playlists with limited access to task status when they post a comment
+
+**Note**
+* Only Supervisors and the Studio Manager can see the Client retake or validation status.
+
+
+**They cannot:**
+
+* See task assignments
+* See comments that they didn't write
+:::
+
+
+::: details Add Employees from a CSV Spreadsheet File
+
+You may already have your employee list ready in a spreadsheet file. With Kitsu, you have two ways to import them: importing a `.csv` file directly or copy-pasting your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the People page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** will open. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the column names using the preview of your data.
+
+**Note:** The **Role** column is not mandatory.
+
+
+
+Once everything looks good, click on the **Confirm** button to import your data into Kitsu.
+
+Now, you have all your people imported into Kitsu.
+
+
+
+:::
+
+## Two-Factor Authentication
+
+### Add Additional Security to Your Studio
+
+**Two-Factor Authentication** provides an additional layer for security for users logging in to Kitsu. It can be enabled on a per-user basis, so you can decide for which users it is enforced.
+
+To enable this, click on their avatar at the top right of the screen, then select **Profile**.
+At the bottom of the page, they will find various **Two-Factor Authentication** options.
+
+### Available Two-Factor Authentication Methods
+
+- **TOTP**: This lets you use a Two-Factors Authentication app as a secondary password for your account. Selecting this option will present you with a QR, that once scanned into your 2FA app of choice, will prompt you for a one-time code each time you login.
+- **OTP Via Email** Similar to TOTP, but instead of using an app the 2FA code is sent to your email address
+- **FIDO Device** A FIDO device refers to a hardware security key that supports the FIDO (Fast IDentity Online) standard for two-factor authentication (2FA). If you own one of these devices, you can input it's name here to be used for Two-Factor-Authentication
+
+
+
+## Adding Users to the Team
+
+Once you have created your production, you need to add users to the production's team to allow them access. Being part of a team also allows tasks to be assigned to you.
+
+::: tip
+You don't need to add the Studio Manager role to a team to give them read permission (since this role will have access to it anyways). However, if you want to assign them tasks, they will need to be added to the team.
+:::
+
+To add users to a team:
+
+1. On a production, use the **navigation** dropdown menu at the top of the page and select the **TEAM** page.
+
+ 
+
+2. On the **Team** page, you can see all the assignees for a specific project. Switch to the top of the page if you want to check another project team.
+
+ 
+
+# Create Your Production
+
+# Create a TV Show Production
+
+Now that you have designed your workflow in Kitsu and invited additional team members, it's time to create your production.
+
+Click on the **Create a New Production** button.
+
+
+
+Enter your production name, choose **TV Show** as the **type**, and select the style of your production (2D, 3D).
+
+Next, fill in the technical information, such as the number of FPS, the aspect ratio, and the resolution.
+
+::: warning
+All this data will be used when Kitsu re-encodes the video previews you upload.
+:::
+
+Next, define the start and end dates for your production.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
+
+
+
+::: tip
+To create your **Production Workflow**, select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+[See Getting Started With Kitsu](../configure-kitsu)
+:::
+
+Then, steps 7 and 8 are optional. If you already have a spreadsheet with your assets or shots, refer to the **import CSV** section for more details.
+
+Validate everything with the  button.
+
+## Introduction to Kitsu's Global Page
+
+Welcome to Kitsu's global asset page. Let's take a look around.
+
+
+
+At the top, you’ll find the **global navigation**, which remains visible across all production pages.
+
+**From left to right:**
+
+### Main Menu
+
+By clicking on the top left button, Kitsu  (or your Studio logo), you will open the Main Menu.
+
+In the Main Menu, you’ll have direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- **My Tasks:** Your assigned tasks.
+- **My Checks:** All tasks with the status **Is Feedback Request**, depending on your department(s).
+- **My Productions:** Return to the production selection page.
+
+**STUDIO**
+- **Productions:** List of all productions (opened or closed) with details.
+- **People:** List of all the people (active or not) in your studio with information.
+- **Timesheets:** Details of the time entered by the team across productions.
+- **Main Schedule:** All your productions in one schedule.
+- **Team Schedule:** Schedule of all the people in your studio and their tasks.
+- **All Tasks:** Access all tasks across all productions at once.
+- **News Feed:** Stay updated on what happened.
+- **Entity Search:** Find any assets or shots across productions.
+
+**ADMIN**
+- **Departments:** Create and edit departments.
+- **Task Types:** Create and edit task types.
+- **Asset Types:** Create and edit asset types.
+- **Custom Actions:** Create and edit custom actions.
+- **Automation:** Create and edit automation.
+- **3D Backgrounds:** Add HDR backgrounds.
+- **Bots:** Create and edit bots.
+- **Settings:** Set up your studio.
+- **Logs**
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artists (and above) can also see their own **Timesheets** and have access to the **Entity Search**.
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu to the right of the main menu icon.
+
+
+
+You can choose between different productions. The name of the current production and the current page are always displayed.
+
+Use the dropdown menu to navigate from one production to another if you have several. Once you have selected a production, the next dropdown menu will help you navigate through the different pages of that production.
+
+::: details Navigation Details
+The first section is about tracking your tasks:
+- **Assets**
+- **Shots**
+- **Sequence**
+- **Episodes**
+- **Edits** (If you have created specific tasks)
+
+The second section focuses more on the production side:
+- **Concepts**
+- **Breakdown**
+- **Playlists**
+- **News Feed**
+
+The third section is about statistics:
+- **Sequence Stats**
+- **Episodes Stats**
+- **Asset Type Stats**
+
+The fourth section is related to team management:
+- **Schedule**
+- **Quotas**
+- **Team**
+
+The fifth section is about the settings of your production:
+- **Settings**
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see settings page).
+:::
+
+::: warning
+If you realize you don't need an extra level of navigation, such as **Episodes**, you need to change your production type to **Short**.
+:::
+
+### Global Search, News, Notification, and Documentation
+
+To the right of the navigation dropdown menu, you’ll find the global search. This quick-access feature shows the first four results. For more results and filtering options, visit the **Entity Search** page in the Main Menu.
+
+The next icon  is a direct link to our news and feedback page. Here, you can view all the new features, complete with animated GIFs, and also submit suggestions for the next feature you’d like to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button , which you are reading right now!
+
+
+### Personal Settings
+You can click on your avatar to open your profile menu (Profile, Color Theme, Video tutorials, etc.).
+
+
+
+## The Tasks Spreadsheet
+
+### Entity Spreadsheet
+
+The second part of the screen is common to all entities (Asset, Shot, Sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you can see the status, assignment, priority, and other details for each task.
+
+::: tip
+The first row and column header of the spreadsheet always remain at the top of the page, even when you scroll down.
+
+You can also **stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, such as sequence, asset type, etc.
+
+For more advanced filtering, please use the filter builder button.
+
+
+
+You can save all the filters and use them as your pages.
+
+### Simplify the Display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignment, hide or display the extra column, enlarge or reduce the thumbnail.
+
+
+
+### Import / Export
+
+Here we have the Batch import thumbnail , and finally import  or export  data.
+
+### Metadata Column
+
+Below, you have the name of the column. The (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the View
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display an extra column (everything but the task type).
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+
+
+## Create an Asset
+
+### Create Your First Asset
+
+Now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
+
+On the asset page, click on **Add Assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all tasks will be created simultaneously**.
+:::
+
+A pop-up window opens:
+
+- It asks you to choose the **Asset Type** (1). If you haven't added a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props. Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the task pipeline. [See Asset Types Workflow](../configure-kitsu#specific-asset-types-workflow)
+:::
+
+Link this asset to an Episode (Kitsu provides the **Main Pack** by default, which is not editable or removable) and select a first episode to help you get started **E01**. You can rename or delete E01.
+
+- Give it a **Name** (3) and enter a description to help the artist know what to do and quickly identify the asset.
+
+- Click on **Confirm and Stay** if you have multiple assets to create.
+
+
+
+You can change the asset type and continue adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and Stay**.
+:::
+
+After adding your last asset, click on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and Stay** but realize you don't have more assets to add, click on **Close**, and the window is canceled.
+:::
+
+
+
+You will also see that the tasks selected for your asset's workflow are created at the same time.
+
+If you need to add more **Assets**, click the **+ Create Assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them: the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import Data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the column names by previewing your data.
+
+Note: the **Episode** column is only mandatory for a **TV Show** production.
+
+Once everything is correct, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the tasks according to your settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import Data from a CSV** opens; click on the **Paste a CSV Data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the column names by previewing your data.
+
+Note: the **Episode** column is only mandatory for a **TV Show** production.
+
+Once everything is correct, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the tasks according to your settings.
+
+
+:::
+
+### Viewing Details of an Asset
+
+To see the details of an asset, click on its name.
+
+
+
+A new page opens with the list of tasks, assignments, and status updates on the right.
+
+
+
+You can click on the status of each task to open the comment panel and view the history of comments and different versions.
+
+
+
+You can also access the following:
+
+- **Casting**
+
+
+
+- **Concepts** linked to this asset
+
+
+
+- The **Schedule** is available if you have previously filled out the task type page data. If the data has already been filled out, you will be able to modify them directly here.
+
+
+
+- The **Preview Files** uploaded at various task types
+
+
+
+- And the **Timelog** if people have filled out their timesheets on the tasks of this asset.
+
+
+
+## Update Your Assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+To edit assets, go to the asset page, hover over the asset you want to modify, and then click on the **Edit** button  (1) on the right side of the line.
+
+
+
+To view the full description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignment**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated will be highlighted in blue.
+
+
+:::
+
+::: details Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon .
+
+A pop-up window **Import Data from a CSV** opens; click on the **Paste a CSV Data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated will be highlighted in blue.
+
+
+
+Now, you have imported all your assets into Kitsu and updated the tasks according to your settings.
+
+
+:::
+
+## Add More Tasks After Creating the Assets
+
+If you realize **after** creating the assets that tasks are missing, you can still add them.
+
+First, ensure that the missing task type is added in the settings page under the task type tab (otherwise, [See Getting Started with Kitsu](../configure-kitsu)).
+
+Then, go back to the asset page and click on **+ Add Tasks**.
+
+## Create a Concept
+
+### Upload a Concept
+
+To create a **Concept**, navigate to the **Concepts** page using the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view. The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it. You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+
+To link an asset, click on it. The linked assets' names will appear at the top of the screen under the preview of the concept.
+
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Create a Shot
+
+### Create Your First Shot
+
+It's time to create **shots** for your production.
+
+::: warning
+**Shots** are linked to a **Sequence** which is also linked to an **Episode** in Kitsu.
+This means you must create an episode, then a sequence, and populate this sequence with shots.
+:::
+
+Navigate to the **Shots** page using the dropdown menu and click on **SHOTS**.
+
+
+
+Click on the **Add Shots** button to start with shot creation.
+
+
+
+::: warning
+When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
+
+[See Getting Started With Kitsu](../configure-kitsu)
+:::
+
+A new pop-up opens for the creation of the shots.
+You can now create Episodes, sequences, and shots.
+
+Kitsu provides a first episode as an example **E01**; you can select it and add to it your first sequence, for instance, sq01,
+then click **Add**.
+
+Now, you can see your sequence has been created. To add shots to this sequence, you need to select it and create your shots.
+
+For example, type sh0010 in the shots column, then click **Add**.
+You can also define padding for your shots.
+
+::: tip
+If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
+:::
+
+
+
+You can now see that new shots are listed and linked by their sequence, and the shelves are linked to the Episode.
+You have created the first shot of the first sequence of the first Episode.
+
+Now, let's add more shots than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **Add** to
+create more shots.
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on **Add**.
+Your second sequence is selected, and you can now add shots.
+
+You can follow the same process to add more episodes.
+
+Once you create a new episode, it will be selected and created sequentially.
+Once the sequence is created, it will be selected, and you can create shots on this sequence.
+
+::: tip
+If a shot is misplaced on a sequence, you have to edit the shot
+, and change the
+sequence.
+
+**But you can't change the Episode of a shot.**
+
+
+
+
+:::
+
+## Create Shots from an EDL File
+
+You may already have your shots list ready in an **EDL** file. With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, and Frame in and out.
+
+On the **Global Shot Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_sequence_shot.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
+
+You can import the EDL file once you are set with the naming convention.
+
+Then click on **Upload EDL**.
+
+Then Kitsu will create the shots.
+
+
+
+::: details Create Shots from a CSV Spreadsheet File
+You may already have your shots list ready in a spreadsheet file. With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, return to the shot page on Kitsu and click the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+::: details Create Shots by Copying / Pasting a Spreadsheet File
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+### See the Details of a Shot
+
+If you want to see the details of a shot, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+You can also access the **Casting**,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Update your shots
+
+You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
+
+You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Shots Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation**and the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated shots will be in blue.
+
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+## Add more tasks after creating the shots
+
+If you realize after creating the shots that the task is missing, you can still add them.
+
+First, ensure the missing task type is added to the settings page under the task type tab (otherwise, http://localhost:8080/tvshow/#update-your-shots)).
+
+Then go back to the shot page and click on + Add tasks.
+
+## Adding Frame Numbers and Ranges to Shots
+
+At this stage of production, the animatic should be complete. This means you have the duration (number of frames) and the frame range (Frame In and Frame Out) for each shot. You can input this information into the spreadsheet to ensure accurate frame calculation without any missing or redundant frames.
+
+::: warning
+If you've manually created your shots and sequences, the Frame column might be hidden. To reveal it, you need to edit at least one shot and input the number of frames. Alternatively, if you've imported the number of frames via CSV/spreadsheet, the Frame column will be visible.
+:::
+
+To add frame range information to shots, follow these steps:
+
+1. **Edit Shots:** Click on the edit button () located on the right side of the shot line.
+
+ 
+
+2. **Input Frame Range:** In the editing window, enter the In and Out frames for the shot, then save by clicking the Confirm button.
+
+ 
+
+ The frame range will now be displayed on the general spreadsheet of the shot page.
+
+ 
+
+3. **Fill Frame Information:** Once the Frames, In, and Out columns are unlocked, you can directly input data from the global shot page. Simply click on the case you want to fill in and add the data.
+
+ ::: tip
+ If you input Frame In and Frame Out, Kitsu will automatically calculate the Number of Frames.
+ :::
+
+ 
+
+4. **CSV Import:** You can also utilize CSV Import to swiftly update your frame ranges. [Update Shots information with CSV Import](README.md#update-your-shots)
+
+5. **Access Shot History:** You can view the history of shot values, including frame ranges.
+
+ 
+
+ 
+
+## Creating Custom Metadata Columns
+
+To include additional information on the general spreadsheet pages, you'll need to create a custom **metadata column**.
+
+You might have extra details to add, such as **level of difficulty**, **weather**, **tags**, etc. All textual or numerical information can be stored in the custom metadata column.
+
+::: warning
+Any Custom Metadata Column created in one episode will be applied to all episodes.
+:::
+
+Follow these steps to create a custom metadata column:
+
+1. **Add Column:** Click on the **+** near the Name column.
+
+ 
+
+2. **Choose Type:** With the Type option, select how you want to store your information:
+ - **Text**
+ - **Number**
+ - **Checkbox**
+ - **List of Values**
+ - **List of Tags**
+ - **Checklist**
+
+ 
+
+ ::: warning
+ - **Text**, **Number**, and **Checkbox** allow you to add different information for each entity without prior planning.
+ - **List of Values**, **List of Tags**, and **Checklist** offer the same options for each entity and must be filled in advance.
+
+ 
+ Type the list elements below Available values and confirm them by clicking on Add value.
+ :::
+
+3. **Link to Departments:** Optionally, you can link the metadata column to one or several departments. This allows artists/supervisors to view it on their to-do page and in department-filtered views.
+
+ ::: tip
+ To link a metadata column to a department, click on the department from the list and then click on **add** to apply it.
+
+ Here, the VFX column is linked to two departments.
+
+ 
+ :::
+
+ ::: details Edit Metadata Column
+ On the global page of the asset or the shot, click on the arrow to the right of your metadata column and select **Edit**.
+
+ 
+ :::
+
+4. **Fill Information:** You can input information directly on the global spreadsheet page. The cases are editable.
+
+ 
+
+ ::: tip
+ You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+ :::
+
+ ::: details Edit Manually
+ You can also modify the information manually by clicking the edit button ().
+
+ You'll see a new line on the edit pop-up where you can select the information from the list, enter free text or a number, check a box, or use a checklist, depending on your previous choice.
+
+ Remember to press the Confirm button when you're done.
+
+ 
+ :::
+
+5. **Edit or Delete:** To edit or delete the metadata column, go to the general spreadsheet page. Next to the name of your metadata column, click on the arrow.
+
+ ::: tip
+ You can also sort your global page with this new column by clicking the arrow on the right of the column name to open its menu and then selecting Sort By.
+
+ You can also Stick the metadata column to the left.
+ :::
+
+## Create a Sequence
+
+In Kitsu, you can also track tasks at the **Sequence** Level.
+It's especially useful when
+you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **Sequences** page.
+
+
+
+::: warning
+This new page behaves like the asset and shot global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **Sequence** attribute.
+
+ [See How to Create a New Task Type](../configure-kitsu#studio-workflow-create-a-new-task-type)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+Once your task types are ready on the settings page, you need to create a sequence (the same as the assets or shots).
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+You can create a sequence directly from here (**+New sequence** button) or create a sequence linked to your shots from the global shot page.
+:::
+
+You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
+
+If you click on the name of a sequence, you will see the detail page of this sequence.
+
+
+
+On the detailed page, you have access to the sequence casting.
+You can see all the assets used in the whole sequence.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
+
+## Create an Edit
+
+You can track tasks at the **Edit** level in Kitsu.
+
+It's especially useful when you have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+By default, the **Edit** page will not be displayed until you have task types for it in your **production library** (setting page).
+
+[See How to Create a New Task Type](../configure-kitsu#studio-workflow-create-a-new-task-type)
+:::
+
+To use this page, you need to first create a dedicated task type in your **Global Library** with the **Edit** attribute.
+
+Once you have created your **Task Types** in your **Global Library**, add them to your **Production Library**. After this, you will see the **Edit** option displayed in the navigation drop-down menu.
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, conduct reviews, change status, etc.
+
+You can also add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page resembles the comment detail page more closely.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page, similar to the asset and shot entity.
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the shots. With the
+breakdown, you have all the details of the assets you need to add to create your
+shot, and we are sure to omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
+the middle section, it is your selection for the shot (2).
+
+
+
+So now you have to select the shot you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+
+You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple shots, your selection is applied to the numerous shots.
+
+Copy a shot filled with assets and paste this asset selection into another shot.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
+
+
+
+This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
+**-1**. When you finish this shot, go on with the other shots.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is mandatory for a **TV Show** production.
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+## Introduction to Asset State: Ready For
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
+
+Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting for you.
+
+You can set automation with the **ready for** trigger.
+
+[See How to Create Status Automation](../configure-kitsu#automation)
+
+:::
+
+Now that we have changed some asset states to **Ready for**, we can see the result on the shot page.
+
+You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+No assets are cast for this shot if you don't see any boxes.
+:::
+
+Then, you can click on the shot's name to go to its detail page.
+Then, you will see all the assets cast in this shot and their status.
+
+
+
+It's the fastest way to know if you can start a shot for a specific task.
+
+# Create a Feature Film Production
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, and choose **Feature Film** as the **type**, then select the style of your production (2D, 3D).
+
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio) section.
+:::
+
+Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/shot.
+
+See the **import CSV** section for more details.
+
+[Import asset](../feature#create-an-asset)
+
+[Import shot](../feature#create-shots-from-an-edl-file)
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+You will open the main menu by clicking on the top left button, Kitsu (or your Studio logo).
+
+On the main menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- Shots
+- Sequence
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- Sequence Stats
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+### Global Search, News, Notification and Documentation
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+### Personal Settings
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The spreadsheet's first line and column header always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+::: warning
+You must press **Enter** on your keyboard to launch the filters on a feature film.
+:::
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+## Create an Asset
+
+### Create your first asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our first asset.
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../configure-kitsu#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last asset, click
+on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and stay** but realize you don't have more assets to add, click on **Close**, and the window will be canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+### See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that the task is missing, you can still add them.
+
+First, ensure the missing task type is added to the settings page under the task type tab.
+
+Then go back to the asset page and click on **+ Add tasks**
+
+### Update your assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+:::
+
+
+::: details Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create a Concept
+
+### Upload a Concept
+
+To create a **Concept**, go to the **Concept** page with the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+At the top of the comment panel, you have two options: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+
+To link an asset, click on it. The names of the linked assets will appear at the top of the screen under the preview of the concept.
+
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Create a Shot
+
+### Create your first shot
+
+It's time to create **shots** for your production.
+
+::: warning
+Shots are linked to Sequences in Kitsu.
+This means you must create a sequence and then populate this sequence with shots.
+:::
+
+You need to go to the **Shots** page: you can use the
+dropdown menu and click on the **SHOTS**.
+
+
+
+Click on the **Add shots** button to start with the shot creation.
+
+
+
+::: warning
+When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
+:::
+
+A new pop-up opens for the creation of the shots.
+You can now create the sequences and the shots.
+
+Enter the first sequence, for instance, sq01,
+then **add**.
+
+Now, you can see your sequence has been created. To add shots to this sequence, select it and create your shots.
+
+For example, type sh0010 on the shots column, then again **add**.
+You can also define padding for your shots.
+
+::: tip
+If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
+:::
+
+
+
+You can now see that new shots are listed and linked by their sequence.
+You have created the first shot of the first sequence.
+
+Now, let's add more shots than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **add** to
+create more shots.
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
+Your second sequence is selected, and you can now add shots.
+
+::: tip
+If a shot is misplaced on a sequence, you have to edit the shot
+, and change the
+sequence.
+
+
+
+:::
+
+## Create Shots from an EDL File
+
+You may already have your shots list ready in an **EDL** file.
+With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, and Frame in and out.
+
+On the **Global Shot Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_sequence_shot.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
+
+You can import the EDL file once you have the naming convention.
+
+Then click on **Upload EDL**
+
+Then Kitsu will create the shots.
+
+
+:::
+
+::: details Create Shots from a CSV Spreadsheet File
+You may already have your shots list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, return to the shot page on Kitsu and click the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+
+::: details Create Shots by Copying / Pasting a Spreadsheet File
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+### See the Details of a Shot
+
+If you want to see the details of a shot, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the shots
+If you realize after creating the shots that the task is missing, you can still add them.
+
+First, ensure the missing task type is added to the settings page under the task type tab.
+
+Then go back to the shot page and click on + Add tasks.
+
+### Update your shots
+
+You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
+
+You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Shots Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated shots will be in blue.
+
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+## Add the number of Frames and Frame ranges to the shots
+
+At this stage of the production, the animatic should be done. This means you have
+the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
+add this information to the spreadsheet. This way, you are sure that all
+the frames are calculated and none are missing or over-computed.
+
+::: warning
+If you have created your shots and sequence by hand,
+the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
+The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
+:::
+
+
+
+You need to edit the shots to fill in the frame range information. Click on the
+edit button  on the right
+side of the shot line.
+
+
+
+You can enter the shots **In** and **Out ** in the new window. Then, save by clicking the **Confirm** button.
+
+
+
+
+
+Now, the frame range appears on the general spreadsheet of the shot page.
+
+
+
+Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
+directly from the global shot page.
+
+Click on the case you want to fill in and add the data.
+
+::: tip
+If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
+:::
+
+
+
+
+You can also use the **CSV Import** to update your frame range quickly.
+ [Update Shots information with CSV Import](../feature#update-your-shots)
+
+You can also access the history of shot values.
+
+
+
+
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+
+Click on the **+** near the Name column.
+
+
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
+
+
+:::
+
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create a Sequence
+
+In Kitsu, you can also track tasks at the **Sequence** Level.
+It's especially useful when
+you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **Sequences** page.
+
+
+
+::: warning
+This new page behaves like the asset and shot global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **Sequence** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+Once your task types are ready on the settings page, you must create a sequence (the same as the assets or shots).
+
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+
+::: tip
+You can create a sequence directly from here (+New sequence button) or a sequence linked to your shots from the global shot page.
+:::
+
+
+You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
+
+If you click on the name of a sequence, you will see the detail page of this sequence.
+
+
+
+On the detailed page, you have access to the sequence casting.
+You can see all the assets used in the whole sequence.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when
+You have several edits to track through several validation steps.
+For example, you can track your whole movie, several trailers, the First Edit, Fine Edit, mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the shots. With the
+breakdown, you have all the details of the assets you need to add to create your
+shot, and we are sure to omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
+the middle section, it is your selection for the shot (2).
+
+
+
+So now you have to select the shot you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+
+You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple shots, your selection is applied to the numerous shots.
+
+Copy a shot filled with assets and paste this asset selection into another shot.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
+
+
+
+This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
+**-1**. When you finish this shot, go on with the other shots.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+## Introduction to Asset State: Ready For
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
+
+Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting.
+
+You can set automation with the **ready for** trigger.
+:::
+
+Now that we have changed some asset states to **Ready for**, we can see the result on the shot page.
+
+You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+If you don't see any boxes, no assets are cast for this shot.
+:::
+
+Then, you can click on the shot's name to go to its detail page.
+Then, you will see all the assets cast in this shot and their status.
+
+
+
+It's the fastest way to know if you can start a shot for a specific task.
+
+# Create a Short Production (assets and shots)
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, choose **short** as the **type**, and select your production style (2D, 3D).
+
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+
+
+You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio-workflows) section.
+:::
+
+Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/shot.
+
+See the **import CSV** section for more details.
+
+[Import asset](../short#create-an-asset)
+
+[Import shot](../short#create-shots-from-an-edl-file)
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+You will open the main menu by clicking on the top left button, Kitsu (or your Studio logo).
+
+You will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings on the main menu.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- Shots
+- Sequence
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- Sequence Stats
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation, such as Episodes, you need to change your production Type to a TV Show.
+
+If, on the contrary, you realize you don't need the **assets** or the **shots**, you also need to switch your production type to **Only Assets** or **Only Shots**.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+
+### Personal Settings
+
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The spreadsheet's first line and column header always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+## Create an Asset
+
+### Create your first asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our first asset.
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../configure-kitsu#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last asset, click
+on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+### See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that the task is missing, you can still add them.
+
+First, ensure the missing task type is added to the settings page under the task type tab.
+
+Then go back to the asset page and click on **+ Add tasks**
+
+### Update your assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+:::
+
+
+::: details Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create a Concept
+
+### Upload a concept
+
+To create a **Concept**, go to the **Concept** page with the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+At the top of the comment panel, you have two options: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+To link an asset, click on it. The names of the linked assets will appear at the top of the screen under the preview of the concept.
+
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Create a Shot
+
+### Create your first shot
+
+It's time to create **shots** for your production.
+
+::: warning
+Shots are linked to Sequences in Kitsu.
+This means you must create a sequence and then populate this sequence with shots.
+:::
+
+You need to go to the **Shots** page: you can use the
+dropdown menu and click on the **SHOTS**.
+
+
+
+Click on the **Add shots** button to start with the shot creation.
+
+
+
+::: warning
+When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
+:::
+
+A new pop-up opens for the creation of the shots.
+You can now create the sequences and the shots.
+
+Enter the first sequence, for instance, sq01,
+then **add**.
+
+Now, you can see your sequence has been created. To add shots to this sequence, select it and create your shots.
+
+For example, type sh0010 on the shots column, then again **add**.
+You can also define padding for your shots.
+
+::: tip
+If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
+:::
+
+
+
+You can now see that new shots are listed and linked by their sequence.
+You have created the first shot of the first sequence.
+
+Now, let's add more shots than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **add** to
+create more shots.
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
+Your second sequence is selected, and you can now add shots.
+
+::: tip
+If a shot is misplaced on a sequence, you have to edit the shot
+, and change the
+sequence.
+
+
+
+:::
+
+## Create Shots from an EDL File
+
+You may already have your shots list ready in an **EDL** file.
+With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, Frame in and out, and more.
+
+On the **Global Shot Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_sequence_shot.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
+
+You can import the EDL file once you have the naming convention.
+
+Then click on **Upload EDL**
+
+Then Kitsu will create the shots.
+
+
+:::
+
+::: details Create Shots from a CSV Spreadsheet File
+You may already have your shots list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, return to the shot page on Kitsu and click the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+
+::: details Create Shots by Copying / Pasting a Spreadsheet File
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+### See the Details of a Shot
+
+If you want to see the details of a shot, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the shots
+
+If you realize after creating the shots that the task is missing, you can still add them.
+
+First, ensure the missing task type is added to the settings page under the task type tab.
+
+Then go back to the shot page and click on + Add tasks.
+
+### Update your shots
+
+You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
+
+You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Shots Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation**the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated shots will be in blue.
+
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+## Add the number of Frames and Frame ranges to the shots
+
+At this stage of the production, the animatic should be done. This means you have
+the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
+add this information to the spreadsheet. This way, you are sure that all
+the frames are calculated and none are missing or over-computed.
+
+::: warning
+If you have created your shots and sequence by hand,
+the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
+The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
+:::
+
+You need to edit the shots to fill in the frame range information. Click on the
+edit button  on the right
+side of the shot line.
+
+
+
+You can enter the shots **In** and **Out ** in the new window. Then, save by clicking the **Confirm** button.
+
+
+
+Now, the frame range appears on the general spreadsheet of the shot page.
+
+
+
+Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
+directly from the global shot page.
+
+Click on the case you want to fill in and add the data.
+
+::: tip
+If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
+:::
+
+
+
+
+You can also use the **CSV Import** to update your frame range quickly.
+ [Update Shots information with CSV Import](../short#update-your-shots)
+
+You can also access the history of shot values.
+
+
+
+
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+Click on the **+** near the Name column.
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
+
+
+:::
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page if you need to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create a Sequence
+
+In Kitsu, you can also track tasks at the **Sequence** Level.
+It's especially useful when
+you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **Sequences** page.
+
+
+
+::: warning
+This new page behaves like the asset and shot global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **Sequence** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+Once you have your task types ready on the settings page, you need to create a sequence (the same as the assets or shots).
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+
+::: tip
+You can create a sequence directly from here (+New sequence button) or create a sequence linked to your shots from the global shot page.
+:::
+
+You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
+
+If you click on the name of a sequence, you will see the detail page of this sequence.
+
+
+
+On the detailed page, you have access to the sequence casting.
+You can see all the assets used in the whole sequence.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when
+You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the shots. With the
+breakdown, you have all the details of the assets you need to add to create your
+shot, and we are sure to omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
+the middle section, it is your selection for the shot (2).
+
+
+
+So now you have to select the shot you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple shots, your selection is applied to the numerous shots.
+
+Copy a shot filled with assets and paste this asset selection into another shot.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
+
+
+
+This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
+**-1**. When you finish this shot, go on with the other shots.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click on the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+## Introduction to Asset State: Ready For
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
+
+Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting.
+
+You can set automation with the **ready for** trigger.
+:::
+
+We can see the result in the shot page now that we have changed some asset states **Ready for**.
+
+You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+If you don't see any boxes, no assets are cast for this shot.
+:::
+
+Then, you can click on the shot's name to go to its detail page.
+Then, you will see all the assets cast in this shot and their status.
+
+
+
+It's the fastest way to know if you can start a shot for a specific task.
+
+# Create a SHOTS-only Production
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your Production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, select **only shots** as the **type**, and select the style that best suits your Production.
+
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your Production's start and end dates.
+
+
+
+
+You need to select your shots workflow (Task Type) (3) and your validation process (Task Status) (4),
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio-workflows) section.
+:::
+
+Then, 5 is the option parts. If you already have a spreadsheet with your shot.
+
+See the **import CSV** section for more details.
+
+[Import shot](../short-shot#create-shots-from-an-edl-file
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+By clicking on the top left button, Kitsu (or your Studio logo), you will open the **Main Menu**.
+
+On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between Production. The name of the actual Production and page are always displayed.
+
+You can use the dropdown menu to navigate from Production to Production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this Production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Shots
+- Sequence
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the Production
+- Concepts
+- Playlists
+- News feed
+
+The third section is about statistics
+- Sequence Stats
+
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your Production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
+
+If, on the contrary, you realize you need the assets instead of the Only Shots, you need to switch your production type from Only Shots to Short.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+### Personal Settings
+
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+## Create a Shot
+
+### Create your first shot
+
+It's time to create **shots** for your Production.
+
+::: warning
+Shots are linked to Sequences in Kitsu.
+This means you need to first create a sequence and then populate this sequence with shots.
+:::
+
+You need to go to the **Shots** page: you can use the
+dropdown menu and click on the **SHOTS**.
+
+
+
+Click on the **Add shots** button to start with the shot creation.
+
+
+
+::: warning
+When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
+:::
+
+A new pop-up opens for the creation of the shots.
+You can now create the sequences and the shots.
+
+Enter the first sequence, for instance, sq01,
+then **add**.
+
+Now, you can see your sequence has been created. To add shots to this sequence, you need to select it and create your shots.
+
+For example, type sh0010 on the shots column, then again **add**.
+You can also define padding for your shots.
+
+::: tip
+If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
+:::
+
+
+
+You can now see that new shots are listed and linked by their sequence.
+You have created the first shot of the first sequence.
+
+Now, let's add more shots than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **add** to
+create more shots.
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
+Your second sequence is selected, and you can now add shots.
+
+::: tip
+If a shot is misplaced on a sequence, you have to edit the shot
+, and change the
+sequence.
+
+
+
+:::
+
+## Create Shots from an EDL File
+
+You may already have your shots list ready in an **EDL** file.
+With Kitsu, you can import your **EDL** file directly to create the sequence, shot, number of frames, Frame in and frame out, and more.
+
+On the **Global Shot Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_sequence_shot.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
+
+You can import the EDL file once you are set with the naming convention.
+
+Then click on **Upload EDL**
+
+Then Kitsu will create the shots.
+
+
+:::
+
+::: details Create Shots from a CSV Spreadsheet File
+You may already have your shots list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, return to the shot page on Kitsu and click the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+
+::: details Create Shots by Copying / Pasting a Spreadsheet File
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+### See the Details of a Shot
+
+If you want to see the details of a shot, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the shots
+
+If you realize after creating the shots that the task is missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go back to the shot page and click on + Add tasks.
+
+### Update your shots
+
+You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
+
+You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Shots Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation** , and the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated shots will be in blue
+
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+## Add the number of Frames and Frame ranges to the shots
+
+At this stage of the Production, the animatic should be done. This means you have
+the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
+add this information to the spreadsheet. This way, you are sure that all
+the frames are calculated and none are missing or over-computed.
+
+::: warning
+If you have created your shots and sequence by hand,
+the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
+The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
+:::
+
+You need to edit the shots to fill in the frame range information. Click on the
+edit button  on the right
+side of the shot line.
+
+
+
+On the new window, you can enter the shots **In** and **Out**. Then, save by clicking the **Confirm** button.
+
+
+
+Now, the frame range appears on the general spreadsheet of the shot page.
+
+
+
+Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
+directly from the global shot page.
+
+Click on the case you want to fill in and add the data.
+
+::: tip
+If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
+:::
+
+
+
+
+You can also use the **CSV Import** to update your frame range quickly.
+ [Update Shots information with CSV Import](../short-shot#update-your-shots)
+
+You can also access the history of shot values.
+
+
+
+
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+
+Click on the **+** near the Name column.
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
+
+
+:::
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page if you need to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create a Sequence
+
+In Kitsu, you can also track tasks at the **Sequence** Level.
+It's especially useful when
+you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **Sequences** page.
+
+
+
+::: warning
+This new page behaves like the asset and shot global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **Sequence** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+Once your task types are ready on the settings page, you need to create a sequence (the same as the assets or shots).
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+
+::: tip
+You can create a sequence directly from here (+New sequence button) or create a sequence linked to your shots from the global shot page.
+:::
+
+
+You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
+
+If you click on the name of a sequence, you will see the detail page of this sequence.
+
+
+
+On the detailed page, you have access to the sequence casting.
+You can see all the assets used in the whole sequence.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when
+You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
+
+# Create an ASSET-only Production
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, and choose **only Asset** as the **type**, then select the style of your production (2D, 3D).
+
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+
+
+You need to select your asset task type (3), task status (4), and asset types (5).
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you will be able to create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio-workflows) section.
+:::
+
+Then, 6 is the option part. If you already have a spreadsheet with your Asset.
+
+See the **import CSV** section for more details.
+
+[Import asset](../short-asset#create-an-asset)
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
+
+On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
+
+If, on the contrary, you realize you need the **shots**, you also need to switch your production type from **Only Assets** to **Short**.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+### Personal Settings
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (Asset, shot, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+## Create an Asset
+
+### Create your first Asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first Asset.
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the Asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../configure-kitsu#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the Asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created Asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last Asset, click
+on **Confirm**. It will create the Asset and close the window.
+
+::: tip
+If you click on **Confirm and stay ** but realize you don't have more assets to add, click on **Close**, and the winwill bew is canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+### See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this Asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this Asset.
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that the task is missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go back to the asset page and click on **+ Add tasks**
+
+### Update your assets
+
+At any point, you can update your assets, change their name and asset type, modify their description, and any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the Asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then the lines that will be updated
+will be highlighted in blue.
+
+
+
+:::
+
+
+::: details Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create a Concept
+
+### Upload a Concept
+
+To create a **Concept**, go to the **Concept** page with the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the Asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+To link an asset, you have to click on it. The linked assets' names will appear at the top of the screen and under the preview of the concept.
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this Asset. You can filter them per status.
+
+
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+
+Click on the **+** near the Name column.
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the global page of the Asset or the shot, click on the arrow to the right of your metadata column and click on **Edit**.
+
+
+:::
+
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page if you need to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when
+You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+
+
+This new page behaves like the Asset and Shot global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page, as you can for the Asset and shot entities.
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the Asset. With the
+breakdown, you have all the details of the assets you need to add to create your
+main Asset and we are sure we will omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the asset menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (3). Moreover, in
+the middle section, your selection for the Asset (2).
+
+
+
+So now you have to select the Asset you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+You can also select multiple assets at once. Click on the first Asset, hold the **shift** key, and click on the last Asset of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple assets, your selection is applied to the numerous assets.
+
+Copy an asset filled with assets and paste this asset selection into another asset.
+
+You can see a **+1** or **+10** when you pass over the Asset. It's the number
+of times you add this Asset, and you can click on it as many times as you need.
+
+
+
+You can now see the Asset in the middle of the screen (2). Next
+to the Asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
+**-1**. When you finish this shot, go on with the other shots.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the task, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu, and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+# Create a Video Game Production
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, choose **short** as the **type**, and then select your production style (2D, 3D).
+
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+You need to select your asset task type (3), map task type (4), task status (5), and asset types (6).
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio-workflows) section.
+:::
+
+Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/map.
+
+See the **import CSV** section for more details.
+
+[Import asset](../videogame#create-an-asset)
+
+[Import map](../videogame#create-maps-from-an-edl-file)
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
+
+On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- maps
+- level
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- level Stats
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation as **chapters**, You need to change your production Type to a **TV Show**.
+
+If, on the contrary, you realize you don't need the **assets** or the **maps**, you need to switch your production type to **Only Assets** or **Only Maps**.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+### Personal Settings
+
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, map, level, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. For simple filtering, you can type anything you want, such as level, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or maps), the total number of estimated days, and the total number of days already spent.
+
+## Create an Asset
+
+### Create your first asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../configure-kitsu#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last asset, click
+on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+### See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that the task is missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go back to the asset page and click on **+ Add tasks**
+
+### Update your assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then the lines that will be updated
+will be highlighted in blue.
+
+
+
+:::
+
+
+::: details Update Assets by Copying / Pasting a Spreadsheet. File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create a Concept
+
+### Upload a Concept
+
+To create a **Concept**, go to the **Concept** page with the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+
+To link an asset, you have to click on it. The name of the linked assets will appear at the top of the screen but also under the preview of the concept.
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Create a map
+
+### Create your first map
+
+It's time to create **maps** for your production.
+
+::: Warning
+maps are linked to levels in Kitsu.
+This means you need to first create a level and then populate this level with maps.
+:::
+
+You need to go to the **maps** page: you can use the
+dropdown menu and click on the **mapS**.
+
+
+
+Click on the **Add maps** button to start with the map creation.
+
+
+
+::: warning
+When you create a map, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the map.
+:::
+
+A new pop-up opens for the creation of the maps.
+You can now create the levels and the maps.
+
+Enter the first level, for instance, sq01,
+then **add**.
+
+Now, you can see your level has been created. You need to select the maps you want to add to this level and create them.
+
+For example, type sh0010 on the maps column, then again **add**.
+You can also define Padding for your maps.
+
+::: tip
+If you want to name your maps ten on ten as SH0010, SH0020, SH0030, etc, set the **map Padding** as 10
+:::
+
+
+
+You can now see that new maps are listed and linked by their level.
+You have created the first map of the first level.
+
+Now, let's add more maps than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **add** to
+create more maps.
+
+
+
+To add more levels, go to the left part, type the name of your new level, and then click on **add**.
+Your second level is selected, and you can now add maps.
+
+::: tip
+If a map is misplaced on a level, you have to edit the map
+, and change the
+level.
+
+
+
+:::
+
+## Create maps from an EDL File
+
+You may already have your maps list ready in an **EDL** file.
+With Kitsu, you can directly import your **EDL** file to create the level, map, and several frames, Frame in and frame out.
+
+On the **Global map Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_level_map.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the level name, and 000 is the map name.
+
+Once you are set with the naming convention, you can import the EDL file.
+
+Then click on **Upload EDL**
+
+Then, Kitsu will create the maps.
+
+
+:::
+
+::: details Create maps from a CSV Spreadsheet File
+You may already have your maps list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the map page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+::: details Create maps by Copying / Pasting a Spreadsheet File
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the map page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+### See the Details of a map
+
+If you want to see the details of a map, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the maps
+
+If you realize after creating the maps that tasks are missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go back to the map page and click on + Add tasks.
+
+### Update your maps
+
+You can update your maps at any point, change their name and level, modify their description, and add any custom information you added to the global page.
+
+You can edit maps by going to the map page, hovering over the map you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main map page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update maps Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the map page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated maps will be in blue.
+
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+:::
+
+## Add the number of Frames and Frame ranges to the maps
+
+At this stage of the production, the animatic should be done. This means you have
+the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each map. You can
+add this information to the spreadsheet. This way, you are sure that all
+the frames are calculated and none are missing or over-computed.
+
+::: warning
+If you have created your maps and level by hand,
+the **Frame** column will be hidden. You must edit at least one map and fill in the number of frames to display the **Frame** column.
+The column will be displayed if you have created your maps and imported the number of frames with a CSV/spreadsheet.
+:::
+
+
+
+You need to edit the maps to fill in the frame range information. Click on the
+edit button  on the right
+side of the map line.
+
+
+
+On the new window, you can enter the maps **In** and **Out**. Then, save by clicking the **Confirm** button.
+
+
+
+Now, the frame range appears on the map page's general spreadsheet.
+
+
+
+Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
+directly from the global map page.
+
+Click on the case you want to fill in and add the data.
+
+::: tip
+If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
+:::
+
+
+
+You can also use the **CSV Import** to update your frame range quickly.
+
+ [Update maps information with CSV Import](../videogame#update-your-maps)
+
+You can also access the map values history.
+
+
+
+
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+
+Click on the **+** near the Name column.
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the asset's global page or the map, click on the arrow to the right of your metadata column and click on **Edit**.
+
+
+:::
+
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page if you need to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create a level
+
+In Kitsu, you can also track tasks at the **level** Level.
+It's especially useful when
+you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **levels** page.
+
+
+
+::: warning
+This new page behaves like the asset and map global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **level** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+Once your task types are ready on the settings page, you need to create a level (the same as the assets or maps).
+
+This new page behaves like the asset and map global page. You can add your edits with the **+ New level** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+
+::: tip
+You can create a level directly from here (+New level button) or create a level linked to your maps from the global map page.
+:::
+
+On this page, you can **Rename** and **Delete** the level entity, as well as the asset and map entity.
+
+If you click on the name of a level, you will see the details page for this level.
+
+
+
+On the detailed page, you can access the casting of the level.
+You can see all the assets used at the entire level.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the level **tasks**.
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when
+You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the **Creating a New Task Type** Section to create a new **Task Type**.
+
+[Creating a New Task Type](../configure-kitsu#task-types)
+
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+
+
+This new page behaves like the asset and map global page. You can add your edits with the **+ New edit** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page, as you can for the asset and map entities.
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the maps. With the
+breakdown, you have all the details of the assets you need to add to create your
+map, and we are sure to omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the chapter/level/map menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (main pack and chapters) (3). Moreover, in
+the middle section, it is your selection for the map (2).
+
+
+
+So now you have to select the map you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+You can also select multiple maps at once. Click on the first map, hold the **shift** key, and click on the last map of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple maps, your selection is applied to the numerous maps.
+
+Copy a map filled with assets and paste this asset selection into another map.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to chapters on a TV show without specifying a level or map.
+
+
+
+This way, you can link all your assets to one or several chapters before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this map (2). From there, click on
+**-1**. When you finish this map, go on with the other maps.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you would the maps. First, select one or more assets on the left part and then add the right part's elements.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **chapter** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+## Introduction to Asset State: Ready For
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a map task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: let you know the state of the tasks of an asset and compare its usability for the map tasks.
+
+Now that we have filled out our breakdown, we know exactly which asset is used on every map.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the map task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting.
+
+You can set automation with the **ready for** trigger.
+:::
+
+Now that we have changed some asset states to **Ready for**, we can see the result on the map page.
+
+You can notice that some white boxes are now **Green**: all the assets in this map are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+If you don't see any boxes, no assets are cast for this map.
+:::
+
+Then, you can click on the map's name to go to its detail page.
+Then, you will see all the assets cast in this map and their status.
+
+
+
+It's the fastest way to know if you can start a map for a specific task.
+
+# Create a NFT Collection
+
+Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
+
+Click on the **Create a new
+production** button.
+
+
+
+Enter your production name, choose **short** as the **type**, and then select your production style (2D, 3D).
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+
+
+You can define your production workflow in the next part, 3 to 6.
+
+
+
+You need to select your asset task type (3), NFT Collection task type (4), task status (5), and asset types (6).
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../configure-kitsu#studio-workflows) section.
+:::
+
+Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/NFT Collection.
+
+See the **import CSV** section for more details.
+
+[Import asset](../nft#create-an-asset)
+
+[Import NFT Collection](../nft#create-a-nft-collection)
+
+Validate everything with the  button.
+
+## Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+### Main Menu
+
+By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
+
+On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- NFT Collections
+- Sequence
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- Sequence Stats
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
+
+If, on the contrary, you realize you don't need the **assets** or the **NFT Collections**, you also need to switch your production type to **Only Assets** or **Only NFT Collections**.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+
+### Personal Settings
+
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+## The Tasks Spreadsheet
+
+### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, NFT Collection, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+
+### Sum-up of your view
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or NFT Collections), the total number of estimated days, and the total number of days already spent.
+
+## Create an Asset
+
+### Create your first asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../configure-kitsu#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last asset, click
+on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+::: details Create Assets from a CSV Spreadsheet File
+You may already have your asset list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+::: details Create Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+### See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that the task is missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go back to the asset page and click on **+ Add tasks**
+
+### Update your assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update Assets with the CSV Import
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+:::
+
+
+::: details Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+Now, you have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create a Concept
+
+### Upload a Concept
+
+To create a **Concept**, go to the **Concept** page with the navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+
+You can interact with the concept in two ways: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not validated, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+
+### Link a Concept to an Asset
+
+Once concepts are uploaded, you can link them to the assets.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+
+To link an asset, click on it. The linked assets' names will appear at the top of the screen under the preview of the concept.
+
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Create a NFT Collection
+
+### Create your first NFT Collection
+
+It's time to create **NFT Collections** for your production.
+
+::: warning
+NFT Collections are linked to Sequences in Kitsu.
+You must create a sequence and then populate it with NFT Collections.
+:::
+
+You need to go to the **NFT Collections** page: you can use the
+dropdown menu and click on the **NFT CollectionS**.
+
+
+
+Click on the **Add NFT Collections** button to start with the NFT Collection creation.
+
+
+
+::: warning
+When you create an NFT Collection, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the NFT Collection.
+:::
+
+A new pop-up opens for the creation of the NFT Collections.
+You can now create the sequences and the NFT Collections.
+
+Enter the first sequence, for instance, sq01,
+then **add**.
+
+Now, you can see your sequence has been created. To add NFT Collections to this sequence, you need to select it and create your NFT Collections.
+
+For example, type sh0010 on the NFT Collections column, then again **add**.
+You can also define padding for your NFT Collections.
+
+::: tip
+If you want to name your NFT Collections 10 on ten as SH0010, SH0020, SH0030, etc, set the **NFT Collection Padding** as 10
+:::
+
+
+
+You can now see that new NFT Collections are listed and linked by their sequence.
+You have created the first NFT Collection of the first sequence.
+
+Now, let's add more NFT Collections than just one! As you can see, the box already contains your name
+code but incremented, so you have to continue to click on **add** to
+create more NFT Collections.
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
+Your second sequence is selected, and you can now add NFT Collections.
+
+::: tip
+If a NFT Collection is misplaced on a sequence, you have to edit the NFT Collection
+, and change the
+sequence.
+
+
+
+:::
+
+### See the Details of an NFT Collection
+
+If you want to see the details of an NFT Collection, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+
+
+You can also access the **Casting**,
+
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add more tasks after creating the NFT Collections
+If you realize after creating the NFT Collections that tasks are missing, you can still add them.
+
+First, be sure that the missing task type is added to the settings page under the task type tab.
+
+Then go to the NFT Collection page and click + Add tasks.
+
+### Update your NFT Collections
+
+At any point, you can update your NFT Collections, change their name and sequence, modify their description, and any custom information you added to the global page.
+
+You can edit NFT Collections by going to the NFT Collection page, hovering over the NFT Collection you want to modify, and then clicking on the **edit** button
+ (1) on the right side of the line.
+
+
+
+To extend the description on the main NFT Collection page, click on the first words (2), and a pop-up with the full description will open.
+
+
+::: details Update NFT Collections Information with CSV Import
+You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
+
+You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the NFT Collection page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You need to switch on the **Option: Update existing data**.
+The updated NFT Collections will be in blue
+
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have imported all your NFT Collections into Kitsu and created the task according to your Settings.
+
+
+:::
+
+## Create Custom Metadata Columns
+
+To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
+
+You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
+
+
+Click on the **+** near the Name column.
+
+
+
+
+
+With the **Type** option, you can choose how you want to store your information:
+- a free **Text**,
+- a **Number**,
+- a **Checkbox**,
+- a **List of value**,
+- a **List of tags**,
+- a **Checklist**.
+
+
+
+::: warning
+The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
+
+The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+You can also link the **metadata column** to one or several **departments**.
+
+::: tip
+Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
+
+Here, the VFX column is linked to two departments.
+
+
+
+:::
+
+::: details Edit meta column
+On the asset's global page or the NFT Collection's global page, click on the arrow to the right of your metadata column and click on **Edit**.
+
+
+:::
+
+
+You can fill in this information directly on the global spreadsheets page.
+The cases are editable.
+
+
+
+::: tip
+You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
+:::
+
+::: details Edit by hand
+You can also modify the information with the edit button .
+
+You now see a new line on the edit pop-up. You can select the information from the list,
+alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
+
+Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+Go to the general spreadsheet page if you need to edit or delete the metadata column.
+Nearby the name of your metadata column, click on the arrow .
+
+::: tip
+You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
+
+You can also **Stick** the metadata column to the left.
+:::
+
+## Create a Breakdown List
+
+Filling out the breakdown helps you with the assembly of the NFT Collections. With the
+breakdown, you have all the details of the assets you need to add to create your
+NFT Collection and we are sure we will omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+On the left of the breakdown page is the episode/sequence/NFT Collection menu (1); you can choose between those you created. They are the right part of
+the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
+the middle section, your selection for the NFT Collection (2).
+
+
+
+So now you have to select the NFT Collection you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the
+thumbnails size.
+
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+
+You can also select multiple NFT Collections at once. Click on the first NFT Collection, hold the **shift** key, and click on the last NFT Collection of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple NFT Collections, your selection is applied to the numerous NFT Collections.
+
+Copy an NFT Collection filled with assets and paste this asset selection into another NFT Collection.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to episodes on a TV show without specifying a sequence or NFT Collection.
+
+
+
+This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this NFT Collection (2). From there, click on
+**-1**. When you finish this NFT Collection, continue with the other NFT Collections.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you did the NFT Collections. First, select one or more assets on the left and then add the elements on the right.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+## Introduction to Asset State: Ready For
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on an NFT Collection task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: let you know the state of the tasks of an asset and compare its usability for the NFT collection tasks.
+
+Now that we have filled out our breakdown, we know which asset is used on every NFT Collection.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the NFT Collection task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting for you.
+
+You can set automation with the **ready for** trigger.
+:::
+
+Now that we have changed some asset states to **Ready for**, we can see the result on the NFT Collection page.
+
+You can notice that some white boxes are now **Green**: all the assets cast in this NFT Collection are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+If you don't see any boxes, no assets are casted for this NFT Collection.
+:::
+
+Then, you can click on the NFT Collection's name to go to its detail page.
+Then, you will see all the assets cast in this NFT Collection and their status.
+
+
+
+It's the fastest way to know if you can start an NFT Collection for a specific task.
+
+# Meta Columns, Filters and Production Settings
+
+# Meta Columns
+To add more information on the general spreadsheet pages, you can create a **Metadata Column**.
+
+Metadata columns alow you to track additional information related to your production. Some examples could include a metadata colum to track the percieved difficulty of a task, or a column to try custom tags that help you identify certain aspects of a task. Custom metadata columns can store data in a veriety of formats for easier data entry, filtering and validation.
+
+## Create Metadata Columns
+
+To add a new custom metadata column, click on the **+** icon next to the Name column.
+
+
+
+First, choose the name you prefer for your field. Then, select the appropriate **Type** based on your needs:
+
+- **Text**:
+ - This type accommodates text based input, including both letters and numbers. It offers flexibility in storing information such as descriptions, comments, or textual content.
+
+- **Number**:
+ - Reserved solely for numerical data. It's recommended for tracking information exclusively comprised of numerical values, such as framerates, dates, or times.
+
+- **Checkbox**:
+ - This option allows you to mark items as either on or off. It's suitable for tracking data with only two possible states, like indicating shots intended for a trailer cut.
+
+- **List of values**:
+ - With this type, you define a list of options from which only one unique element can be selected. It's ideal when you need to track data with a limited number of choices. For instance, for tracking camera movements, options like "Static," "Pan," "Tilt," or "Zoom" could be included.
+
+- **List of tags**:
+ - Here, you can define multiple tags. Unlike a list of values, which allows selecting only one item, this type enables selecting multiple entries from the list.
+
+- **Checklist**:
+ - This type presents a list of options, each accompanied by its own checkbox. It's useful for tracking minor sub-tasks associated with a shot or asset, which don't warrant their own task in the production pipeline.
+
+
+
+:::warning
+When creating **Text** and **Number** metadata types, a default value is not required upon creation.
+
+However, when using the **List of value**, **List of tags**, and **Checklist**, you have to specify which values you want to include at the point of creation.
+
+
+
+Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
+:::
+
+### Linking Metadata Columns to Departments
+
+You can also link the **metadata column** to one or several **departments**. The artists/supervisors will see it on their to-do page and in the department-filtered view.
+
+To create more departments, see [Create Departments](../configure-kitsu#create-departments).
+
+You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to confirm.
+
+Here, the VFX column is linked to two departments.
+
+
+
+
+
+::: details How to edit your metadata column
+On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
+
+
+:::
+
+
+Congratulations, your newly created metadata column should now be available from your global page.
+
+
+
+::: tip Batch Updates
+If you want update multiple items with the same values, first check the items you want to include as shown below, and then update the value. The value you entered will then be updated across all items.
+
+
+
+
+
+:::
+
+::: details Editing Entities
+While you can make updates to entities in the spreadsheet directly, you can also use the edit button  to update multiple metadata columns.
+
+Once selected, you can fill out or adjust values for all metadata columns for that specific entity. Remember to press the **Confirm** button when you are done.
+
+
+:::
+
+If you need to edit or delete the metadata column from the general spreadsheet page next to the name of your metadata column, click on the arrow .
+
+::: tip
+In additional to editing or deleting metadata columns, from here you can also **sort** your global page with this new column by clicking on **Sort By**.
+
+Additionally you can also **Stick** the metadata column, meaning that it will stay locked to the left and remain visible while scrolling through a large dataset.
+:::
+
+
+## Organizing Metadata Columns
+
+### Display or Hide All Metadata Columns
+
+To keep your global spreadsheet tidy, you can choose to hide any non-essential columns. Note that this action does not delete the column; it simply hides it from view but retains it in other areas where it is used.
+
+
+To do this, click on the **Hide Additional Information**
+ button on the top right of the page.
+
+
+
+
+To make the information reappear, click on the same button,
+ it won't be highlighted in grey.
+
+
+
+### Display or Hide a single Metadata Column
+
+You may need to hide or display a specific **Metadata Column** on a global page.
+
+To hide your metadata column, click on the arrow on the right border of the global page.
+
+
+
+You can choose which column you want to **hide** or **display**.
+
+## Sticky Columns
+
+If a piece of information is frequently referred to, you can **Stick** this column next to the shot name.
+
+Click on the arrow to the right of the column to open the column menu, then choose **Stick**.
+
+
+
+
+
+# Filters
+
+Filtering involves selectively retrieving data based on specific criteria or conditions. It enables users to easily hone in information they want to focus on, or extract relevant subsets of data for analysis.
+
+Kitsu provides a series of features that allow you to easily find what you are looking for.
+
+## The Search Bar
+
+### Using the Search Bar to Create Filters
+
+In **Kitsu**, filters are set through the **search bar**. It allows you to
+**save** your search query. Once done, you can rerun your query with a
+simple click.
+
+
+
+You can find the **Search Bar**, **Filter Builder** and the **Save** option  in the following pages:
+
+* Assets
+* Shots
+* Sequences
+* Edits
+* Episodes
+
+NB: The **Search Bar** only and pre-build filters are available on the following page
+* My Production
+* My Tasks
+* People
+* Sequence Stats
+* Episodes Stats
+* Asset Types Stats
+* Quotas
+* Team
+* Detailed Task Type page
+
+::: tip
+On the other pages of Kitsu, you will find pre-build filters.
+:::
+
+The **search bar** query is applied every time a new character is typed. You don't need to type everything to get a quick result.
+
+::: warning
+The filter is instant except for the **Feature Film** type of production.
+Kitsu expects to have thousands of elements, so to speed up the process, you must type your Search and press **enter** to apply it.
+:::
+
+### Example Filters
+
+For example, on the assets page, type the letter `Ot`, and you get the
+result of all the assets starting with an `Ot`.
+
+
+
+You can also search for some specific **type of asset**: `Props`, `Character`,
+`Environment`, `Fx` ... The result displays all the assets of this type.
+
+For example, let's search all the **FX** assets.
+
+
+
+Another example gets **shots page** of a specific **sequence**.
+For example, you can only see the shots of the second sequence of the first episode.
+
+Select the first episode on the dropdown menu, then search `sq002`; the result
+ gets all the shots of all the episodes from sequence SQ002.
+
+
+
+In the same way, you can search **specific status** link to the task.
+
+::: tip
+You can create **filters** about **entities** on all the pages:
+
+* **Sequences** : `se01`, `se02` etc. or exclude : `-se01`, `-se02` etc.
+* **Asset Type**: `characters`, `environment`, `fx` etc., or exclude `-characters`, `-fx`, etc.
+
+You can also create **filters** about **task status** by following this syntax:
+**task=status** on the global entities page
+
+Examples:
+
+* Layout is a work in progress (wip): `layout=wip.`
+* Concept is waiting for approval (wfa) only for the fx: `concept=wfa fx.`
+* On sequence 2, Layout is wip: `se02 layout=wip`
+* Animation is retaken, and Render is waiting for approval (wfa) `animation=retake render=wfa`.
+
+For the **Detailed task type page**, you can filter by typing only
+- Status: `wip` or exclude `-done`, several status `[wfa] [retake].`
+- Name of an artist: `Alicia` or exclude `-Paul`
+
+You can do a mix of all the filters:
+
+`[wfa] [retake] -alicia 020.`
+:::
+
+## Creating Filters
+
+### Utilising the Filter Builder
+
+The easiest way to achieve more advanced filtering is to use the filter builder. Click on the **Filter Builder** icon show below to get started.
+
+
+
+You can then use the interactive filter builder dialogue to create your desired filter criteria.
+
+
+
+::: warning
+The first option, **Match all the following filters**, will use all the options you select on the filter builder for the filtering:
+
+- Task Status
+- Metadata
+- Assignment
+- Thumbnail Presence
+- Priority
+- Ready for / Assets are Ready
+
+The second option, **Match one of the following filters**, will skip the unavailable filter option.
+:::
+
+### Task Status Filtering
+
+**Task Status** helps you filter a task type by status.
+
+- **Equal** will report all the tasks with this status on this task type
+- **Not Equal** will report all the task **except** this status
+- **In** report all the tasks with all the statuses you've selected
+
+
+You can use the **-** button to remove one of the statuses selected.
+
+You can use the **+** below the status to add more status.
+
+
+
+::: tip
+If you want to filter the status of several task types, click on the **+** below the task status option on the left part of the screen.
+
+
+
+:::
+
+### Metadata Filtering
+
+The **Metadata** filter allows you to filter your page based on the information of the extra columns.
+
+- **Equal** will report all the tasks with this information on this Metadata column
+- **Not Equal** will report all the task **except** this information
+- **In** report all the tasks with all the information you've selected
+
+
+
+::: tip
+If you want to filter elements on several Metadata, you can click on the **+** below the Metadata option on the left part of the screen.
+
+
+
+:::
+
+### Assignment Filtering
+
+This option is related to people and assignments.
+
+- No filter: you don't look for people
+- Assigned to: allows you to search for the task assigned to someone on a specific task type
+- Not assigned to: allows you to search for the task not assigned to someone on a specific task type
+- Assignments exist for: will report all the tasks of a specific task type with an assignation
+- No assignment exists for: will report all the tasks of a specific task type with no assignation
+
+::: warning
+You can only filter assignation on **ONE** Task type for **ONE** person.
+
+You can not add several assignment filters.
+:::
+
+### Thumbnail Filtering
+
+By default, this filter is set to **No filter**, meaning Kitsu won't check whether a thumbnail is present.
+
+Then you have the choice between:
+- With thumbnail: display all the entities with a thumbnail
+- Without thumbnail: display all the entities without a thumbnail
+
+### Priority Filtering
+
+You can filter a task type with a specific level of priority.
+
+::: tip
+To learn more about priorities, see
+[Change Priorities](../estimation#change-priorities)
+:::
+
+First, select your task type, then you can choose between
+- **Normal** (the default level of priority)
+- **High**
+- **Very High**
+- **Emergency**
+
+::: warning
+You can only filter priority on **ONE** Task type for **ONE** level of priority.
+
+You can not add several priority filters.
+:::
+
+
+### Using the "Ready For" status
+
+Depending on whether you are filtering on the asset or shot global page, you can filter on the **Ready For** status.
+
+- On the asset page, you will search for the **Ready for** column.
+
+On the shot page, you will check whether all the assets for these tasks are ready (see Create your production).
+
+::: warning
+You can only filter **Ready for**** on **ONE** Task type
+
+You can not add several **Ready For** filters.
+:::
+
+
+## Managing Saved Filters
+
+Kitsu allows you to save any filter queries to be re-used later. You can save them by pressing the
+**Enter**, or click on the **Save** button
+.
+
+Now, under the **search bar**, you can see your saved queries as buttons.
+
+
+
+::: tip
+Notice the first icon on the left and the colored buttons.
+
+It allows you to Create a Filter Group. This way, you can keep your saved filters organized under a colored Group.
+
+
+
+:::
+
+The buttons are there every time you return to this page. They help you run common queries faster.
+
+
+
+Once you have created your filter and saved it, it will appear as a button under the search bar.
+
+You can rename the filter with a more explicit choice of words.
+
+
+The saved filter is quite long and hard to read. Hover your mouse over the saved filter. You will see two icons, one to edit and the other to delete.
+
+
+
+You can now change the name displayed in the **Name** section in the pop-up window.
+
+
+
+You can choose if you want to keep your saved queries in or out of a **Filtered Group**
+
+
+
+
+### Deleting a Filter
+
+If you have created a **filter button** by mistake, click on the cross next to
+it .
+
+The result of the filter is displayed, but the button is not. Just
+cancel your research by deleting the text or use the cross next to the Search
+bar 
+
+
+### Pre-built Filters
+
+You can find pre-built Filters on the following page:
+
+- My Checks
+- Timesheets
+- Team Schedule
+- All Tasks
+- Newsfeeds
+- Concepts
+- Quotas
+- Task Type detailed page (+search bar)
+
+On this specific page, you can select the option we have created for you.
+
+You can select the option you want on the dropdown menu.
+
+# Production Specific Workflow Settings
+
+## Configure Production-Specific Settings
+
+From the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+The first tab, **Parameters** allows you to change the **Technical information** of the production.
+
+::: warning
+If you change the **FPS** or **Resolution** after uploading previews, the changes won't be applied; you must reupload the first previews.
+:::
+
+
+
+Here, you can enable specific options for the production as
+
+- Isolate Client Comments (Not Visible To Each Other)
+
+- Allow Artists To Download Previews
+
+- Set New Preview As Entity Thumbnail Automatically
+
+You can also specify the **Maximum Number of Retakes** for this production.
+
+::: tip
+You can also change the avatar of the production on the **Parameters** tab.
+:::
+
+## Task Statuses
+
+### Configuring Specific Task Types for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load the **Task Status** you have defined when creating the production.
+
+However, you can add or remove specific statuses during production if they are created on the Global Library first.
+
+
+
+On the **Task Status** tab, you can choose which **status** you want to add or remove on this production,
+validate your choice with the **add** button.
+
+
+
+
+## Task Types
+
+### Enabling Specific Task Types for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+By default, Kitsu will add the **Task Types** you have chosen when creating the production.
+
+
+
+However, you can add or remove specific **Task Types** if they are created on the Global Library first.
+
+For example, you can import the task workflow from another production in your library.
+
+
+
+On the **Task Types** tab, you can choose which production or task type you want to import or remove on this production,
+validate your choice with the **Import** button.
+
+
+
+::: warning
+If you had a new task type **AFTER** creating an asset or shot, here is the **DELIVERY** task type.
+
+
+
+You need to **add this task type** on the global page.
+
+
+
+A pop-in will appear, and you must select the new task type on the dropdown menu.
+
+
+
+Validate with **Confirm**.
+
+
+
+:::
+
+## Asset Types
+
+### Enabling Specific Asset Types for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load the **Asset Types** you have defined when creating the production.
+
+However, you can add or remove specific Asset Types if they are created on the Global Library first.
+
+
+
+On the **Asset Types** tab, you can choose which **Asset Types** you want to add or remove on this production,
+validate your choice with the **add** button.
+
+
+
+## Status Automation
+
+### Configuring Status Automation for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load no **status automation** of your
+status automation **Global Library** into your **Production Library**.
+
+
+
+But you can use only specific **Status Automation**, depending on your production type.
+
+
+On the **Status Automation** tab, you can choose which automation you want to use on this production,
+validate your choice with the **add** button.
+
+
+
+
+## Preview Backgrounds
+
+### Select Specific Preview Background for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+
+On the **Preview Backgrounds** tab, you can choose which HDR file you want to add or remove on this production,
+
+
+
+
+
+Validate your choice with the **add** button.
+
+
+
+You can review your 3D file with an HDR background.
+
+
+
+## Artist Board
+
+### Artist Board Status Configuration
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+On the **Task Status** tab, you can reorder the status for the **Board** view.
+
+
+
+
+
+Once it's done, go to the **Board Status** tab.
+
+
+
+Here, you can choose who can see which status on the **Board view**
+
+If you don't select the status properly, it can be overwhelming for the artists if they have too much choice.
+
+
+
+Selecting the **Status** properly will make it easier for the artists.
+
+
+
+
+
+
+
+# Assignments, Estimates and Scheduling
+
+# Tasks Assignments
+
+In Kitsu, a task is a fundamental element used for planning, organizing, and tracking various aspects of your production.
+
+Assigning a task to a user offers several benefits:
+- You have a clear understanding of who is responsible for each task.
+- Users are aware of their assigned tasks.
+- Users can log time spent on each task.
+- You can monitor individual workloads.
+- Task groups by user are visible on the detailed task type page.
+- The team schedule provides an overview of your studio.
+- You can forecast team productivity.
+- You can track the actual performance of your team.
+
+## Add Users to the Team
+
+In the [section on preparing your team](../team), we cover how to add people to Kitsu, set their permission levels, and link them to a department.
+
+::: tip
+In order for a user to be assigned to a task, they must first be added to a production. Please note that you cannot assign tasks to users outside of the production.
+:::
+
+First, lets add some users to our production. Within your project, from the dropdown menu at the top of the page, select the **Team** page.
+
+
+
+On the this page, you can see all the users who have been assigned to this project. If you've just created a brand new project, this page will be empty. for a specific project. You can also quickly navigate to the team page for a different project, by selecting the project name in the drop down menu.
+
+
+
+::: warning
+Permissions and departments are set at the **Studio Level**. You can't adjust these at the production level.
+:::
+
+## How to Assign Tasks
+
+### Assign Tasks From the Global Page
+
+Once you've added all your users to the production, it's now time to assign your first task!
+
+::: tip Definition
+In Kitsu, tasks from each task type are visually represented by the Status of the task cell, as shown below.
+:::
+
+
+
+Click the status on the task that you want to assign.
+
+You'll then see the **comment panel** appear on the right side of the screen, containing various options for configuring that task.
+
+
+
+Then, click on the assignee button to open the assignment dialogue
+
+
+
+This is where you can assign users to the task. Click into the box to reveal a popup with available users. Alternatively you can start typing the users name to quickly narrow a specific user. Select the user you want to assign, and click on the **assign to selected task** button to complete the assignment.
+
+::: tip Note
+You can assign more than 1 user to a single task
+:::
+
+You can also assign a user to multiple tasks simultaneously. First, you'll need to select the tasks you want to assign. You can do this by holding **Ctrl / Cmd** on your keyboard and clicking on the tasks you want to select. Alternatively, you can use the **Shift** key to select a range of tasks. You'll notice that the selected tasks are highlighted in blue.
+
+
+
+Once you have your tasks highlighted, select a user to assign and confirm your selection by clicking the **Confirm** button. Similarly, you can use the **unassign from selection** option to remove these assignments.
+
+Now, you can see the artist's avatar next to each of the task's status.
+
+
+
+You can toggle the visibility of task assignments on or off by using the **Show/Hide Assignments** button located at the top of the spreadsheet .
+
+Keep in mind that task assignments can determine what a user sees, depending on their role (for instance, vendors need to be assigned to a task before they can view anything).
+
+With your assignments completed, everyone knows their tasks and responsibilities!
+
+### Assign Tasks From the Detailed Task Type Page
+
+You also have the option to assign tasks from the detailed task type page. To access this, click on the column header of the task type.
+
+Next simply click on a status to open the comment panel. From there, you'll have the same options available as on the global page. You can select one or multiple tasks simultaneously to assign a user.
+
+# Estimates & Team Quotas
+
+Estimating the time for each task can feel overwhelming, but the benefits far outweigh the effort. By filling out task estimations, you can:
+
+- Clearly see the estimated days for any task in your production.
+- Easily compare task estimates with actual time taken, allowing you to more accurately forcast tasks in the future.
+- Adjust tasks from the entity schedule or team schedule once they have estimations, start, and due dates.
+- Help your artists stay organized and be aware of the time they should spend on each task.
+- Improve forecasting for your current and future productions.
+
+Kitsu offers various features to help you easily track, review, and forecast task estimates. Let's look at some of the features that enable you to do this.
+
+
+## Add an Estimate for a Task
+
+To get started, click on the name of a task type.
+
+
+
+You'll then be taken to the Detailed Task Type view. Here you can see a list of of every task of that specific task type, along with additional details.
+
+
+
+To add an estimate to a task, click on the **Estimate (Est.)** field and input the number of days. You can select multiple tasks with **ctrl / cmd** or **shift** and apply the same estimate across all selected tasks.
+
+::: tip
+The duration represents how long your task actually took and is calculated automatically from logged time. We will cover this in more detail later.
+:::
+
+You can also define a **Start date** by clicking into the field, and choosing a data from the pop-up calendar.
+
+The **Due date** is automatically calculated based on **Estimate** and **Start Date** provided.
+
+
+
+### Detailed Task Type View Features:
+
+Here is a summary of the cases and features you can leverage from the detailed task type view.
+
+- See and change the status of tasks
+- Assign people to tasks
+- Add an estimate for the task (in days)
+- View the cumulative sum of logged time from an artists timesheet
+- Track the number of back-and-forths with the retake status
+- Add a start date for the task using the calendar picker
+- View the auto-generated due date based on the start date and estimate
+- See the WIP and Feedback dates automatically filled in
+- Monitor the latest comment section to keep an eye on the latest activity for this task type
+
+## Forecasting Team Speed
+
+### Forecast Your Team's Speed Using Estimated Quotas
+
+To help you set accurate estimates, you can use the **Estimation** tab.
+
+
+
+The left half lists the tasks with their assignments and the number of frames (1). Based on the **FPS** you have set for the production, the number of **seconds** will be automatically calculated (2).
+
+::: tip Definition
+**Quotas** visualize your **team speed**.
+
+You can see on average how many shots, frames, or seconds the artist needs to complete daily to finish all tasks within the **estimated number of days**.
+:::
+
+The right half shows the entire department team (based on the assignments you made), the number of shots they need to complete, the number of frames and seconds, and the average quota. You will also see the **Remaining** line, which gives you the current status of your team.
+
+The last column is the **Estimation**. To modify the estimate, hover over the row with your mouse and click the editable area.
+
+You can also select multiple tasks simultaneously to edit them all at once.
+
+
+
+Every time you change the **Estimation** (in the number of days) on the right side, you will see that the **Average Quota** updates in real time.
+
+For more information about the **Schedule** tab, refer to [Task Type Schedule](../schedules#Set-a-Task-Estimation).
+
+## Quotas
+
+### Using Quotas to Understand Your Teams Speed
+
+Kitsu has two ways to calculate quotas per **task type**.
+
+### Quotas Based on Timesheets
+
+The first method is linked to the timesheet:
+Shots are considered complete when the first feedback request is made. Quotas are then weighted according to the time spent on the task, as recorded in the timesheet by the artist.
+
+
+
+In this example, Kitsu weights the daily quota based on the timesheet entries.
+
+
+
+### Quotas Based on Status Changes
+
+If no timesheet is filled out, Kitsu uses status changes to estimate the duration:
+- The task is considered started when the first status change to WIP occurs.
+- The task is considered completed on the day the feedback request is made.
+
+Kitsu then distributes the completed frames across all business days between the start and end dates. It calculates the number of frames (or seconds, or tasks) completed per day/week/month per artist.
+
+
+
+You can click on a number at any time to see its details in the right panel.
+
+## Changing Priorities
+
+Priorities are often changing during a production, and you may want to easily highlight this change in priority to your team.
+
+To do this, click on the space near a task's status (1).
+
+
+
+The action box will appear.
+
+
+
+Click on the icon in the action menu to choose **Change Priority**.
+
+
+
+There are four levels of priority: **Normal**, which is the default value for all tasks, **High**, **Very High**, and **Emergency**. Save the changes with the **Confirm** button.
+
+As with changing statuses or assignments, you can change the priority across multiple tasks at the same time by selecting the tasks, and choosing **Change priority of the selected tasks**.
+
+
+
+You will now see exclamation marks next to the task status. The more exclamation marks there are, the more urgent the task is.
+
+* (1) is **Normal**
+* (2) is **High**
+* (3) is **Very High**
+* (4) is **Emergency**
+
+
+
+# Schedules
+
+## Production Schedule
+
+As the Studio Manager, you can use the global schedule as a reference for your production. The main purpose of this schedule is to track the milestones linked to your contract. This is referred to as your **Reference Schedule**.
+
+In order to start filling out your global schedule, you need to populate the production with assets and shots and define your task types.
+
+In the drop-down menu, choose **SCHEDULE**.
+
+
+
+### The Production Schedule Gantt Chart
+
+At the top of the schedule, you can see the project's start date (1) and the end date (2), which was defined when creating the production. You can modify these dates by clicking on the box to open the calendar and pick a date.
+
+
+
+You can modify the start and end dates for each of your task types on the Gantt schedule in one of two ways: the first is by moving the bar directly, and the second is by entering the date on the settings page under the task type section.
+
+For the former, place your cursor on the start or end date; the cursor changes to a double arrow. Then, drag and slide to the desired date.
+
+
+
+After setting the start and end dates for your task types, you should be able to see at a glance the flow of your production.
+
+::: tip
+You can select all the Gantt chart bars and move them simultaneously with **CTRL / CMD** + **Left Click**.
+:::
+
+
+
+With that complete, the next step is to unfold each task type to reveal the associated shots sequences / assets types.
+
+
+
+You can set the start and end dates the same way you would for the task type. You can also define the work period for all asset types.
+
+
+
+You can do the same for the shot task types and determine the start and end dates for the sequences.
+
+
+
+### Milestones
+
+A milestone is a significant point in a project that marks the completion of a major phase or task and serves as a checkpoint to assess progress. When hovering over a date in the schedule, you'll see  appears.
+
+
+
+When you click, you'll be prompted to give a name to your newly created milestone.
+
+
+
+Milestones are represented by a small black dot on the date and a vertical line on your schedule. If you hover over the little black dot, the milestone's name appears.
+
+This is a great way to quickly reference important upcoming dates or deliverables in your production against your productions schedule.
+
+
+
+To edit a milestone, click on the  or anywhere on the milestone name. From there, you can rename or delete the milestone.
+
+
+
+Everyone assigned to the production can access the global schedule page, but only the **Studio Manager** can modify it.
+
+To view specific tasks in more detail, click on the task type's name. This will lead you to the **Schedule** tab of the task type page.
+
+## Task Type Schedule
+
+Whereas the **Global Schedule** is used to references task types across the entire production, the **Task Type** page is used to drill down into the details for tasks in a specific task type.
+
+
+
+There are 3 tabs on this page: **Tasks**, **Schedule**, and **Estimation**.
+
+
+
+There are two ways to set the artist's Schedule.
+
+The first method is via the **Tasks** tab, where you will set **Estimated Time** and the **Start Date**. As we saw previously, setting both of these will automatically fill out the **Due Date**. Once those details are filled out, the Gantt chart on the **Schedule** tab will be automatically generated.
+
+::: tip
+Remember that on the Gantt you can click and drag to modify the start / end date, but the duration of the task will always be auto-calculated using the end date and duration
+:::
+
+The second method is to set the length directly (**Estimate**), **Start Date**, and **Due Date** from the Gantt chart.
+
+
+
+
+Put your cursor on the start date, and the cursor will change to a double arrow. Then, drag and slide to adjust the start date. Define your **Due date** by filling in the **MD**.
+
+You can use the search bar (1) to narrow down a specific set of tasks. For example, you can search by **status**, **asset type**, **sequence**, **asset name**, **shot name** and **artist name**. (Note that you do not need to add the name of the task type as you are already on a specific task type page)
+
+You can also expand or collapse each Artist (2) section to make the schedule easier to read.
+
+You can change the bar's color in the Gantt chart (3). By default, the coloring is set to Status Color.
+
+
+
+**Status color** changes the bar's color based on its status. For example, blue is for **WIP**, red is for **RETAKE**,
+purple for **WAITING FOR APPROVAL**, and green for **DONE**.
+
+
+
+You can quickly assess the status of your elements and team. From this view, you may want to visually identify tasks that are behind schedule.
+
+From the **Coloring** dropdown, select **late in red**. This view will highlight tasks where the due date has passed but that have not been approved yet. This indicates that they are behind schedule and will show on the Gantt chart as red.
+
+
+
+Changes made on the Gantt chart are reflected in other pages in Kitsu.
+
+The **Start date** and the **Due date** are displayed on the **Tasks** tab of the task type page.
+
+
+
+Additionally, you can view the **Due date** and **Estimation** days on the **Todo Page** of an Artist.
+
+
+
+Access to this page is visible to everyone, but only the **Studio Manager** can modify it.
+
+## Asset and Shot Schedule
+
+On the detail page of an asset or a shot, you can access the **Schedule** tab.
+
+
+
+If you have entered a start and due date on the **Task Type** schedule, the Gantt bar will be displayed.
+
+From this page, you can modify the length, start, and end dates of each task in the asset or shot.
+
+## Studio Schedule
+
+As a production manager, you have access to the Studio Schedule, which consolidates all production schedules in one place, aiding in better preparation for your productions.
+
+To access the Studio Schedule, navigate to the main menu () and click on **Main Schedule** under the **Studio** section.
+
+
+
+Here, you'll find all your productions listed on each row, including their start and end dates. Additionally, you can view the number of days planned for each production within the specified timeframe. Furthermore, you can see the milestones you've defined for each production.
+
+
+
+When you click on a production name, you can expand the view to see full details of each task type. The color scheme corresponds to the columns on the global pages.
+
+
+
+It's important to note that you cannot modify your production schedules directly from this page. To make adjustments, you'll need to navigate back to the specific production schedule page you wish to modify.
+
+Access to this page is restricted to the **Studio Manager**.
+
+## Team Schedule
+
+As a studio manager, staying informed about team activities is crucial. For a comprehensive overview of each department's activities, the Team Schedule provides valuable insights.
+
+To access the Team Schedule, navigate to the main menu () and click on **Team Schedule** under the **Studio** section.
+
+
+
+In the Team Schedule, on each row you'll find a list of all personnel in the studio.
+
+At the top of the page, you can adjust the displayed timeframe by selecting the **Start Date** and **End Date**, as well as adjust the **Zoom Level** for a more detailed or broader view.
+
+Additionally, you have the option to hone in on a specific **Department** or individual **Person**.
+
+
+
+In cases where an artist has multiple simultaneous tasks, these tasks will be stacked atop one another for clarity.
+
+You can manipulate each task by selecting and moving it around as needed. These tasks are directly linked and reflected in the **task type schedule**, and can be edited in both areas.
+
+# Statuses, Publishes, and Thumbnails
+
+# Statuses and Feedback
+
+In Kitsu, statuses serve as indicators reflecting the current state or progress of a task. You can easily see the current status at a glance and add comments to update team members when a status changes.
+
+## The Comment Panel
+
+To change the status of a task and write a comment, click on the status of the task.
+
+
+
+A panel will appear on the right where you can write a comment, change the status, and attach a file.
+
+
+
+The **Comment Panel** is split into two tabs:
+- POST COMMENT
+- PUBLISH REVISION
+
+You can change the **Status**, from the **POST COMMENT** tab.
+
+Comments support the use of **Markdown**, which is a markup language used for formatting plain text in a simple, readable way. It allows users to add basic formatting elements such as headings, lists, bold and italic text, links and much more. For specific syntax, you can refer to the markdown guide website: [Markdown Guide](https://www.markdownguide.org/basic-syntax/).
+
+### Tagging Team Members
+
+You can also **tag** a team member in the comments to notify them directly. To do this, type `@`, which will open a submenu with a list of team members. Select the person you wish to notify, and upon submitting your comment, they will receive a notification.
+
+
+
+You can also **tag** an entire department by typing '@' followed by the department's name.
+
+
+
+### Adding Checklists
+
+You can also add checklist items to keep track of miscellaneous items that don't warrant their own task. To add a **checklist** to your comments, click the **Add checklist** button. The first item of the checklist will appear.
+
+
+
+Hit **Enter** or click the button again to add more checklist items, and give each one a name.
+
+
+
+### Adding Attachments
+
+To attach a file as a picture, click on the **Add attachment** button.
+
+
+
+Select a **file from your hard drive** or paste a **screenshot**.
+
+
+
+Validate the attachment by clicking on **Add file as attachment**.
+
+Next, select the **Status** you wish to change the task to from the dropdown menu.
+
+
+
+Finally, click the **Post** button to submit your comment and status update.
+
+## Changing Statuses In Bulk
+
+### Updating Multiple Statuses at Once
+
+You can also change the status for multiple tasks at once.
+
+Select multiple shots or assets by pressing **Ctrl / Cmd** or **Shift** and select the tasks you wish to include.
+
+Then, go to the action menu's **Change status** section.
+
+
+
+Choose the new status for your selected tasks (1). You can also add a comment for all the selected tasks (2). Save the new status with the **Confirm** button.
+
+
+
+
+
+## Artist Board Statuses
+
+### Customizing Statuses Used on the Artist Board Page
+
+When you assign a task to an artist, it will appear on their to-do page when they log in.
+
+While the default view shows their tasks in a traditional list view, they can also choose to display their tasks in a board view. Each **Status** will be be represented by a column, and the assigned tasks will be cards that can be dragged from status to status as the tasks progress.
+
+To customize the board view, go to the settings page of your production.
+
+
+
+Then go to the Task Status tab. You will see a list of the statuses used in your production.
+
+These statuses will be used as the columns on the board page. You can drag and move the statuses to change their order as they appear in the board view.
+
+
+
+Next, click on the **Board Status** section.
+
+
+
+Here you can customize which permission roles can see what statuses on their **Board** page.
+
+To access this view, select the **Board** tab from the **My Tasks** page. Your team will see a page that looks similar to this
+
+
+
+::: tip
+Customizing which statuses appear in the **Board** view is set per permission role. It cannot be customized on an individual user basis.
+:::
+
+# Publishes
+
+## Publishing a Concept
+
+To publish a **Concept**, navigate to the **Concepts** page from the project navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button. You can upload one or several concepts simultaneously.
+
+
+
+After the upload is complete, previews will be generated and visible from your concepts page.
+
+
+
+Click on the thumbnail to see an enlarged preview of your concept, or click on the status to open the **Comment Panel** on the right.
+
+With the comment panel open, you have two options:
+
+1) You can link a concept with an existing asset / delete and existing link.
+2) You can comment and change the status of the concept.
+
+It is good practice to only have one version per **Concept**. If the concept is not approved and requires additional changes, then it's better to version-up that concept.
+
+
+
+## Linking a Concept to an Asset
+
+Once concepts are uploaded, you can link them to assets.
+
+The name of the linked asset is displayed below the thumbnail of the concept, and above the status. If no asset is linked, this area will be blank.
+
+Click on the status of the concept to open the comment panel on the right.
+
+
+
+From here you can adjust what the concept is linked to, or delete it. In our example below, the concept is not currently linked to an asset.
+
+To link an asset, click on the **Link**  button.
+
+Kitsu will display all the **Assets** available to link with the uploaded concept.
+
+
+
+Select the assets from the list that you want to link to. The linked asset names will then appear at the top of the screen and will also display under the concept's thumbnail.
+
+
+
+Once a concept is linked to an asset, it can be seen and referenced from the asset's detail page. Return to the asset page and click on the asset which you just linked to your concept.
+
+
+
+By default, the casting detail is displayed on the second part of the screen. Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them by status.
+
+
+
+## Publish a Preview as a Version
+
+To publish a preview, picture, or video, access the task's comment panel and select the **PUBLISH REVISION** tab.
+
+Kitsu automatically switches to the **Publish Revision** tab when using a status with the **IS FEEDBACK REQUEST** option, such as the **WFA** Status.
+
+
+
+You can add one or several previews to any comments. These can be a picture (`.png`, `.jpg`, `.jpeg`, `.gif`), a video (`.mp4`, `.mov`, `.wmv`), or a `.glb` file. Additionally, you can review all the previews from the browser or mix everything.
+
+You can also review a `.glb` file as a wireframe or add a `.HDR` file to check the lighting. See the **Customization** section for more details.
+
+[Pipeline Customization](../configure-kitsu#3d-backgrounds)
+
+Other files like `.pdf`, `.zip`, `.rar`, `.ma`, or `.mb` cannot be viewed in the browser and need to be downloaded to be reviewed.
+
+Then, click on the **Add preview revision to publish** button. The explorer opens, allowing you to choose your file or several files.
+
+
+
+You can also **copy-paste a screenshot** from your clipboard into this upload dialogue, without needing to download it first. Once your file is selected, you will see its name near the **Add files to publish** button.
+
+
+
+You can also **drag & drop** files that you wish to upload into the comment section to automatically start the upload process.
+
+
+
+On top of your preview, you can add a **Comment**. Click the **Leave a Comment** button to unfold the comment section.
+
+
+
+You can then select your status and publish your preview with the **Post** Button.
+
+For more information on using publishes as thumbnails, [see this section here on thumbnails](../thumbnails).
+
+## Combining Previews Into a Version
+
+You can add multiple images simultaneously, or once you have uploaded an image, you can add another one.
+
+
+
+The **Add preview** pop-up asks you to choose a file. You can navigate through the pictures uploaded.
+
+You can change the preview order by clicking the number and then dragging and dropping them.
+
+
+
+To delete an additional preview, enlarge the comment panel, click on the number of versions, and then click on the .
+
+
+
+# Thumbnails
+
+## Add Thumbnails Manually
+
+To define a preview as a thumbnail, the preview MUST have been uploaded as a revision.
+
+Click on the status you want on the list page, then click the **Preview** button (1) on the right panel.
+
+
+
+Once you click on the button, you can choose to pick the first or any frame. Once the frame is selected, the thumbnail appears, and the button turns gray.
+
+
+
+## Add Thumbnails Automatically
+
+If you prefer to have your thumbnails populate automatically, you can navigate to the settings page from the production using the navigation menu.
+
+
+
+On the **Parameters** tab, select **set new preview as entity thumbnail automatically**.
+
+
+
+Don't forget to **Save** changes when you are done. Now, as soon as you upload a preview, it will be used automatically as a thumbnail.
+
+## Batch Upload Previews (as Thumbnails)
+
+Use the **Add Thumbnails** button  on the global page to import thumbnails in bulk.
+
+
+
+A new pop-up opens and asks you to choose which task types the thumbnails are linked to.
+
+**Thumbnails batch import accepts image files and video files**. Only the first frame is used as the thumbnail for the video files.
+
+In order for the thumbnails to be automatically links to the correct shot, you have to name your thumbnails as sequence_shot.
+
+For example, if you your sequence is named `SEQ_001` and your shot is named `SH_001`, then your thumbnail filename should be `SEQ_001_SH_001`.
+
+# Internal Review and Client Playlists
+
+# Reviews
+
+## Reviewing Tasks
+
+When an artist needs someone to **review** their work, they can change the status of their task to .
+
+Click on the status to open the right hand panel and start the review.
+
+You can watch the version from the right panel, enlarge it by grabbing the side of the panel, or even enter fullscreen by clicking this icon .
+
+
+
+In the same way, you can also review 3D files (`.glb` file) as a wireframe or add a `.HDR` file to check the lighting.
+
+You can move around the 3D file by dragging and dropping your cursor and zooming in or out with the scroll wheel.
+
+
+
+
+
+See the **Customization** section for more details.
+[Pipeline Customization](../configure-kitsu#3d-backgrounds)
+
+You can select a color to use and then draw directly on the preview with the **Pencil** tool .
+
+
+
+### Drawing Annotations
+
+You can also annotate the frame with **text**.
+
+
+
+If you'd like to temporarily **hide annotations**, click the **Fountain Pen** button.
+
+
+### Tagging Frames
+
+If you would like to refer back to a specific frame in your comments, you can easily tag a frame by typing `@`, which opens a sub-menu with the team list, and then start typing **frame**.
+
+This will then add a timestamp of the current frame to this comment, and clicking on that timestamp will jump to said frame.
+
+
+
+### Exporting Annotations
+
+You can also export your drawings on each frame by attaching the **screenshots as attachments**.
+
+Click on the **Add attachment** button.
+
+
+
+You can also choose to **Attach snapshots from your annotation** in the attachment options. This lets you take annotated frames and add them as attachments of the comment, which can be useful if you want to highlight specific annotations in your feedback.
+
+
+
+Once you click the button, Kitsu will grab all the frames with annotations and display the result. You can publish them with **Confirm**.
+
+
+
+### Deleting Annotations
+
+If you need to delete a line, click the pencil icon again. The cursor changes to a multi-directional cross , and you can then select your line and move it around.
+
+
+
+Select the line with the directional cross, then press the **delete** icon .
+
+### Comparing Images
+
+By entering **Full-Screen**, you can compare two task types or versions side by side by clicking on the **Compare** button .
+
+
+
+From here, you can change the status to  if you want the artist to make changes.
+
+Alternatively, you can change it to  to notify the artist that their work is approved.
+
+## Reviewing Concepts
+
+Once your artists upload a concept, you can review it with the supervisor or the director.
+
+To review the concept, use the navigation menu at the top of the screen and select the concept page.
+
+
+
+You can see all the uploaded concepts, their statuses, assignments, and linked assets.
+
+
+
+To review a concept, click on the status to open the comment panel. You can enlarge the comment panel or go fullscreen.
+
+Then, proceed to write a comment, select the status **Approved** or **Rejected**, and confirm with the **Post** button.
+
+
+
+You can filter the page with the **Status** filter to display all the concepts with a **Neutral** status. You can also filter by artist and change the sort order.
+
+
+
+## Playlists
+
+### Create a Playlist
+
+A playlist is list of curated versions / previews compiled for review and approval. You can find the **Playlists** page in the drop-down menu.
+
+
+
+The **Playlist** page is separated into two parts:
+
+- (1) A list of your playlists where you can **create** a news ones or load an existing one.
+- (2) The last created playlists and the last modified playlists.
+
+
+
+Start by creating a **Playlist** using the  button. The playlist name defaults to the current date & time, but you can change this. You can choose if the playlist will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist. You can also add a **Task Type** tag to the playlist.
+
+
+
+### Populating a Playlist
+
+Once the playlist is created, use the search/filter bar to select which shots to add to your playlist.
+
+You will also see options for adding the an **entire episode** / **entire sequence** if you want to add large chunks of the project at once.
+
+You can select **Daily pending**, which will add all the **WFA** tasks of the day.
+
+You can use the same **filters** as the global shot/asset page. For example, you can select all the **WFA** (short for "work for animation") tasks at the **Animation** stage by typing **animation=wfa** in the search bar. Validate your selection with the **Add selection** button. Kitsu will select the shots with the **WFA** status at the **Animation** stage and automatically load the **latest uploaded version**.
+
+The shots appear in the top part of the screen. Every change is automatically saved.
+
+
+
+## Review Controls
+
+Once you have created a playlist, you have several options:
+
+
+
+* Play or Pause
+* Jump between elements in your playlist
+* See the position of the selected element compared to the total number of elements
+* Mute or unmute the audio
+* Change the speed: double speed (x2), full speed (x1), half speed (x0.50), or quarter speed (x0.25)
+* Continuously loop a single element
+* Display audio waveforms
+* Display annotations during playback
+* Show timecode (TC) of the element compared to the TC of the whole playlist
+* Display the number of frames
+* Navigate frame by frame on the preview (you can also use the left & right arrow keys on the keyboard)
+* Access the cmpare tool
+
+* Undo and redo options annotations
+* Text and drawing options (including delete selection)
+
+* Change the task type of all the elements in the playlist
+* Display the comments section
+* Hide elements in the playlist
+* Switch between LD (low definition) and HD (high definition)
+* Download the playlist as a **Zip** file with all the separate elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
+* Enter fullscreen mode
+
+For each shot/asset in the playlist, you can choose the **task** and the **version** you want to see.
+
+
+
+
+You can also play two tasks of a shot side by side.
+
+Click on the **Compare** button  and choose the second task type.
+
+
+
+You can comment on the shots directly from the preview.
+
+Click on the **comment** button.
+
+
+
+You now have access to the right panel, which shows a history of the comments and their statuses.
+
+You can see the drawing comment on the video (the red dot below the timeline).
+
+
+
+You can draw or type on the video (similar to [Perform a review](../status-publish-review#perform-a-review)) using the **draw** button .
+
+## Review Room
+
+The Review Room is a collaborative space designed for efficient and synchronized dailies review sessions. It ensures that all participants are viewing the same content simultaneously, facilitating real-time feedback and discussion.
+
+To learn more about the Review Room, [visit this section here](../playlist-client#review-room).
+
+# Daily & Weekly review
+
+For your dailies or weeklies, you can create a **Playlist**
+
+## Create a Playlist for your internal review
+
+You can find the **Playlists** page on the drop-down menu.
+
+
+
+The **playlist** page is separated into two parts:
+
+- (1) The playlist list where you can **create** a playlist or load an existing one.
+- (2) The last created playlists and the last modified playlists
+
+
+
+Start by creating a **Playlist**
+. Your default name
+is the date and the hour. You can change it immediately. You can choose if the playlist
+will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist.
+You can also add a **Task Type** tag to the playlist.
+
+
+
+Once the playlist is created, via the search/filter bar, you can select which shots to add
+to your playlist.
+
+You can also choose to **add the whole movie**, and it will add all the shots of the movie.
+
+You can select **Daily pending**, which will add all the **WFA** tasks of the day.
+
+Otherwise, you can **Add the whole sequence** if you want to focus only on a particular sequence.
+
+You can use the same **filter** than on the global shot/asset page. For example, you can select all the
+WFA is short for the animation stage.
+You have to type **animation=wfa** in the search bar. Valid your selection with the **Add selection** button.
+Kitsu will select the shots with the **WFA** status at the **Animation** stage. Still, Kitsu will automatically load **the latest uploaded version**.
+
+The shots appear on the top part of the screen. Every change are
+automatically saved.
+
+
+
+## Review and Validations
+
+Once you have created a playlist, you have several options:
+
+
+
+* Play or Pause
+* Navigate from element to element
+* See the position of the selected element compared to the total number of elements
+* Mute or unmute the sound
+* Change the speed, double speed (x2), full speed (x1), half of the speed (x0.50), or a quarter of the speed (x0.25)
+* Loop on one element
+* Display the sound wave
+* Display annotations during the play
+* TC of the element compared to the TC of the whole playlist
+* Number of frames
+* Navigate frame per frame on the preview. You can also do it with the arrow on the Keyboard.
+* Compare tool
+
+* Undo and Redo option for the drawing comment
+* Text and drawing option, and delete selection
+
+* Change the task type of all the elements of the playlist
+* Display the comment section
+* Hide the elements of the playlist
+* Switch between LD (low definition) to HD (High definition)
+* Download the playlist as a **Zip** files with all the separated elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
+* Fullscreen
+
+For each playlisted shot/asset, you can choose the **task** and the
+**version** you want to see.
+
+
+
+
+You can also play two tasks of a shot side by side.
+
+Click on the **Compare** button  and choose the second task type.
+
+
+
+
+
+The primary purpose of the playlist is to help you review the shots and assets.
+
+You can comment on the shots directly from the preview.
+
+Click on the **comment** button.
+
+
+
+You now have access to the right panel, which has a history of the comments and their status.
+
+You can see the drawing comment on the video (the red dot below the timeline).
+
+
+
+You can draw or type on the video with the **draw** button 
+
+# Client Playlists
+
+## Creating Client Playlists
+
+The first step in preparing a review with your client is to create a playlist of the content you wish to share and review. The process is similar to creating a regular playlist but Kitsu includes some nice features to aid with collaborate from parties outside your studio.
+
+To get started, you'll need to create your playlist and add the items you want to review. [See this section here for a reminder on how to do this](../review#create-a-playlist).
+
+The main difference is to ensure under **To Be Shared With** you select **The Client**. This will ensure the proper permissions and only provide the client access to this specific playlist.
+
+
+
+## Reviewing Client Playlists
+
+Once you have created a playlist, you can notify your client that it is ready for review.
+
+
+
+::: warning
+Your client will only have access to the production if they are part of the team, and they will only see the **client playlist**. Please note there is currently no way to segregate clients within the same production,
+:::
+
+The client has several options to control the playlist.
+
+::: danger Client Permissions
+- Clients can see all versions of all task types.
+- Clients can only see comments they have made and any replies to these comments. They cannot see your internal comments.
+- Clients can only see when a revision has been published, but cannot see who published it.
+- Clients can only see and use statuses with the **Is client Allowed** tag.
+:::
+
+
+
+Clients can (from left to right):
+* Play or Pause the video.
+* Loop on one element.
+* Switch between LD (low definition) and HD (high definition).
+* Change the speed: double speed (x2), full speed (x1), half speed (x0.50), or quarter speed (x0.25).
+* Display annotations during playback.
+* Mute or unmute the audio.
+* Display the audio waveform.
+* Change the task type of all the elements in the playlist.
+* Use the compare tool.
+* Use text and drawing options, and delete selections.
+* Display the comment section.
+* Hide elements of the playlist.
+* Download the playlist as a **Zip** file with all the separate elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots).
+* Enter fullscreen.
+
+::: tip
+The client can navigate frame by frame on the preview using the left and right arrows on the keyboard.
+:::
+
+The client can also:
+* Navigate from element to element by clicking on it.
+* See the color status and length of each element compared to the total.
+* See the position of the selected element compared to the total with the green dot.
+
+## Playback Controls
+
+For each playlisted shot/asset, the client can choose the **task** and the **version** they want to see.
+
+
+
+
+They can also play two tasks of a shot side by side by clicking on the **Compare** button  and choosing the second task type.
+
+
+
+::: tip
+The primary purpose of the playlist is to help the client review the shots and assets. They can comment on the shots directly from the preview.
+:::
+
+To comment, they need to click on the **comment** button.
+
+
+
+This will open the right panel, showing their comments and status history, but without access to internal comments and statuses.
+
+They can draw or type on the video with the **draw** button  and write a comment at the same time.
+
+
+
+You can see the drawing comments on the video (indicated by the red dot below the timeline).
+
+::: warning
+Only the supervisor and production manager can see the client's comments. Artists will only see the status.
+
+The supervisor and production manager can copy the client's comments, modify them if necessary, and publish them for the team.
+
+
+:::
+
+## Review Room
+
+The Review Room is a collaborative space designed for efficient and synchronized dailies review sessions. It ensures that all participants are viewing the same content simultaneously, facilitating real-time feedback and discussion.
+
+You can join the **Review Room** by clicking the button at the top of the playlist. The review room will synchronize all the participants.
+
+Everyone in the review room will see the play, pause, shot, and frame selections in real-time.
+
+Additionally, the Review Room supports synchronized drawing annotations. This feature allows participants to draw directly on the frames being reviewed, with all annotations visible to everyone in the session. This capability enhances communication and clarity, making it easier to point out specific details, suggest changes, and highlight important aspects of the work.
+
+
+
+# Supervisor Workflows
+
+# Managing Your Department
+
+A supervisor's role is to oversee the creative and technical aspects of visual effects production, ensuring that the final output meets the project's artistic vision, quality standards, and deadlines. A key aspect of this is to ensure your team knows what they are working on.
+
+## Assigning Tasks & Bidding Estimates
+
+From the global shots / asset page, your view is automatically filtered by **My Department**. This shows you tasks from your departments **Task Type** and the **Custom Columns** linked to your department.
+
+
+
+When you assign one or several tasks to someone, you will notice that you only have access to people from your department. This makes it faster to find the right artist for the task.
+
+
+
+Now that you have assigned tasks to all your artists, it's time to fill in the **Estimates** for each task.
+
+Click on the name of a **Task Type** column to open its dedicated page. On this page, you can access three tabs: **Tasks**, **Schedule**, and **Estimation**. We will focus on the last one.
+
+
+
+The **Estimation** page is split into two parts. On the left, you have all the tasks sorted by artist, along with their number of frames and seconds. On the right, you have a summary of your team, with one line per artist showing the total number of assigned tasks, total number of frames and seconds, and the updated total number of estimated days.
+
+With this information, Kitsu can calculate different estimated **Quotas**: **per Second**, **per Frame**, and **per Task**.
+
+You can now fill the **Estimation** column on the left and see the result on the right. As soon as you fill in an **Estimation** for a task, the artist's row will update on the right.
+
+
+
+This allows you to ensure the distribution of tasks among your team members is equal and helps to understand their estimated quotas for production. You should consider artist's experience and the difficulty of each task when doing this.
+
+## Daily Supervision Tasks
+
+Once the assignments and estimates are done, you can focus on the day-to-day operations. To easily see an overview of tasks from your department, you can click on your task type name from any page.
+
+Once on the detail page, your first action is to click on the **Display tasks as a contact sheet**  button.
+
+
+
+Now, you can easily hone in on tasks that require your attention using the built-in filters. For example, say you want to see only the tasks that are yet not complete yet. In this case, you can filter our tasks with the **-done** status, along with adding a **Due Date Status** filter, to show tasks that are **Due This Week**.
+
+
+
+You can easily enable / disable filters to quickly hone in on the right information.
+
+::: tip
+If you need more information about a task, click on it's name to open the comment panel on the right.
+
+
+:::
+
+## Managing Your Department's Schedule
+
+As a Supervisor, you can access your team's schedule from the main menu under the **Studio > Team Schedule** section.
+
+From this page, you can see all the artists in your current department working on your project. You can expand a person's schedule to see the details of their tasks.
+
+From there, you can:
+- Move tasks to change their start and due dates.
+- Adjust the length of tasks.
+- Drag and drop tasks to reassign them to different team members.
+- See days off.
+
+
+
+## Managing Department Quotas
+
+A quota refers to the specific amount of work or number of tasks an artist is expected to complete within a given timeframe, ensuring that the project progresses according to schedule and meets production deadlines.
+
+At the beginning of production, while setting estimates for each task, you can also define estimated quotas for each of your artists. Once a task is approved, the remaining line on the Estimation tab of the Task Type page will update and display the remaining number of tasks and the updated estimated quotas.
+
+You can monitor each team member to see if their estimated quotas stay within the initially established range.
+
+
+
+To check their **Actual Quotas**, go to the **Quotas** page.
+
+
+
+Kitsu has two ways to calculate quotas. The first is based on daily timesheets filled out by the artists. Quotas are calculated from when the artist fills out their first timesheet on a task until they stop.
+
+The second way is based on status. The calculation starts with the **WIP** status and ends with the **WFA** status. This is **First Take** quotas, meaning that back-and-forth comments are not included in the calculation.
+
+
+
+The first column, **Average**, is the most important. Kitsu calculates the average quotas for each artist per **Day**, **Week**, or **Month**.
+
+## Department Timesheets
+
+As a Supervisor, you may also be responsible for monitoring your team's hours. The Timesheet page shows how many hours they work daily, weekly, and monthly.
+
+
+
+It's important to highlight abnormal patterns such as extra hours, sick days, or lack of vacation. The timesheet view can provide a high-level overview of where artists are spending their time, which can help you take care of your team to ensure they are not burning out.
+
+
+
+# Task Supervision
+
+## Check Your Tasks
+
+A supervisor will typically have tasks assigned to them in addition to supervising your department. This means you need to split your time between completing your work and managing your team. Here's how to effectively manage what tasks you need to do.
+
+When you log into Kitsu, you'll notice the **My Tasks** button at the top of the screen. This provides direct access to your **to-do list**. By default, the list is sorted by priority, so the task at the top are the ones recommended address first.
+
+On the My Tasks page, you can filter the task list by Production, Task Type, Status, and other criteria.
+
+
+
+To view more details about a task, click on its **Status** to open the comment panel. Here, you can comment on the task and publish a new revision if needed.
+
+
+
+You can also use the Board to quickly update the status of multiple tasks by dragging and dropping into each status column.
+
+
+
+## Reviewing Previews
+
+Now that everyone in your team knows what to do, you need to review their work. Typically, when an artist finishes a task, they will call you for a review. Frequent interruptions can be unproductive and make it difficult to maintain focus. To avoid this, set a specific timeframe for reviews. This approach benefits both you and your team by providing a structured schedule. Artists will know when they can expect feedback and can plan their work accordingly, while you can dedicate uninterrupted time to your own tasks.
+
+Click the **My Checks** button at the top of the screen to see a list of all your department's **WFA** tasks.
+
+
+
+This list covers all relevant **Productions**, **Task Types**, and **Task Statuses**. As with other pages in Kitsu, you can click on a **Status** to open the **Comment Panel** on the right and review tasks one by one.
+
+Alternatively, you can use the **Build playlist from list** button to create a playlist with all the tasks on the list. This playlist has the same options as other views, allowing you to open the comment panel, compare versions and task types, and add annotations.
+
+
+
+
+Another option is to go to the **Task Type Page** and change the **Display as contact sheet**. For example, you can filter by **Due Date Status** and select **Due this week**.
+
+
+
+From here, you can click on the contact sheet to open the comment panel or select several tasks to create a playlist.
+
+## Reviewing Concepts
+
+When your artists upload a concept, you can review it through the navigation menu at the top of the screen by selecting the **Concepts** page.
+
+
+
+On this page, you can see all uploaded concepts along with their status, assignment, and linked assets.
+
+
+
+To review a concept, click on its status to open the comment panel. You can enlarge the comment panel or enter fullscreen. You can then write a comment, set the status as **Approved** or **Rejected**, and confirm your changes with the **Post** button.
+
+
+
+You can narrow down the page using the **Status** filter to display all concepts with a **Neutral** status.
+
+
+
+Additionally, you can filter by artist and change the sort order to better hone in on the data you need to review.
+
+# Producer Workflows
+
+# Building Production Reports
+
+## Production Overview
+
+As a Producer, having a comprehensive overview of the entire production process is essential.
+
+Kitsu offers various tools to help you stay informed and manage production efficiently without getting overwhelmed by notifications or losing focus.
+
+### News Feed Features
+The news feed section show real-time updates relating to your production, including:
+
+- **Real-Time Updates**: View all status changes as they happen, minute by minute.
+- **Summarized View**: The right part of the screen displays the total number of news items and a breakdown by status.
+- **Filtering Options**: Filter the list by Task Status, Task Type, and Person to focus on specific areas.
+- **Comment Panel**: Clicking on a line opens the comment panel on the right, providing all necessary details.
+
+
+
+#### Using Filters
+
+You can customize the time frame for displaying information using the **Filters Builder** button. This is useful for focusing on specific supervisors or time periods.
+
+
+
+#### Example
+
+If you want to focus on a supervisor for a specific month, select their name and pick a date in the **From** box.
+
+
+
+## Know the Current State of the Production
+
+Understanding the current state of your production is crucial. Kitsu provides detailed statistics and visualizations to help you track progress effectively.
+
+### Short / Feature Specific
+
+We're going to look at some features that are specific to Short / Feature Film workflows.
+
+#### Sequence Stats
+
+The **Sequence Stats** page offers pie charts that depict the status of your production, sequence by sequence. The color scheme of the pie charts corresponds to the status, allowing you to quickly understand the state of your production.
+
+
+
+- **All Sequences**: The first line represents the whole production.
+- **All Tasks**: The first column includes all tasks simultaneously.
+
+By focusing on the first pie chart, you can see the exact state of your production. For more details, look at the rest of the line to get a global view of each task type's state.
+
+#### Asset Types Stats
+
+Similar to Sequence Stats, the **Asset Types Stats** page provides pie charts for asset types, giving you a clear view of the asset status across the production.
+
+
+
+#### Count View
+
+You can also display data as **Counts** to see the exact number of assets, shots, or frames, along with their percentage per status.
+
+
+
+#### Exporting Data
+
+You can export this page as a `.csv` text file and import it into spreadsheet software for further analysis and reporting.
+
+By leveraging these tools, you can stay on top of the production process, ensuring everything runs smoothly and on schedule.
+
+### TV Show Specific
+
+You can access an extra information level on a TV show through the **Episodes Stats Page**.
+
+### Retakes Display
+
+The default setting for the **Episodes Stats** page is **Retakes**. This display lets you see the number of retakes (back and forth) for each episode on each task type. Only three colors are displayed:
+- **Validated as Green**
+- **Retakes as Red**
+- **In progress as Grey**
+
+
+
+If you unfold an episode, you will see the percentage of each take and the evolution of the retakes versus approval. This helps you see the progress of each episode per task.
+
+
+
+Usually, the first episodes have many back-and-forths, but it should get better over time. However, if late episodes still have many retakes, something must be fixed. It's time to discuss the issue with the director and the supervisor.
+
+### Status Display
+
+The second option for data display is **Status**. This status display works like the **Sequence** / **Asset Type** Stats page.
+
+
+
+You can also display data as **Counts**. This way, you'll see the exact number of shots/frames with the percentage per status.
+
+
+
+You can export this page as a `.csv` text file and import it into spreadsheet software.
+
+## Ensure Tasks are On Time
+
+To know if a task is on time, you need two things:
+- The **Task Type** of the task
+- An **Estimation** (Bid) in days, along with an estimated **Start date** and **Due date** for the task.
+
+Once this information is entered, you can **compare estimation to reality** on the Task Type page.
+
+
+
+### Methods to Compare Estimations and Actuals
+
+There are two main ways to do this:
+1. **Filtering by Due Date Status**
+2. **Using the Gantt Diagram**
+
+::: tip
+Kitsu automatically grabs the date and status of **WIP** (Work in Progress) and **WFA** (Waiting for Approval). You can compare your **estimated start date** versus **when the Artist really starts**, and compare the **estimated due date** to **when the Artist asks for approval**.
+:::
+
+### Filtering by Due Date Status
+
+On the **Tasks** tab, the first filter you see is **Due Date Status**. Set it to **Due before today** to display all tasks with a **Due date** set **Due Before Today**.
+
+Next, to determine what is finished and what still needs to be finished. Use the **-Done** filter to exclude completed tasks.
+
+
+
+This will show you all the late tasks with the two filters applied, meaning they are only validated after the **Estimated Due Date**. The summary at the bottom of the page updates in real time based on the applied filters.
+
+You can export this page as a `CSV` file and open it with spreadsheet software.
+
+### Using the Late Status Filter
+
+The **Late Status** filter built into the page helps you immediately see which tasks took more time than estimated (**Estimation over Duration**).
+
+
+
+Filter the late tasks using the **Due date late** option. There are two ways to calculate if a task is late:
+1. **Estimated due date** versus **Feedback**
+2. **Estimated due date** versus **Done**
+
+Depending on your studio's calculation method, Kitsu will provide the answer.
+
+
+
+### Using the Gantt Diagram
+
+On the **Task Type Page**, go to the **Schedule** tab. The **Start** and **End** dates of this task type, as set on the production schedule, are visible at the top of the screen.
+
+The **Gantt Diagram** will be dark grey before and after these dates, providing a visual cue for task timing.
+
+
+
+Change the **Coloring** from **Status color** to **Late in Red**. This will show tasks in **Grey** if they are on time and **Red** if they are late.
+
+
+
+You can return to the **Tasks** tab for more details, and Kitsu will retain your filters from tab to tab.
+
+## Understanding Why a Task is Late
+
+Now that you know which tasks are late or will be late, you need to understand **why**. There are several reasons why a task might be late:
+
+- The artist is overwhelmed with too many tasks.
+- There is too much back-and-forth on the task.
+- The task might be underestimated, making it difficult to finish on time.
+- The previous task was already late.
+
+### Checking an Artist's Workload
+
+To check an artist's number of tasks, filter the **Task Type** page by the artist's name under the **Task** tab.
+
+
+
+You can also add the **-done** filter to see what the artist has left to do. Then add the **Due Date Status** filter to **Due previous week** or **Due this week**, depending on what you are looking for.
+
+
+
+This will show you how many tasks your artist has to complete.
+
+### Identifying Back-and-Forth
+
+To identify the number of back-and-forths, look at the Retakes column on the Tasks tab. Each **Red Dot** represents a **retake**. Click on the line to open the **Comment panel** and read the entire task history. This is the best way to understand what is happening—whether the artist misunderstood the brief or if the brief changed with each version.
+
+
+
+### Checking if the Task is Underestimated
+
+To check if the task is underestimated, go back to the global page, click on the name of the shot or asset, and see the casting and all the extra information. For example, there might be too many characters in the scene, or it might be a big action scene.
+
+
+
+### Checking the Previous Task
+
+Lastly, you can check the previous task while viewing the asset/shot in detail. Click on it to go to the dedicated **Task Type** page, where you can find detailed information about what was happening before. This can help you understand if delays in earlier tasks are affecting the current one.
+
+## Durations over Estimates
+
+To focus on the big picture and have a global view of the **Bid**, you can compare the estimated **Person days** versus the reality **Days Spent** on various pages.
+
+### Estimation Summary
+
+On the shots' global page, you can see the sum-up of all the estimations versus duration. You can also apply filters for more specific insights.
+
+For example, to focus on a specific sequence, filter your global page by the sequence's name. The sum-up at the bottom will update accordingly.
+
+
+
+This allows you to know the **Duration** versus **Estimation** for that particular **Sequence**.
+
+Similarly, you can filter the global asset page.
+
+For example, you can filter by a specific **Asset Type** such as **Character**. The sum-up at the bottom will update to show the estimation versus duration for that asset type.
+
+
+
+### Task Type Duration over Estimation
+
+To delve into details, click on the name of a task type. The sum-up at the bottom of the screen will show **Duration** versus **Estimation** for this specific task type.
+
+
+
+You can get a global view or focus on a **specific status** or **Artist's name**. As on the global page, the sum-up will update with each filter applied.
+
+
+
+
+This way, you can closely monitor the performance and efficiency of specific tasks and artists, ensuring that estimations align with actual durations and making adjustments as necessary.
+
+### Durations over Estimations for an Asset / Shot
+
+To closely examine the details, you can display **Estimation** and **Time Spent** columns (duration) for each asset and shot in Kitsu.
+
+On the global page for shots or assets, you can see the sum-up of each task's **Estimation** and **Duration**. This allows you to quickly identify discrepancies or issues.
+
+
+
+### Detailed Analysis
+
+If something appears wrong or needs further investigation, click on the asset or shot name to go to the detail page.
+
+On the detail page, at the top left of the screen, you'll find a summary of the asset's or shot's lifecycle. This includes details of each task's **Status**, **Estimation**, **Duration**, **Start and Due Date**, and **Assignation**.
+
+
+
+This comprehensive view helps you understand where the discrepancies lie and take corrective actions if necessary. By closely monitoring these details, you can ensure better alignment between estimations and actual durations, leading to more accurate future planning and resource allocation.
+
+## Checking Quotas
+
+Kitsu provides two methods for calculating quotas per **shot Task Type**.
+
+### Method 1: Timesheet-Based Calculation
+
+This method weights quotas according to the time spent on tasks as recorded in the timesheets.
+
+- **Task Completion**: Shots are considered completed upon the first feedback request. The quotas are then weighted based on the time recorded in the timesheet.
+
+
+
+In this example, Kitsu calculates the daily quota using timesheet data.
+
+
+
+### Method 2: Status-Based Calculation
+
+If no timesheet data is available, Kitsu uses status changes to calculate quotas.
+
+- **Task Start**: The task is considered to have started when its status changes to WIP.
+- **Task Completion**: The task is considered completed on the day the feedback request is made.
+
+### Detailed Quota Calculation
+
+Kitsu splits the completed frames among all business days between the task's start and end dates, attributing the number of frames (or seconds, or tasks) submitted per day/week/month to each artist.
+
+
+
+At any point, you can click on a number to see detailed information in the right panel.
+
+
+
+::: danger
+**Note**: If no timesheet is filled, Kitsu defaults to considering:
+- The task started with the first status change to WIP.
+- The task was completed on the day the feedback request was made.
+:::
+
+This method ensures that even in the absence of detailed timesheet data, there is a reliable way to track task progress and calculate quotas accurately.
+
+## Team Timesheets
+
+::: warning
+All of the previous chapters are based on the fact that **Estimation** and **Duration** are filled for each task.
+:::
+
+Everybody has to do their part. You and the supervisor will handle the estimation, while your team will fill out their timesheets.
+
+Navigate to the main menu and select the Timesheet page.
+
+
+
+### Viewing Timesheets
+
+On this page, you can view each team member's timesheet by day. This allows you to check whether they fill it out daily, took a day off, or worked extra hours.
+
+If you have a question about a timesheet entry, click on it to see the details of the production, task type, and specific task.
+
+
+
+Once everything looks good at the day level, you can change the **Detail Level** from Day to Week, Month, or Year.
+
+
+
+You can view all the productions you manage simultaneously or look at each production individually.
+
+### Exporting Timesheets
+
+As with all other pages in Kitsu, you can export the timesheet data as a CSV file and open it in spreadsheet software for further analysis.
+
+# Building Studio Reports
+
+## Studio Resource Overview
+
+As a Producer, you need to know everything.
+
+Usually, this involves keeping track of numerous details, attending multiple meetings with your production team, and constantly verifying everything yourself. Alternatively, you could subscribe to all the tasks and be overwhelmed by notifications, which disrupt your focus every time you stop to read them.
+
+The perfect solution is to have all the production stats on one page, always up-to-date.
+
+Welcome to the **All Tasks** page.
+
+
+
+Here, you can see the status of all productions at once. You can filter the list by **Production**, **Task Status**, **Task Type**, and **Person**. Clicking on a line opens the comment panel on the right, providing all the information you need.
+
+If you need more detailed information, especially about a specific timeframe, you can use the **Studio > News Feed** page.
+
+With the **Filters Builder** button, you can define a specific time frame.
+
+
+
+For example, if you want to focus on the workload a supervisor for a specific month, select their name and then pick a date in the **From** box.
+
+## Current State of All Productions
+
+To ensure your studio functions smoothly, you need to stay on top of all ongoing productions. This is where the **Productions** section can help. Access it from the global menu under the **Studio** section.
+
+From there, click on the **Load stats** button to see the current state of your productions.
+
+
+
+For more detailed information, visit the **Sequence Stats** and **Asset Types Stats** pages of all the productions.
+
+### Stats Pages
+
+The **Sequence Stats** page provides pie charts of the entire production on a single page, broken down by sequence. The color scheme of the pie charts matches the status, allowing you to quickly understand the state of your production.
+
+The first line is **all sequences**, representing the whole production, and the first column, **All**, includes all the tasks simultaneously.
+
+
+
+By focusing on this first pie chart, you can see the exact state of your production. For more details, look at the rest of the line for a global view of each task type's state.
+
+The **Asset Types Stats** page provides the same level of detail for assets.
+
+
+
+You can also display data as **Counts**, showing the exact number of shots/frames with the percentage per status.
+
+
+
+You can also export this page as a `.csv` text file to import it into spreadsheet software.
+
+Navigate from production to production using the **Navigation** menu at the top of the screen. You will stay on the same page, allowing you to check all the production stats by selecting each production.
+
+
+
+## Studio Occupancy Rate
+
+The **Team Schedule** allows you to see all artists with assigned tasks. Each row represents an artist, and unfolding an artist's row will show the details of their tasks.
+
+
+
+### Focusing on Specific Timeframes
+
+You can focus on a specific timeframe by setting the **Start** and **End Date**. Adjust the zoom level to get more detailed information on the assigned tasks. You can choose to see all **Departments** or only a specific one and focus on a single **Person**.
+
+If an artist has several tasks on the same day, the tasks will be piled up, with **one line for each task**.
+
+
+
+### Modifying the Schedule
+
+You can move tasks around by grabbing them and placing them on another day. Any changes you make on the Team Schedule will be applied to the task type schedule.
+
+If an artist has a break between two tasks, the sum-up line will not break to show it. Instead, it shows the first and last tasks assigned to the artist.
+
+## Utilize the Main Schedule
+
+With the **Main Schedule**, you can access all the **Production Schedules** at once.
+
+
+
+If you unfold a production, you will see the details of each **Task Type** used in that production. By unfolding multiple productions, you can which teams are being utilized simultaneously.
+
+
+
+You can move each **Task Type Bar** to adjust the schedule to fit the studio's needs.
+
+::: warning
+Each change you make will be applied to the Production Schedule.
+:::
+
+# Artist Workflows
+
+# Getting Started as an Artist
+
+This guide will help you get started and understand the Kitsu's key features as an artist.
+
+## Initial Setup and Profile Customization
+
+Start by setting up your profile to update your personal details and customize Kitsu’s interface. This will help your team recognize you and allow you to tailor notifications and settings to fit your workflow.
+
+1. **Access Your Profile**:
+ Click your avatar at the top right of the screen, then select **Profile**.
+
+2. **Customize Your Experience**:
+ - Update your name, email, phone number, timezone, and website language.
+ - Upload an avatar photo to help others recognize you.
+ - Choose notification preferences (email or Slack).
+ - Customize the **Theme** color and toggle the **Support Chat** visibility.
+
+
+
+:::tip Pro Tip
+This section also provides quick links to **Documentation**, **Tutorials**, our **Discord** community, **YouTube** channel, and our public **Roadmap**, ensuring you have access to helpful resources at any time.
+:::
+
+For security purposes, it’s highly recommended to replace the default password with a strong and unique one.
+
+
+
+## Managing Your Assignments
+
+Your **My Tasks** page is your main hub for assignments and opens automatically upon login. Here you can see a list of tasks you are assigned along with some key information.
+
+### Key Information Available:
+
+- **Production**: The project your task is associated with.
+- **Entity**: The specific asset or shot assigned to you.
+- **Estimates & Duration**: Time-related information for your tasks.
+- **Due Date**: The deadline for completing your task.
+- **Status** and **Priority**: Key details to understand task urgency.
+
+
+
+### Additional Features:
+
+- Under the **Show** dropdown, you can choose to display **All Tasks** or focus on those **Due This Week**.
+- Under the **Sorted By** dropdown, you can sort tasks by **Name**, **Priority**, **Status**, **Estimation**, or **Last Comment**.
+- Use these filters to narrow down your list of tasks, or use the search box to find a specific task.
+
+
+
+You can access **My Tasks** via:
+- The shortcut at the top of the screen.
+- The **User** section of the main menu under **MY TASKS**.
+- Clicking the Kitsu logo. 
+
+## Updating Task Progress
+
+Once you've made progress on your task, you'll want to update your team on its status.
+
+### Updating Task Statuses
+1. Click the task’s **Status** icon on the **My Tasks** page or the relevant asset page.
+2. Add comments to provide updates or ask questions.
+3. Change the status (e.g., from "Ready" to "WIP").
+4. Click **Post** to save changes.
+
+
+
+You can edit your most recent comment by clicking the **History** button and selecting **Edit**. 
+
+## View Your Assignments (Board View)
+
+The **Board Tab** displays tasks organized in columns based on their status. Each task card includes:
+- A Thumbnail
+- Task type name
+- Entity name
+
+
+
+- Clicking a card opens a panel on the right to view or add comments.
+- To update a task’s status, drag it to the desired column.
+
+## View Your Assignments (Calendar View)
+
+The **Calendar View** displays tasks according to their **Start** and **Due Dates**. Tasks spanning multiple days are visually extended across the calendar.
+
+
+
+- Clicking a task opens the right-side panel for updates and comments.
+- Like other views, you can sort and filter tasks here.
+
+## Share Your Concepts
+
+If you're a **Concept Artist**, you can upload and share concepts for review.
+
+### Uploading Concepts:
+1. From the **Todo Page**, click **Return to Production** to access the dashboard.
+2. Navigate to the **Concepts** page via the main menu.
+3. Click **Add a new reference to concepts** and upload your files.
+
+
+
+### Linking Concepts to Assets:
+
+Once a concept has been uploaded, you'll want to link it to an asset to ensure it is associated with the correct production element, making it easier for your team to reference and provide feedback within the proper context.
+
+1. Open the concept’s comment panel and click **Link**.
+2. Select the assets you want to associate with the concept.
+
+
+
+## Request a Review
+
+Once your task has been completed, you can submit it for review. To do this:
+1. Change the task status to **Waiting for Approval (WFA)**.
+2. Attach a preview file by dragging it into the upload area or clicking **Attach Preview**.
+3. Click **Post** to finalize your submission.
+
+
+
+Previous revisions are saved and remain accessible for reference.
+
+
+
+## Complete Your Timesheet
+
+If your production requires it, you can log your time spent using the **Timesheets** tab or the **Timesheets** shortcut button at the top of the screen.
+
+### How to Log Time:
+- Use the slider next to each task to record hours spent.
+- For quick input, use the **1**, **4**, or **8 hours** buttons.
+
+
+
+### Missed a Day?
+Click the date picker to backfill entries. You can also mark days as **Day Off** if you weren't working on that day.
+
+
+
+# Developer Workflows
+
+# Custom Actions
+
+## What are Custom Actions?
+
+A custom action is a simple HTTP request that sends information from your current Kitsu selection to a custom endpoint. Essentially, when a user is in the Kitsu UI, they can send a request to another server containing the IDs of the selected elements.
+
+### Goal
+
+The goal is to create an action outside of Kitsu (until a plugin system is available) without modifying the Kitsu/Zou core code. Essentially, it's a web request, usually a POST (but can be a GET) to a page or service you manage yourself. You catch the request and then perform an action with it.
+
+Examples include:
+
+- Debug page (displaying all accessible information for given objects, including field names, etc.)
+- Launch render in CGRU or Flamenco
+- Generate statistics pages for the APM
+- Create special playlists
+- Launch a custom protocol (with a service waiting for it) to start a video player, any DCC, etc.
+- Integrate with an asset manager like Kabaret to open it at the right spot or launch some actions
+
+Custom actions can be anything as long as you can catch the request (using, for example, a Python web server such as Flask or Tornado.web). They are designed to extend Kitsu to systems you control.
+
+Useful information is provided to whatever catches the request, such as the current selection, the page you were on, the user who launched the action, etc. You can adapt the response based on the provided information.
+
+Note that you can also run the custom action in the background (using an AJAX request instead of opening a new page) if you don't need to provide feedback to the user.
+
+## How to Setup a Custom Action
+
+### Creation
+
+Only studio managers can set up a custom action. The custom action page is available in the right panel of the admin section.
+
+When you have access to the custom action page, you can create a new action via the add button on the top right. The action creation requires four pieces of information:
+
+
+
+- **Name**: The name of the action.
+- **URL**: The target URL (we strongly recommend using the same domain as your Kitsu installation).
+- **Entity Type**: For which kind of entity the custom action will be available.
+- **Use AJAX**: Specify if the request must be sent as an AJAX request or as a form.
+
+Once your action is created, it will be accessible in the action top bar. When a user selects tasks in the asset or shot lists, by going to the **Run custom action** section, they will be able to execute the custom action for the current selection.
+
+### Data Sent via a Custom Action
+
+Data is sent in JSON format. It contains an object with the following fields:
+
+* `personid`: The ID of the user claiming the action.
+* `personemail`: The email of the user claiming the action.
+* `projectid`: The ID of the project of selected entities.
+* `currentpath`: Current url path in Kitsu web application.
+* `currentserver`: Host of the Kitsu sending the custom action.
+* `selection`: List of selected task IDs.
+* `entitytype`: Type of entities for which tasks are selected.
+
+Example:
+```
+{
+ "personid": "b01bae1e-f829-458a-a1eb-131bb66628cc",
+ "personemail": "admin@example.com",
+ "projectid": "fa4d7f04-b8e0-4518-8dbc-2f24997ca76e",
+ "currentpath": "/productions/fa4d7f04-b8e0-4518-8dbc-2f24997ca76e/assets",
+ "currentserver": "localhost",
+ "selection": "95c171e1-dfff-498f-93e3-548a739e3202",
+ "entitytype": "asset"
+}
+```
+
+# Bots
+
+Bots in Kitsu are non-physical users that can perform automated tasks, allowing you to run scripts and interact with Kitsu's API without logging in as a real user.
+
+::: tip
+Bots do not count as active users, so you can create as many as you need, regardless of your subscription plan.
+:::
+
+## Why Use a Bot
+
+The primary use of bots is for scripting with Gazu or other applications that can use the Kitsu API. Bots can access almost all API routes except those limited to real users.
+
+**Key Benefits:**
+- Perform automated tasks and scripts
+- Interact with Kitsu's API
+- Maintain system security by using tokens
+
+## How to Create a Bot
+
+::: warning
+When you first create a bot, you will receive a **JWT token**. This token is crucial for connecting to the API, so make sure to keep it safe.
+:::
+
+1. **Navigate to the Bots Page:** On the Main Menu, under the Admin section, go to the Bots page.
+
+ 
+
+2. **Add a New Bot:** Click on the  button. A pop-up window will appear where you can fill in the bot's details.
+
+ - **Name:** Give your bot a name.
+ - **Expiration Date:** Set an expiration date if needed.
+ - **Departments:** Link the bot to a specific department.
+ - **Role:** Define the role of the bot.
+ - **Active:** Choose whether the bot is active or inactive.
+
+ 
+
+3. **Create the Bot:** Fill in the details and click **Create user**.
+
+ 
+
+ A new pop-up will display the bot's **API token**.
+
+ 
+
+## Managing Bots
+
+On the Bots page, you can manage your bots just like any user, such as:
+- Assigning a role
+- Setting an expiration date
+- Changing their status to active or inactive
+
+## Example Bot Usage
+
+Here is an example script to retrieve the entire project **MyProduction** using a bot:
+
+```js
+import gazu
+gazu.set_host("yourkitsu.cg-wire.com/api/")
+gazu.set_token("my_jwt_token")
+p = gazu.project.get_project_by_name("MyProduction")
+```
+
+This script demonstrates how to use a bot to interact with the Kitsu API without using a real user's login credentials. Depending on your needs, if you have a bot that publishes comments, you can think about permission and give it the same rights as a physical user.
+
+## Security Considerations
+
+If your bot's token is compromised, you can regenerate a new token, which will revoke the old one, ensuring your system remains secure.
+
+# Kitsu Publisher
+
+Kitsu is a web application designed to streamline production progress sharing and delivery validation, enhancing communication among stakeholders for faster, higher-quality outputs.
+
+The Kitsu Publisher is a desktop application that bridges DCC tools with Kitsu, allowing artists to manage their tasks, add comments, and send previews directly from their tools.
+
+## DCC Integrations Status:
+
+Currently supported:
+- Blender
+- Toon Boom Harmony
+- Unreal Engine
+
+Work in progress:
+- Photoshop
+- Nuke
+
+## Installation
+
+### Installation of the Kitsu Publisher
+
+#### Pre-Requisites
+
+You need to download (or to build if you want to: see [Development Environment](#development-environment)) your preferred installer/package/portable for the app corresponding to your OS in the [releases](https://github.com/cgwire/kitsu-publisher-next/releases/latest).
+
+All commands have the keyword {version} in the filenames, you need to replace the version with the current version of the Kitsu Publisher.
+
+#### On Linux
+
+- **deb package** (for Debian-based distributions):
+ - To install the package:
+
+ ```shell
+ dpkg -i kitsu-publisher_{version}_amd64.deb
+ ```
+
+ - The package is now in your applications and in your $PATH.
+
+- **rpm package** (for RHEL-based distributions):
+ - To install the package:
+
+ ```shell
+ rpm -i kitsu-publisher_{version}_x86_64.rpm
+ ```
+
+ - The package is now in your applications and in your $PATH.
+
+- **snap package**:
+ - To install the package:
+
+ ```shell
+ snap install kitsu-publisher_{version}_amd64.snap --dangerous
+ ```
+
+ - The package is now in your applications and in your $PATH.
+
+- **tar.gz archive**:
+ - To extract the archive:
+
+ ```shell
+ tar -xf kitsu-publisher-{version}.tar.gz
+ ```
+
+ - To run the app:
+
+ ```shell
+ kitsu-publisher-{version}/kitsu-publisher
+ ```
+
+- **AppImage**:
+ - to run the app:
+
+ ```shell
+ ./Kitsu publisher-{version}.AppImage
+ ```
+
+#### On Windows
+
+- **NSIS Installer**:
+ Double-click the installer `Kitsu-publisher-Setup-{version}.exe` and follow the instructions.
+
+- **MSI Installer**:
+ Double-click the installer `Kitsu-publisher-{version}-ia32.msi` to install the app.
+
+- **Portable application**:
+ Double-click the executable `Kitsu-publisher-{version}.exe`.
+
+- **Zip portable application**:
+ Extract the zip `Kitsu-publisher-{version}-ia32-win.zip`, and double-click `Kitsu publisher.exe`.
+
+#### On MacOS
+
+- **DMG Installer**:
+ Double-click the installer `Kitsu-publisher-{version}.dmg`, drag the Kitsu logo to the "Applications" folder.
+
+- **PKG Installer**:
+ ```shell
+ sudo installer -package Kitsu-publisher-{version}.pkg -target /
+ ```
+
+- **Zip portable application**:
+ Double-click the zip `Kitsu-publisher-{version}-mac.zip`, then double-click the Kitsu Publisher icon.
+
+## Development Environment
+
+### Pre-Requisites
+
+To develop or to build the Electron app you need [Node.js](https://nodejs.org/en/)>=16.11 installed.
+
+### Dependencies
+
+To install all the dependencies needed by the Electron app you have to run in the project folder:
+
+```shell
+npm install
+```
+
+### Run
+
+To run the Electron app in development mode you have to run an npm script:
+
+```shell
+npm run dev
+```
+
+It will spawn an electron instance and a Vite development server.
+
+### Build the Electron App
+
+#### Pre-Requisites
+
+- On debian based Linux you need:
+
+ - To install these packages:
+
+ ```shell
+ apt-get install build-essential libcairo2-dev libpango1.0-dev \
+ libjpeg-dev libgif-dev librsvg2-dev
+ ```
+
+ - If you want to build specific target like rpm you need to install:
+
+ ```shell
+ apt-get install rpm
+ ```
+
+- On Windows you need:
+
+ - See the [wiki](https://github.com/Automattic/node-canvas/wiki/Installation:-Windows) of node-canvas.
+
+- On macOS you need (with [Homebrew](https://brew.sh/)):
+
+ ```shell
+ brew install pkg-config cairo pango libpng jpeg giflib librsvg
+ ```
+
+#### Building the App
+
+You need to run npm scripts:
+
+- If you only want to build an unpackaged directory:
+
+ ```shell
+ npm run build
+ ```
+
+- If you want to build for all targets:
+
+ ```shell
+ npm run build:all
+ ```
+
+## Installation of the DCCs connectors
+
+#### Pre-requisites
+
+Download the `connectors-{version}.zip` from the [latest releases](https://github.com/cgwire/kitsu-publisher-next/releases/latest) and unzip it.
+
+#### Blender (version>2.80)
+
+- You need to go inside the connectors/blender directory.
+
+- On Windows (with PowerShell):
+
+ - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Blender it will install the plugin for all the installations (not if you select a portable Blender).
+
+ - If you want to run the script with PowerShell command line it's possible, look at the help with:
+
+ ```shell
+ .\install.ps1 -help
+ ```
+
+- On Linux:
+
+ - If Blender is installed with a system package (for example: deb or rpm):
+
+ ```shell
+ bash ./install.sh --system
+ ```
+
+ - If Blender is an unpacked directory (tar.xz archive):
+
+ ```shell
+ bash ./install.sh --unpacked-directory=PATH_TO_YOUR_PORTABLE_BLENDER
+ ```
+
+ - If Blender is installed with a snap package:
+
+ ```shell
+ bash ./install.sh --snap
+ ```
+
+- On macOS:
+
+ - If Blender is installed with a dmg image or Homebrew:
+
+ ```shell
+ bash ./install.sh --dmg
+ ```
+
+#### Toon Boom Harmony
+
+- You need to go inside the connectors/harmony directory.
+
+- On Windows (with PowerShell):
+
+ - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Toon Boom Harmony it will install the plugin for all the installations.
+
+ - If you want to run the script with PowerShell command line it's possible, look at the help with:
+
+ ```shell
+ .\install.ps1 -help
+ ```
+
+- On macOS:
+
+ - coming soon
+
+#### Unreal Editor (version>=5)
+
+- You need to go inside the connectors/unreal directory.
+
+- On Windows (with PowerShell):
+
+ - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Unreal Editor it will install the plugin for all the installations.
+
+ - If you want to run the script with PowerShell command line it's possible, look at the help with:
+
+ ```shell
+ .\install.ps1 -help
+ ```
+
+- On Linux:
+
+ - coming soon
+
+- On macOS:
+
+ - coming soon
+
+## Publishing Previews with the Kitsu Publisher
+
+You must first have the Kitsu publisher and the plugin installed on your computer.
+
+## Consult Your To-Do List
+
+Log in to the Kitsu Publisher using your Kitsu credentials. You will see your to-do list with similar options as in Kitsu.
+
+
+
+To comment or publish on a task, click on the status.
+
+
+
+The comment panel will open with the previews and the whole history of this task.
+
+The first new element is that you have direct access to your timesheet. You can move the cursor to adapt the timeline to the number of hours spent on this specific task.
+
+
+
+When you are ready to publish your work, click on the **Add a review to publish** button.
+
+## Publish a Preview From the Publisher
+
+You can either upload the preview manually or let the Kitsu Publisher do it for you. Kitsu Publisher will detect the open DCC and project.
+
+
+
+Select your camera and render engine, and choose between a screenshot or full animation render.
+
+Here, for example, we select the **Screenshot** option. Kitsu publisher will ask your DCC to do the render for you and display the result.
+
+
+
+Once satisfied, click **Confirm**, add your comment, change the status, and click **Post Comment** to upload the preview.
+
+
+
+Now everybody logged in to Kitsu will see your comment and publish.
+
+## Setup the Publisher
+
+### Change the Save Directory and Add Scripts
+
+You can access settings via your avatar.
+
+
+
+You have two options here: the first one is the directory for exports made by the DCCs.
+
+Per default, it's set to your temporary directory. You can change it, and then this specific folder will be used for all the exports. You can also use a network drive.
+
+The second option is about the command you can launch after the exports made by the DCCs but before the upload into Kitsu.
+
+You can launch a command or a script directly on the exported file, the folder, etc.
+
+
+
+
+You can insert variables in your command. You just have to put the chosen variable under curly brackets (for example: {exportFile}). These variables are also in the environment variables at runtime. They are listed below:
+
+- exportsDirectory (String) : the directory path where the exports are made.
+- exportFile (String): the path of the file that will be exported.
+- exportIsAnimation (Boolean) : true if the export is an animation else false.
+- exportIsScreenshot (Boolean) : true if the export is a screenshot else false.
+- DCCName (String) : the name of the DCC.
+- DCCVersion (String) : the version of the DCC.
+- currentProject (String) : the path of the current project opened in the DCC.
+- cameraSelected (String) : the name of the Camera selected.
+- rendererSelected (String) : the name of the renderer selected.
+- extensionSelected (String) : the name of the extension selected.
+- entityName (String) : the name of the entity.
+- entityTypeName (String) : the name of the entity type.
+- episodeName (String) : the name of the episode type.
+- fullEntityName (String) : the full name of the entity.
+- projectName (String) : the name of the project.
+- taskStatusName (String) : the name of the task status.
+- taskTypeName (String) : the name of the task type
+
+### View the Result of the Setting on the Export Pop-Up
+
+Once your preview is rendered, you can check the directory and the scripts launched.
+
+
+
+Click on the options icon to see the command executed before the import.
+
+
+
+Confirm if everything is correct, then post your comment as usual.
+
+# Chat Integration
+
+## Discord Integration
+
+### Create a Bot Account
+
+1. Ensure you're logged on to the [Discord website](https://discord.com/).
+2. Navigate to the [application page](https://discord.com/developers/applications).
+3. Click on the "New Application" button.
+4. Give the application a name (for example, "Kitsu") and click "Create".
+
+
+
+5. Create a Bot User by navigating to the "Bot" tab and clicking "Add Bot".
+ - Click "Yes, do it!" to continue.
+
+
+
+6. You can add an icon for the bot by clicking the icon next to "Username". This icon will be used when the bot chats.
+
+7. Ensure that "Public Bot" is ticked if you want others to invite your bot.
+
+
+
+8. Ensure the "Server Members Intent" is ticked to allow the bot to see other members.
+
+
+
+9. Copy the token using the "Copy" button.
+
+10. Paste the token in Kitsu's "Settings" under the text field "Discord token (optional)" and click "Save settings".
+
+
+
+### Inviting Your Bot
+
+Now that you've created a Bot User, you need to add it to a server. Follow these steps:
+
+1. Ensure you're logged on to the [Discord website](https://discord.com/).
+2. Navigate to the [application page](https://discord.com/developers/applications).
+3. Click on your bot’s page.
+4. Go to the "OAuth2" tab and then to "URL Generator".
+5. In "Scopes", tick "bot" only.
+
+
+
+6. In "Bot Permissions", tick "Send Messages" only.
+
+
+
+7. Use the resulting URL to add your bot to a server. Copy and paste the URL into your browser, choose a server to invite the bot to, and click "Authorize".
+
+> **_Note:_** To add the bot, the person needs "Manage Server" permissions.
+
+> **_Note:_** Users who want notifications enabled must be on the same server as the bot.
+
+### Enable Discord Notifications
+
+Each user can set notifications to be pushed to Discord in their profile. They need to switch "Discord notifications enabled" to "Yes" and enter their "Discord username" (formatted as username#number).
+
+
+
+You're done!
+
+## Slack Integration
+
+The Slack integration requires creating a dedicated application in your Slack space. The following steps will guide you through the process.
+
+### Create a Kitsu Application in Slack
+
+To start, connect to [https://api.slack.com/apps](https://api.slack.com/apps).
+
+Click the "Create New App" button:
+
+
+
+Enter "Kitsu" as the name and choose the workspace you want to link with your Kitsu instance:
+
+
+
+### Set the Right Permissions
+
+After creating the app, go to the app page by clicking on its name in the list. Go to the *Basic Information* section and click on the *Permissions* button at the bottom right:
+
+
+
+In the scopes section, add the required permission:
+
+
+
+The required permission scope is `chat:write:bot`:
+
+
+
+### Install the App in Your Workspace
+
+Proceed to the app installation in the workspace. Go to the *Install App* section and click on **Install App To Workspace** button to install:
+
+
+
+Confirm the installation:
+
+
+
+Your Kitsu Slack App is now up and running! You just need to link your Kitsu to the notifications sent to your Slack workspace.
+
+### Get the Token
+
+Return to the *Install App* section. You should see the token needed to link your Kitsu instance to Slack:
+
+
+
+### Link Kitsu to Your New Slack Application
+
+With your valid token, go to the settings page in Kitsu and enter the token:
+
+
+
+### Enable Slack Notifications in Your Profile
+
+Finally, go to your profile section to turn on Slack notifications. Enter the Member ID you use on Slack, which you can find in your Slack profile by clicking on "More":
+
+
+
+
+
+In your Kitsu profile, set the Slack notifications to "on" and enter your Slack nickname:
+
+
+
+You can now enjoy notifications directly in your Slack workspace!
+
+
+
+## Mattermost Integration
+
+### Enable Incoming Webhooks, Custom Username, and Profile Picture for Webhooks
+
+1. Ensure you are logged in as a system admin account on your Mattermost server.
+2. Check if your Mattermost installation can receive incoming webhooks and set a custom username and profile picture for webhooks.
+ 1. Go to "System Console" --> "Integrations" --> "Integration Management".
+
+ 
+
+ 2. Ensure the parameters "Enable incoming Webhooks", "Enable integrations to override usernames", and "Enable integrations to override profile picture icons" are set to true.
+
+ 
+
+### Set a Webhook in Mattermost
+
+1. Ensure you are logged in as a system admin account on your Mattermost server.
+2. Go to "Integrations" --> "Incoming Webhooks" --> "Add incoming Webhook".
+
+ 
+
+3. Create the incoming webhook:
+
+ 
+
+* **Title**: Kitsu
+* **Description**: Kitsu
+* **Channel**: You can create a new channel or use an existing one because the message will be sent to a user.
+* **Lock to this channel**: Set to False.
+* **Username**: Kitsu (this will be overridden by Kitsu).
+* **Profile Picture**: Not important; it will be overridden by Kitsu.
+
+4. After clicking "Save", Mattermost will generate a new URL. Copy this URL.
+
+5. Paste the URL in the "Settings" of Kitsu under the text field "Mattermost Webhooks (optional)" and click "Save settings".
+
+ 
+
+> **_Note:_** Users who want notifications enabled must be on the same Mattermost server used in these steps.
+
+### Enable Mattermost Notifications
+
+Each user can set notifications to be pushed to Mattermost in their profile. They need to switch "Mattermost notifications enabled" to "Yes" and enter their "Mattermost username".
+
+
+
+You're done!
+
+# Open Source Setup
+
+## Cloud Hosting
+
+If your version of Kitsu is hosted and maintained by CGWire, you don't have anything to install. Simply connect to the URL provided to you to start using Kitsu!
+
+## Self-Hosting
+
+To run properly, Kitsu requires Zou, the database API. Information related to the installation of both modules is located in the Zou installation documentation.
+
+* [Deploying Zou](https://zou.cg-wire.com/)
+* [Deploying Kitsu](https://zou.cg-wire.com/#deploying-kitsu)
+
+If you have technical skills, you can run Kitsu/Zou through Docker to try it out:
+
+```shell
+docker run -d -p 80:80 --name cgwire cgwire/cgwire
+```
+
+Then you can access Kitsu through [http://localhost](http://localhost).
+
+## Development Environment
+
+### Prerequisites
+
+Prior to setting up the Kitsu development environment, make sure you have the following elements installed:
+
+* [Node.js](https://nodejs.org) >= 20.18
+* A [Zou development instance](https://zou.cg-wire.com/development/) up and running on port 5000
+* A [Zou Events development instance](https://zou.cg-wire.com/development/) up and running on port 5001 (optional)
+
+### Using Docker Image
+
+You can use our [Docker image](https://hub.docker.com/r/cgwire/cgwire), but you will need to set two environment variables:
+
+* `KITSU_API_TARGET` (default: http://localhost:5000): The URL where the API can be reached.
+* `KITSU_EVENT_TARGET` (default: http://localhost:5001): The URL where the event stream can be reached.
+
+In that case, run the development environment with the following command:
+
+```shell
+KITSU_API_TARGET=http://localhost/api KITSU_EVENT_TARGET=http://localhost npm run dev
+```
+
+The credentials for the Docker image are: admin@example.com / mysecretpassword
+
+## Development
+
+To start modifying Kitsu, clone the repository:
+
+```shell
+git clone https://github.com/cgwire/kitsu.git
+```
+
+Then download the dependencies:
+
+```shell
+cd kitsu
+npm install
+```
+
+Finally, start the development environment and view the results at `http://localhost:8080`:
+
+```shell
+npm run dev
+```
+
+Any changes will automatically update the page.
+
+## Build
+
+To build your code, run this command:
+
+```shell
+npm run build
+```
+
+## Tests
+
+Run tests with the following command:
+
+```shell
+npm run test:unit
+```
+
+## Architecture
+
+Kitsu is based on the [Vue.js](https://vuejs.org/guide/) framework. The Vue.js documentation is exhaustive and very clear. We encourage you to read it before making significant changes to the code.
+
+The architecture is based on [Vuex](https://vuex.vuejs.org) and [vue-router](https://router.vuejs.org). Their documentation is also very good, and we recommend reading it. The main idea is that:
+
+* URL routes give the main context.
+* Views are described in components through HTML, CSS, and small pieces of JavaScript.
+* Shared state is stored inside stores, which are modified through mutations (a kind of event bus to request state changes) and actions.
+* Actions are similar to mutations but allow asynchronous operations. Mainly, actions fire mutations and send requests to the server.
+* Stores provide getters to access state properties from components.
+* Local change logic is kept inside components.
+* Getters, actions, and mutations must be testable without a browser.
+
+# Frequently Asked Questions
+
+This FAQ guide provides quick solutions to common Kitsu issues, such as login problems, task management, and production organization. Explore the sections below for step-by-step instructions and helpful tips. For further support, check the detailed [Kitsu documentation](../configure-kitsu/) or contact support.
+
+## Login Issues
+
+### I can't log in to Kitsu anymore
+The first thing to check is the **web address** you are using to log in.
+
+- If the web address is **account.cg-wire.com/signin** and you see the CGWire logo, you are on the **wrong page**.
+
+ 
+
+ The **account page** is only for managing subscriptions, invoices, etc. You won't have access unless you've registered for a subscription.
+
+- The correct web address for your Kitsu instance should look like **your-studio-name.cg-wire.com**. On this page, you'll be prompted to log in, and you should see the Kitsu logo.
+
+ 
+
+If you're unsure of the correct link:
+- Check the invitation email you received.
+- Contact your studio manager for assistance.
+
+## Task Management
+
+### I created a new Task Type, but I don't see it in my production
+If you've created a new task type ([see documentation](../configure-kitsu/#task-types)) but it isn’t appearing in your production, it’s likely because task types need to be explicitly added to your **Production Library** after being created in the **Studio Library**.
+
+#### Understanding the Difference:
+- **Studio Library**: This is where all task types are initially created and stored for your studio.
+- **Production Library**: Each production has its own library, and task types must be added here before they can be used within that production.
+
+
+#### Steps to Add Task Types to Your Production
+1. Go to your production **Settings** page from the navigation menu.
+ 
+
+2. Navigate to the **Task Types** tab.
+ 
+
+3. Select the appropriate entity tab (e.g., assets, shots, sequences, episodes, edits).
+4. Find your task type in the list on the right and click to add it.
+
+Once added, go back to your entity page and click **Add Task Type**.
+
+
+:::warning
+**Permissions**:
+ If you can't see the **Settings** option in the main menu, you may not have the necessary permissions. Please contact your studio administrator if you do not have this option.
+:::
+
+### My Task Type columns are not in the right order
+If task type columns appear out of order, you can adjust them:
+
+- **Studio-wide order**:
+ 1. Go to the main menu under the **ADMIN** section and click **Task Types**.
+ 
+ 2. Drag and drop task types into the desired order.
+ 
+
+- **Production-specific order**:
+ 1. Go to the **Settings** page for your production.
+ 2. Navigate to the **Task Types** tab and adjust the order by dragging and dropping.
+
+### Task Type columns are missing
+If some task type columns are missing on the entity page:
+
+1. Check the department filter and ensure it is set to **All Departments**.
+ 
+
+2. Ensure the **Show additional information** button is highlighted.
+ 
+
+3. If columns are reduced, they won't display unless additional information is shown.
+
+## Team and Assignments
+
+### I can't assign anyone to a task
+
+If the list of assignees in the comment panel is empty, it means the people you've added to the **People** page haven't been added to the production.
+
+#### Steps to Add People to a Production
+
+1. Navigate to the **Team** page from the production menu.
+ 
+
+2. The **Team** page will be empty, but you'll see a list of people on the right.
+ 
+
+3. Add people individually or by department.
+
+Once added, they'll have access to the production, and you can assign them tasks.
+
+### All assignments have disappeared
+
+If assignees' avatars are no longer visible:
+
+1. Ensure you haven’t accidentally clicked the **Hide Assignments** button.
+ 
+
+2. Click the button again to make the avatars reappear.
+
+## Production Management
+
+### How to Delete or Archive a Production
+
+If you no longer need access to a production, you can choose to archive or delete it.
+
+- **Archiving**: This will remove the production from the navigation menu but keep it accessible for reference.
+- **Deleting**: This is a permanent, non-reversible action that will completely remove the production from your Kitsu instance.
+
+#### Steps to Archive a Production
+
+1. Go to the main menu and select **Productions** under the **STUDIO** section.
+ 
+
+2. Locate the production you want to archive and click the edit button.
+ 
+
+3. Change the **Status** from **Open** to **Closed** and confirm.
+ 
+
+The production is now archived and will no longer appear in the navigation menu.
+
+#### Steps to Delete a Production
+
+Only archived productions can be deleted. If you're sure you want to permanently remove a production:
+
+1. From the **Productions** list, hover over the archived (closed) production. A trash icon will appear.
+2. Click the trash icon, and a confirmation dialog will open.
+3. Type the name of the production to confirm the deletion.
+
+
+
+:::warning
+Deleting a production is permanent and cannot be undone. Only proceed if you’re certain the data is no longer needed.
+:::
+
+## Miscellaneous
+
+### Where can I see the storage I'm using?
+
+Currently, Kitsu does not display storage usage directly in the interface or on your account page. This means you won't find a section in the app showing how much storage your productions or assets are consuming.
+
+If you need to check your storage usage:
+- Contact your system administrator or IT team if Kitsu is hosted on your studio's servers.
+- If you're using a cloud-hosted Kitsu instance, email **support@cg-wire.com** with your studio name and account details, where our team can provide you with the necessary information.
diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
new file mode 100644
index 0000000000..5cbb3e53f0
--- /dev/null
+++ b/docs/.vitepress/config.js
@@ -0,0 +1,449 @@
+import fs from 'node:fs'
+import path from 'node:path'
+import MermaidExample from "./mermaid-markdown-all.js";
+
+const INCLUDE_RE = //g
+const RANGE_RE = /\{(\d*),(\d*)\}$/
+const REGION_RE = /#([\w-]+)$/
+
+// matches region markers across common comment styles:
+// // #region foo | # region foo | | /* #region foo */ etc.
+function regionMarker(name, tag) {
+ const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
+ return new RegExp(
+ `^\\s*(?:\\/\\/|#| | /* #region foo */ etc.
+ return content
+ .split(/\r?\n/)
+ .filter((line) => !/^\s*(?:\/\/|#|
+
+ Loading...
+
+
+`;
+ }
+
+ return defaultRenderer(tokens, index, options, env, slf);
+ };
+};
+
+export default MermaidExample;
diff --git a/docs/.vitepress/theme/CopyMarkdownButton.vue b/docs/.vitepress/theme/CopyMarkdownButton.vue
new file mode 100644
index 0000000000..771d8f33b2
--- /dev/null
+++ b/docs/.vitepress/theme/CopyMarkdownButton.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/EmbedCard.vue b/docs/.vitepress/theme/EmbedCard.vue
new file mode 100644
index 0000000000..fb54a9e37b
--- /dev/null
+++ b/docs/.vitepress/theme/EmbedCard.vue
@@ -0,0 +1,97 @@
+
+
+
+
{{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/EmbedDocument.vue b/docs/.vitepress/theme/EmbedDocument.vue
new file mode 100644
index 0000000000..6f7ed73fdc
--- /dev/null
+++ b/docs/.vitepress/theme/EmbedDocument.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/KitsuLayout.vue b/docs/.vitepress/theme/KitsuLayout.vue
new file mode 100644
index 0000000000..afd3f3be97
--- /dev/null
+++ b/docs/.vitepress/theme/KitsuLayout.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/Mermaid.vue b/docs/.vitepress/theme/Mermaid.vue
new file mode 100644
index 0000000000..b45362c3cb
--- /dev/null
+++ b/docs/.vitepress/theme/Mermaid.vue
@@ -0,0 +1,145 @@
+
+
+
Code:
+
+
+ mermaid
+
+
+ {{ ctrlSymbol }} + Enter|
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/NavbarSignupButton.vue b/docs/.vitepress/theme/NavbarSignupButton.vue
new file mode 100644
index 0000000000..146d82ac79
--- /dev/null
+++ b/docs/.vitepress/theme/NavbarSignupButton.vue
@@ -0,0 +1,30 @@
+
+Try Kitsu Free
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
new file mode 100644
index 0000000000..6d52aa98c8
--- /dev/null
+++ b/docs/.vitepress/theme/custom.css
@@ -0,0 +1,267 @@
+/**
+ * Colors: Solid
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-white: #ffffff;
+ --vp-c-black: #000000;
+
+ --vp-c-neutral: var(--vp-c-black);
+ --vp-c-neutral-inverse: var(--vp-c-white);
+}
+
+.dark {
+ --vp-c-neutral: var(--vp-c-white);
+ --vp-c-neutral-inverse: var(--vp-c-black);
+}
+
+/**
+ * Colors: Palette
+ *
+ * The primitive colors used for accent colors. These colors are referenced
+ * by functional colors such as "Text", "Background", or "Brand".
+ *
+ * Each colors have exact same color scale system with 3 levels of solid
+ * colors with different brightness, and 1 soft color.
+ *
+ * - `XXX-1`: The most solid color used mainly for colored text. It must
+ * satisfy the contrast ratio against when used on top of `XXX-soft`.
+ *
+ * - `XXX-2`: The color used mainly for hover state of the button.
+ *
+ * - `XXX-3`: The color for solid background, such as bg color of the button.
+ * It must satisfy the contrast ratio with pure white (#ffffff) text on
+ * top of it.
+ *
+ * - `XXX-soft`: The color used for subtle background such as custom container
+ * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
+ * on top of it.
+ *
+ * The soft color must be semi transparent alpha channel. This is crucial
+ * because it allows adding multiple "soft" colors on top of each other
+ * to create a accent, such as when having inline code block inside
+ * custom containers.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-gray-1: #dddde3;
+ --vp-c-gray-2: #e4e4e9;
+ --vp-c-gray-3: #ebebef;
+ --vp-c-gray-soft: rgba(142, 150, 170, 0.14);
+
+ --vp-c-indigo-1: #3451b2;
+ --vp-c-indigo-2: #3a5ccc;
+ --vp-c-indigo-3: #5672cd;
+ --vp-c-indigo-soft: rgba(100, 108, 255, 0.14);
+
+ --vp-c-purple-1: #6f42c1;
+ --vp-c-purple-2: #7e4cc9;
+ --vp-c-purple-3: #8e5cd9;
+ --vp-c-purple-soft: rgba(159, 122, 234, 0.14);
+
+ --vp-c-green-1: rgb(0, 178, 66);
+ --vp-c-green-2: #299764;
+ --vp-c-green-3: #30a46c;
+ --vp-c-green-soft: rgba(16, 185, 129, 0.14);
+
+ --vp-c-yellow-1: #915930;
+ --vp-c-yellow-2: #946300;
+ --vp-c-yellow-3: #9f6a00;
+ --vp-c-yellow-soft: rgba(234, 179, 8, 0.14);
+
+ --vp-c-red-1: #b8272c;
+ --vp-c-red-2: #d5393e;
+ --vp-c-red-3: #e0575b;
+ --vp-c-red-soft: rgba(244, 63, 94, 0.14);
+
+ --vp-c-sponsor: #db2777;
+}
+
+.dark {
+ --vp-c-gray-1: #515c67;
+ --vp-c-gray-2: #414853;
+ --vp-c-gray-3: #32363f;
+ --vp-c-gray-soft: rgba(101, 117, 133, 0.16);
+
+ --vp-c-indigo-1: #a8b1ff;
+ --vp-c-indigo-2: #5c73e7;
+ --vp-c-indigo-3: #3e63dd;
+ --vp-c-indigo-soft: rgba(100, 108, 255, 0.16);
+
+ --vp-c-purple-1: #c8abfa;
+ --vp-c-purple-2: #a879e6;
+ --vp-c-purple-3: #8e5cd9;
+ --vp-c-purple-soft: rgba(159, 122, 234, 0.16);
+
+ --vp-c-green-1: #3dd68c;
+ --vp-c-green-2: #30a46c;
+ --vp-c-green-3: #298459;
+ --vp-c-green-soft: rgba(16, 185, 129, 0.16);
+
+ --vp-c-yellow-1: #f9b44e;
+ --vp-c-yellow-2: #da8b17;
+ --vp-c-yellow-3: #a46a0a;
+ --vp-c-yellow-soft: rgba(234, 179, 8, 0.16);
+
+ --vp-c-red-1: #f66f81;
+ --vp-c-red-2: #f14158;
+ --vp-c-red-3: #b62a3c;
+ --vp-c-red-soft: rgba(244, 63, 94, 0.16);
+}
+
+/**
+ * Colors: Background
+ *
+ * - `bg`: The bg color used for main screen.
+ *
+ * - `bg-alt`: The alternative bg color used in places such as "sidebar",
+ * or "code block".
+ *
+ * - `bg-elv`: The elevated bg color. This is used at parts where it "floats",
+ * such as "dialog".
+ *
+ * - `bg-soft`: The bg color to slightly distinguish some components from
+ * the page. Used for things like "carbon ads" or "table".
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-bg: #ffffff;
+ --vp-c-bg-alt: #f6f6f7;
+ --vp-c-bg-elv: #ffffff;
+ --vp-c-bg-soft: #f6f6f7;
+}
+
+.dark {
+ --vp-c-bg: #1b1b1f;
+ --vp-c-bg-alt: #161618;
+ --vp-c-bg-elv: #202127;
+ --vp-c-bg-soft: #202127;
+}
+
+/**
+ * Colors: Borders
+ *
+ * - `divider`: This is used for separators. This is used to divide sections
+ * within the same components, such as having separator on "h2" heading.
+ *
+ * - `border`: This is designed for borders on interactive components.
+ * For example this should be used for a button outline.
+ *
+ * - `gutter`: This is used to divide components in the page. For example
+ * the header and the lest of the page.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-border: #c2c2c4;
+ --vp-c-divider: #e2e2e3;
+ --vp-c-gutter: #e2e2e3;
+}
+
+.dark {
+ --vp-c-border: #3c3f44;
+ --vp-c-divider: #2e2e32;
+ --vp-c-gutter: #000000;
+}
+
+/**
+ * Colors: Text
+ *
+ * - `text-1`: Used for primary text.
+ *
+ * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts".
+ *
+ * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon".
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-text-1: #3c3c43;
+ --vp-c-text-2: #67676c;
+ --vp-c-text-3: #929295;
+}
+
+.dark {
+ --vp-c-text-1: #dfdfd6;
+ --vp-c-text-2: #98989f;
+ --vp-c-text-3: #6a6a71;
+}
+
+/**
+ * Colors: Function
+ *
+ * - `default`: The color used purely for subtle indication without any
+ * special meanings attached to it such as bg color for menu hover state.
+ *
+ * - `brand`: Used for primary brand colors, such as link text, button with
+ * brand theme, etc.
+ *
+ * - `tip`: Used to indicate useful information. The default theme uses the
+ * brand color for this by default.
+ *
+ * - `warning`: Used to indicate warning to the users. Used in custom
+ * container, badges, etc.
+ *
+ * - `danger`: Used to show error, or dangerous message to the users. Used
+ * in custom container, badges, etc.
+ *
+ * To understand the scaling system, refer to "Colors: Palette" section.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-default-1: var(--vp-c-gray-1);
+ --vp-c-default-2: var(--vp-c-gray-2);
+ --vp-c-default-3: var(--vp-c-gray-3);
+ --vp-c-default-soft: var(--vp-c-gray-soft);
+
+ --vp-c-brand-1: var(--vp-c-green-1);
+ --vp-c-brand-2: var(--vp-c-green-2);
+ --vp-c-brand-3: var(--vp-c-green-3);
+ --vp-c-brand-soft: var(--vp-c-green-soft);
+}
+
+/* CUSTOM COMPONENTS CSS */
+
+.title {
+ color: var(--vp-c-green-1) !important;
+}
+
+.signature-block code {
+ white-space: pre-wrap;
+ word-break: break-word;
+}
+
+.param-name,
+.param-type {
+ width: 160px;
+}
+
+.vp-doc a {
+ text-decoration: none;
+}
+
+.main img {
+
+ display: block;
+ margin: 0 auto;
+
+ margin-top: 4rem;
+ margin-bottom: 4rem;
+
+ border-radius: 8px; /* Smooth shadows adapt to border radius */
+
+ box-shadow:
+ 0 2.8px 2.2px rgba(0, 0, 0, 0.02),
+ 0 6.7px 5.3px rgba(0, 0, 0, 0.028),
+ 0 12.5px 10px rgba(0, 0, 0, 0.035),
+ 0 22.3px 17.9px rgba(0, 0, 0, 0.042),
+ 0 41.8px 33.4px rgba(0, 0, 0, 0.05),
+ 0 100px 80px rgba(0, 0, 0, 0.07);
+}
+
+.medium-zoom-overlay {
+ /* position: fixed; */
+ z-index: 30;
+}
+
+.medium-zoom-image {
+ z-index: 31;
+}
\ No newline at end of file
diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js
new file mode 100644
index 0000000000..3f015e599a
--- /dev/null
+++ b/docs/.vitepress/theme/index.js
@@ -0,0 +1,28 @@
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+import mediumZoom from 'medium-zoom';
+import { onMounted, watch, nextTick } from 'vue'
+
+import Mermaid from "./Mermaid.vue";
+import KitsuLayout from "./KitsuLayout.vue"
+import CopyMarkdownButton from './CopyMarkdownButton.vue'
+import {useMediumZoomProvider} from './useMediumZoom.js'
+
+export default {
+ extends: DefaultTheme,
+ Layout: KitsuLayout,
+ setup() {
+ const initZoom = () => {
+ mediumZoom('.main img', { background: 'rgba(0,0,0,0.5)' })
+ }
+ onMounted(() => {
+ initZoom()
+ })
+ },
+ enhanceApp({ app, router }) {
+ app.component('CopyMarkdownButton', CopyMarkdownButton)
+ app.component("Mermaid", Mermaid);
+ useMediumZoomProvider(app, router)
+ },
+};
diff --git a/docs/.vitepress/theme/useMediumZoom.js b/docs/.vitepress/theme/useMediumZoom.js
new file mode 100644
index 0000000000..27f8d95088
--- /dev/null
+++ b/docs/.vitepress/theme/useMediumZoom.js
@@ -0,0 +1,24 @@
+import mediumZoom from 'medium-zoom'
+import { inject, nextTick, onMounted, watch } from 'vue'
+
+export const mediumZoomSymbol = Symbol('mediumZoom')
+
+export const useMediumZoom = () => onMounted(() => inject(mediumZoomSymbol)?.refresh())
+
+export const useMediumZoomProvider = (app, router) => {
+ if (import.meta.env.SSR)
+ return
+ const zoom = mediumZoom('.main img', { background: 'rgba(0,0,0,0.5)' })
+
+ zoom.refresh = () => {
+ zoom.detach()
+ zoom.attach(':not(a) > img:not(.image-src)')
+ }
+
+ app.provide(mediumZoomSymbol, zoom)
+
+ watch(
+ () => router.route.path,
+ () => nextTick(() => zoom.refresh()),
+ )
+}
\ No newline at end of file
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
deleted file mode 100644
index ce83d504be..0000000000
--- a/docs/.vuepress/config.js
+++ /dev/null
@@ -1,232 +0,0 @@
-module.exports = {
- title: 'Kitsu Documentation',
- description: 'The documentation for Kitsu, the collaboration platform for creative teams',
- head: [
- ['link', { rel: 'shortcut icon', type: 'image/x-icon', href: `./img/favicon.ico` }]
- ],
- locales: {
- '/': {
- lang: 'en-US',
- },
- '/ja/': {
- lang: 'ja-JP',
- }
- },
- themeConfig: {
- locales: {
- '/': {
- lang: 'en-US',
- label: 'English',
- title: 'Kitsu Documentation',
- description: 'The documentation for Kitsu, the collaboration platform for creative teams',
- sidebar: [
- {
- title: 'Introduction to Kitsu',
- collapsable: false,
- children: [['/', 'Introduction'],
- '/configure-kitsu/',
- '/team/'
- ]
- },
- {
- title: 'Create Your Production',
- collapsable: true,
- children: [
- '/tvshow/',
- '/feature/',
- '/short/',
- '/short-shot/',
- '/short-asset/',
- '/videogame/',
- '/nft/'
- ]
- },
- {
- title: 'Meta Columns, Filters and Production Settings',
- collapsable: true,
- children: [
- '/meta-column/',
- '/filter/',
- '/configure-prod/'
- ]
- },
- {
- title: 'Assignments, Estimates and Scheduling',
- collapsable: true,
- children: [
- '/assignation/',
- '/estimation/',
- '/schedules/'
- ]
- },
- {
- title: 'Statuses, Publishes, and Thumbnails',
- collapsable: true,
- children: [
- '/status/',
- '/publish/',
- '/thumbnails/'
- ]
- },
- {
- title: 'Internal Review and Client Playlists',
- collapsable: true,
- children: [
- '/review/',
- '/review-weekly/',
- '/playlist-client/'
- ]
- },
- {
- title: 'Supervisor Workflows',
- collapsable: true,
- children: [
- '/supervisor-team/',
- '/supervisor-tasks/'
- ]
- },
- {
- title: 'Producer Workflows',
- collapsable: true,
- children: [
- '/production-report/',
- '/studio-report/'
- ]
- },
- {
- title: 'Artist Workflows',
- collapsable: true,
- children: [
- '/artist/'
- ]
- },
- {
- title: 'Developer Workflows',
- collapsable: true,
- children: [
- '/custom-actions/',
- '/bots/',
- '/publisher/',
- '/chat-integration/',
- '/installation/'
- ]
- },
- {
- title: 'Frequently Asked Questions',
- collapsable: true,
- children: [
- '/faq/'
- ]
- }
- ]
- },
- '/ja/': {
- lang: 'ja-JP',
- label: '日本語',
- title: 'Kitsu ドキュメント',
- description: 'クリエイティブチームのコラボレーションプラットフォーム、Kitsuのドキュメント',
- sidebar: [
- {
- title: 'Kitsuの紹介',
- collapsable: false,
- children: [
- ['/ja/', 'Introduction'],
- '/ja/configure-kitsu/',
- '/ja/team/'
- ]
- },
- {
- title: '制作物の作成',
- collapsable: true,
- children: [
- '/ja/tvshow/',
- '/ja/feature/',
- '/ja/short/',
- '/ja/short-shot/',
- '/ja/short-asset/',
- '/ja/videogame/',
- '/ja/nft/'
- ]
- },
- {
- title: 'メタカラム、フィルター、および制作設定',
- collapsable: true,
- children: [
- '/ja/meta-column/',
- '/ja/filter/',
- '/ja/configure-prod/'
- ]
- },
- {
- title: '割り当て、見積もり、およびスケジュール',
- collapsable: true,
- children: [
- '/ja/assignation/',
- '/ja/estimation/',
- '/ja/schedules/'
- ]
- },
- {
- title: 'ステータス、公開、サムネイル',
- collapsable: true,
- children: [
- '/ja/status/',
- '/ja/publish/',
- '/ja/thumbnails/'
- ]
- },
- {
- title: '社内レビューおよびクライアント用プレイリスト',
- collapsable: true,
- children: [
- '/ja/review/',
- '/ja/review-weekly/',
- '/ja/playlist-client/'
- ]
- },
- {
- title: 'スーパーバイザーのワークフロー',
- collapsable: true,
- children: [
- '/ja/supervisor-team/',
- '/ja/supervisor-tasks/'
- ]
- },
- {
- title: 'プロデューサーのワークフロー',
- collapsable: true,
- children: [
- '/ja/production-report/',
- '/ja/studio-report/'
- ]
- },
- {
- title: 'アーティストのワークフロー',
- collapsable: true,
- children: [
- '/ja/artist/'
- ]
- },
- {
- title: '開発者向けワークフロー',
- collapsable: true,
- children: [
- '/ja/custom-actions/',
- '/ja/bots/',
- '/ja/publisher/',
- '/ja/chat-integration/',
- '/ja/installation/'
- ]
- },
- {
- title: 'よくある質問',
- collapsable: true,
- children: [
- '/ja/faq/'
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/docs/.vuepress/styles/palette.styl b/docs/.vuepress/styles/palette.styl
deleted file mode 100644
index ed2b2c53a5..0000000000
--- a/docs/.vuepress/styles/palette.styl
+++ /dev/null
@@ -1 +0,0 @@
-$accentColor = #00b242
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index ca55cd0ef0..0000000000
--- a/docs/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-# Kitsu Documentation
-
-[Kitsu](https://cg-wire.com/kitsu) is a collaboration platform for animation and VFX productions. Through its clean UI and shared database, it connects all relevant stakeholders throughout the production process, including artists, production managers, supervisors, vendors, and clients.
-
-### Introduction to Kitsu
-
-Here are some links to familiarize yourself with the basic concepts in Kitsu you'll need to be successful with your production.
-
-* [Getting Started With Kitsu](configure-kitsu/README.md): learn key principles and common vocabulary terms used within Kitsu to better plan your production workflow.
-* [Preparing Your Team](team/README.md): Prepare your team members and define their departments and permissions.
-
-### Create Your Production
-
-Below you can find guides tailored to the specific type of production you are looking to create.
-
- * [Create a TV Show Production](tvshow/README.md) Create a TV show production with assets, shots, sequences, episodes and edits
- * [Create a Feature Film Production](feature/README.md) Create a feature film production (approximately 1 000 entities) with assets, shots, sequences and edit.
-* [Create a SHORT Production](short/README.md): Create a short production (approximately 500 assets and shots) with assets, shots, sequences and edit.
- * [Create a SHOTS Only Production](short-shot/README.md) Create a short production (about 500 shots) with only shots, sequences and edit
- * [Create an ASSET Only Production](short-asset/README.md) Create a short production (about 500 assets) with only assets.
- * [Create a Video Game Production](videogame/README.md) Create a Video game production with assets, Maps, Level and Chapters (as tv show).
- * [Create a NFT Collection](nft/README.md) Create a NFT Collection with assets, and NFT Collection.
-
-### Meta Columns, Filters & Production Settings
-
-* [Meta Columns](meta-column/README.md): Learn how to create and organize metadata from your production.
-* [Filters](filter/README.md): Hone in on key information with powerful search functionality
-* [Production Specific Workflow Settings](configure-prod/README.md): Tweak your specific production to your liking with various powerful settings.
-
-### Assignments, Estimates and Scheduling
-
-In this section, we will explain some of Kitsu's main use cases:
-
-* [Task Assignments](assignation/README.md): Learn how to add someone to a team and assign them to a task.
-* [Estimates & Team Quotas](estimation/README.md): Learn how to calculate the number of days estimated to do a task (bids) and check your team's efficiency.
-* [Schedules](schedules/README.md): Discover the different scheduling capabilities in Kitsu, from the studio level to the task level.
-
-### Statuses, Publishes and Thumbnails
-
-How keep your work organized, and your team updated on it's progress
-
-* [Statuses & Feedback](status/README.md): How to change statuses and keep your team updated on the progress of work.
-* [Publishes](publish/README.md): How to publish and share work with your team.
-* [Thumbnails](thumbnails/README.md): How to apply thumbnails to assets and shots.
-
-### Internal Review and Client Playlists
-
-How to organize internal and external reviews:
-
-* [Reviews](review/README.md): Learn how to review all feedback on a task.
-* [Daily & Weekly Review](review-weekly/README.md): Quickly gather video versions and stay focused during the review.
-* [Client Playlists](playlist-client/README.md): Collect and share your work with your client in a managed environment.
-
-
-### Supervisor Workflows
-
-As a supervisor, your uses cases when using Kitsu may differ than your production team.
-
-* [Managing Your Department](supervisor-team/README.md): Discover methods for effectively managing and overseeing your team.
-* [Task Supervision](supervisor-tasks/README.md): Learn how to stay on top of task assignments.
-
-### Producer Workflows
-
-As a producer, mastering the ability to zoom out from specifics to a holistic view is essential.
-
-* [Building Production Reports](production-report/README.md): Learn everything you need to know to create your production reports.
-* [Building Studio Reports](studio-report/README.md): Ensure you're ahead of the game with your studio's productions.
-
-
-### Developer Workflows
-
-As a developer, explore some of the possibilities for extending and integrating Kitsu within your studio's pipeline.
-
-* [Custom Actions](custom-actions/README.md): A custom action is a simple HTTP request that sends information from your current Kitsu selection to a custom end.
-* [Bots](bots/README.md): The main use is for scripting with gazu (Kitsu's Python Client), and anything else that can use our API.
-* [Kitsu Publisher](publisher/README.md): A web application used to share the progress of your productions and validate your deliveries.
-* [Chat Integration](chat-integration/README.md): Get Kitsu notifications sent directly to popular messaging apps like Discord, Slack or Mattermost.
-* [Open Source Setup](installation/README.md): Learn about how you can self-deploy a host a local version of Kitsu within your studio's environment.
-
-
-
-
-### Tutorials
-
-Access comprehensive video tutorials on YouTube, highlighting crucial functionalities of Kitsu. Click the link below to view.
-
-[Kitsu Tutorials Channel](https://www.youtube.com/playlist?list=PLp_1gB5ZBHXqnQgZ4TCrAt7smxesaDo29)
-
-
-### About the Authors
-
-Kitsu is written by CG Wire, a company based in France. We help animation studios to manage their productions and build efficient pipelines.
-
-We adhere to software craftsmanship principles whenever feasible. Our passion for coding is reflected in our commitment to delivering robust quality and providing an exceptional developer experience. With our extensive expertise, we help studios navigate the complexities of production, fostering more efficient collaboration, quicker delivery, resulting in better pictures.
-
-Visit [cg-wire.com](https://cg-wire.com) for more information.
-
-[](https://cg-wire.com)
diff --git a/docs/artist/README.md b/docs/artist/README.md
deleted file mode 100644
index 4af06cd67c..0000000000
--- a/docs/artist/README.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Getting Started as an Artist
-
-This guide will help you get started and understand the Kitsu's key features as an artist.
-
----
-
-## Initial Setup and Profile Customization
-
-Start by setting up your profile to update your personal details and customize Kitsu’s interface. This will help your team recognize you and allow you to tailor notifications and settings to fit your workflow.
-
-1. **Access Your Profile**:
- Click your avatar at the top right of the screen, then select **Profile**.
-
-2. **Customize Your Experience**:
- - Update your name, email, phone number, timezone, and website language.
- - Upload an avatar photo to help others recognize you.
- - Choose notification preferences (email or Slack).
- - Customize the **Theme** color and toggle the **Support Chat** visibility.
-
-
-
-:::tip Pro Tip
-This section also provides quick links to **Documentation**, **Tutorials**, our **Discord** community, **YouTube** channel, and our public **Roadmap**, ensuring you have access to helpful resources at any time.
-:::
-
-For security purposes, it’s highly recommended to replace the default password with a strong and unique one.
-
-
-
----
-
-## Managing Your Assignments
-
-Your **My Tasks** page is your main hub for assignments and opens automatically upon login. Here you can see a list of tasks you are assigned along with some key information.
-
-### Key Information Available:
-- **Production**: The project your task is associated with.
-- **Entity**: The specific asset or shot assigned to you.
-- **Estimates & Duration**: Time-related information for your tasks.
-- **Due Date**: The deadline for completing your task.
-- **Status** and **Priority**: Key details to understand task urgency.
-
-
-
-### Additional Features:
-- Under the **Show** dropdown, you can choose to display **All Tasks** or focus on those **Due This Week**.
-- Under the **Sorted By** dropdown, you can sort tasks by **Name**, **Priority**, **Status**, **Estimation**, or **Last Comment**.
-- Use these filters to narrow down your list of tasks, or use the search box to find a specific task.
-
-
-
-You can access **My Tasks** via:
-- The shortcut at the top of the screen.
-- The **User** section of the main menu under **MY TASKS**.
-- Clicking the Kitsu logo. 
-
----
-
-## Updating Task Progress
-
-Once you've made progress on your task, you'll want to update your team on its status.
-
-### Updating Task Statuses
-1. Click the task’s **Status** icon on the **My Tasks** page or the relevant asset page.
-2. Add comments to provide updates or ask questions.
-3. Change the status (e.g., from "Ready" to "WIP").
-4. Click **Post** to save changes.
-
-
-
-You can edit your most recent comment by clicking the **History** button and selecting **Edit**. 
-
----
-
-## View Your Assignments (Board View)
-
-The **Board Tab** displays tasks organized in columns based on their status. Each task card includes:
-- A Thumbnail
-- Task type name
-- Entity name
-
-
-
-- Clicking a card opens a panel on the right to view or add comments.
-- To update a task’s status, drag it to the desired column.
-
----
-
-## View Your Assignments (Calendar View)
-
-The **Calendar View** displays tasks according to their **Start** and **Due Dates**. Tasks spanning multiple days are visually extended across the calendar.
-
-
-
-- Clicking a task opens the right-side panel for updates and comments.
-- Like other views, you can sort and filter tasks here.
-
----
-
-## Share Your Concepts
-
-If you're a **Concept Artist**, you can upload and share concepts for review.
-
-### Uploading Concepts:
-1. From the **Todo Page**, click **Return to Production** to access the dashboard.
-2. Navigate to the **Concepts** page via the main menu.
-3. Click **Add a new reference to concepts** and upload your files.
-
-
-
-### Linking Concepts to Assets:
-
-Once a concept has been uploaded, you'll want to link it to an asset to ensure it is associated with the correct production element, making it easier for your team to reference and provide feedback within the proper context.
-
-1. Open the concept’s comment panel and click **Link**.
-2. Select the assets you want to associate with the concept.
-
-
-
----
-
-## Request a Review
-
-Once your task has been completed, you can submit it for review. To do this:
-1. Change the task status to **Waiting for Approval (WFA)**.
-2. Attach a preview file by dragging it into the upload area or clicking **Attach Preview**.
-3. Click **Post** to finalize your submission.
-
-
-
-Previous revisions are saved and remain accessible for reference.
-
-
-
----
-
-## Complete Your Timesheet
-
-If your production requires it, you can log your time spent using the **Timesheets** tab or the **Timesheets** shortcut button at the top of the screen.
-
-### How to Log Time:
-- Use the slider next to each task to record hours spent.
-- For quick input, use the **1**, **4**, or **8 hours** buttons.
-
-
-
-### Missed a Day?
-Click the date picker to backfill entries. You can also mark days as **Day Off** if you weren't working on that day.
-
-
\ No newline at end of file
diff --git a/docs/bots/README.md b/docs/bots/README.md
deleted file mode 100644
index 0c0f4c3d6f..0000000000
--- a/docs/bots/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Bots
-
-Bots in Kitsu are non-physical users that can perform automated tasks, allowing you to run scripts and interact with Kitsu's API without logging in as a real user.
-
-::: tip
-Bots do not count as active users, so you can create as many as you need, regardless of your subscription plan.
-:::
-
-## Why Use a Bot
-
-The primary use of bots is for scripting with Gazu or other applications that can use the Kitsu API. Bots can access almost all API routes except those limited to real users.
-
-**Key Benefits:**
-- Perform automated tasks and scripts
-- Interact with Kitsu's API
-- Maintain system security by using tokens
-
-## How to Create a Bot
-
-::: warning
-When you first create a bot, you will receive a **JWT token**. This token is crucial for connecting to the API, so make sure to keep it safe.
-:::
-
-1. **Navigate to the Bots Page:** On the Main Menu, under the Admin section, go to the Bots page.
-
- 
-
-2. **Add a New Bot:** Click on the  button. A pop-up window will appear where you can fill in the bot's details.
-
- - **Name:** Give your bot a name.
- - **Expiration Date:** Set an expiration date if needed.
- - **Departments:** Link the bot to a specific department.
- - **Role:** Define the role of the bot.
- - **Active:** Choose whether the bot is active or inactive.
-
- 
-
-3. **Create the Bot:** Fill in the details and click **Create user**.
-
- 
-
- A new pop-up will display the bot's **API token**.
-
- 
-
-## Managing Bots
-
-On the Bots page, you can manage your bots just like any user, such as:
-- Assigning a role
-- Setting an expiration date
-- Changing their status to active or inactive
-
-## Example Bot Usage
-
-Here is an example script to retrieve the entire project **MyProduction** using a bot:
-
-```js
-import gazu
-gazu.set_host("yourkitsu.cg-wire.com/api/")
-gazu.set_token("my_jwt_token")
-p = gazu.project.get_project_by_name("MyProduction")
-```
-
-This script demonstrates how to use a bot to interact with the Kitsu API without using a real user's login credentials. Depending on your needs, if you have a bot that publishes comments, you can think about permission and give it the same rights as a physical user.
-
-## Security Considerations
-
-If your bot's token is compromised, you can regenerate a new token, which will revoke the old one, ensuring your system remains secure.
\ No newline at end of file
diff --git a/docs/chat-integration/README.md b/docs/chat-integration/README.md
deleted file mode 100644
index f7c7bb8a07..0000000000
--- a/docs/chat-integration/README.md
+++ /dev/null
@@ -1,183 +0,0 @@
-# Chat Integration
-
-## Discord Integration
-
-### Create a Bot Account
-
-1. Ensure you're logged on to the [Discord website](https://discord.com/).
-2. Navigate to the [application page](https://discord.com/developers/applications).
-3. Click on the "New Application" button.
-4. Give the application a name (for example, "Kitsu") and click "Create".
-
-
-
-5. Create a Bot User by navigating to the "Bot" tab and clicking "Add Bot".
- - Click "Yes, do it!" to continue.
-
-
-
-6. You can add an icon for the bot by clicking the icon next to "Username". This icon will be used when the bot chats.
-
-7. Ensure that "Public Bot" is ticked if you want others to invite your bot.
-
-
-
-8. Ensure the "Server Members Intent" is ticked to allow the bot to see other members.
-
-
-
-9. Copy the token using the "Copy" button.
-
-10. Paste the token in Kitsu's "Settings" under the text field "Discord token (optional)" and click "Save settings".
-
-
-
-### Inviting Your Bot
-
-Now that you've created a Bot User, you need to add it to a server. Follow these steps:
-
-1. Ensure you're logged on to the [Discord website](https://discord.com/).
-2. Navigate to the [application page](https://discord.com/developers/applications).
-3. Click on your bot’s page.
-4. Go to the "OAuth2" tab and then to "URL Generator".
-5. In "Scopes", tick "bot" only.
-
-
-
-6. In "Bot Permissions", tick "Send Messages" only.
-
-
-
-7. Use the resulting URL to add your bot to a server. Copy and paste the URL into your browser, choose a server to invite the bot to, and click "Authorize".
-
-> **_Note:_** To add the bot, the person needs "Manage Server" permissions.
-
-> **_Note:_** Users who want notifications enabled must be on the same server as the bot.
-
-### Enable Discord Notifications
-
-Each user can set notifications to be pushed to Discord in their profile. They need to switch "Discord notifications enabled" to "Yes" and enter their "Discord username" (formatted as username#number).
-
-
-
-You're done!
-
-## Slack Integration
-
-The Slack integration requires creating a dedicated application in your Slack space. The following steps will guide you through the process.
-
-### Create a Kitsu Application in Slack
-
-To start, connect to [https://api.slack.com/apps](https://api.slack.com/apps).
-
-Click the "Create New App" button:
-
-
-
-Enter "Kitsu" as the name and choose the workspace you want to link with your Kitsu instance:
-
-
-
-
-### Set the Right Permissions
-
-After creating the app, go to the app page by clicking on its name in the list. Go to the *Basic Information* section and click on the *Permissions* button at the bottom right:
-
-
-
-In the scopes section, add the required permission:
-
-
-
-The required permission scope is `chat:write:bot`:
-
-
-
-
-### Install the App in Your Workspace
-
-Proceed to the app installation in the workspace. Go to the *Install App* section and click on **Install App To Workspace** button to install:
-
-
-
-Confirm the installation:
-
-
-
-Your Kitsu Slack App is now up and running! You just need to link your Kitsu to the notifications sent to your Slack workspace.
-
-### Get the Token
-
-Return to the *Install App* section. You should see the token needed to link your Kitsu instance to Slack:
-
-
-
-### Link Kitsu to Your New Slack Application
-
-With your valid token, go to the settings page in Kitsu and enter the token:
-
-
-
-### Enable Slack Notifications in Your Profile
-
-Finally, go to your profile section to turn on Slack notifications. Enter the Member ID you use on Slack, which you can find in your Slack profile by clicking on "More":
-
-
-
-
-
-In your Kitsu profile, set the Slack notifications to "on" and enter your Slack nickname:
-
-
-
-You can now enjoy notifications directly in your Slack workspace!
-
-
-
-## Mattermost Integration
-
-### Enable Incoming Webhooks, Custom Username, and Profile Picture for Webhooks
-
-1. Ensure you are logged in as a system admin account on your Mattermost server.
-2. Check if your Mattermost installation can receive incoming webhooks and set a custom username and profile picture for webhooks.
- 1. Go to "System Console" --> "Integrations" --> "Integration Management".
-
- 
-
- 2. Ensure the parameters "Enable incoming Webhooks", "Enable integrations to override usernames", and "Enable integrations to override profile picture icons" are set to true.
-
- 
-
-### Set a Webhook in Mattermost
-
-1. Ensure you are logged in as a system admin account on your Mattermost server.
-2. Go to "Integrations" --> "Incoming Webhooks" --> "Add incoming Webhook".
-
- 
-
-3. Create the incoming webhook:
-
- 
-
-* **Title**: Kitsu
-* **Description**: Kitsu
-* **Channel**: You can create a new channel or use an existing one because the message will be sent to a user.
-* **Lock to this channel**: Set to False.
-* **Username**: Kitsu (this will be overridden by Kitsu).
-* **Profile Picture**: Not important; it will be overridden by Kitsu.
-
-4. After clicking "Save", Mattermost will generate a new URL. Copy this URL.
-
-5. Paste the URL in the "Settings" of Kitsu under the text field "Mattermost Webhooks (optional)" and click "Save settings".
-
- 
-
-> **_Note:_** Users who want notifications enabled must be on the same Mattermost server used in these steps.
-
-### Enable Mattermost Notifications
-
-Each user can set notifications to be pushed to Mattermost in their profile. They need to switch "Mattermost notifications enabled" to "Yes" and enter their "Mattermost username".
-
-
-
-You're done!
\ No newline at end of file
diff --git a/docs/configure-kitsu/README.md b/docs/configure-kitsu/README.md
deleted file mode 100644
index ad00a619f9..0000000000
--- a/docs/configure-kitsu/README.md
+++ /dev/null
@@ -1,412 +0,0 @@
-# Getting Started With Kitsu
-
-With Kitsu, users can track various production projects, encompassing 2D and 3D production, VFX, video games, and other related endeavors.
-
-The content tracked by Kitsu can be as simple as still-frame advertisements, to extensive 3-hour feature films, accommodating projects with varying numbers of elements
-
-But before jumping into our production, we must first configure our **Studio Workflow**.
-
-## Studio Workflows
-### Understanding Studio Workflows
-
-::: warning Definition
-A workflow is defined as the structured coordination of tasks constituting the operational processes within a production.
-:::
-
-For example, within a CGI production, tasks such as modeling, rigging, and shading are undertaken to finalize an asset.
-
-::: warning Definition
-- Processes such as modeling, shading, etc., are referred to as a **Task Type**.
-- An individual objects such as asset, shot, etc., are called **Entities**.
-- A **task** can be defined as a specific action or activity that needs to be done. Tasks can be attributed to **entities** and will usually be categorized with a **task type**.
-
-:::
-
-Entities with corresponding tasks form foundation of your asset workflow. Each task will then be assigned to an artist. Once you have determined your assets workflow, you will do the same for the shots, sequences, etc.
-
-Once the workflow for tasks is defined, the next step involves establishing an **Approval Workflow**, which entails defining all the statuses utilized for communication within the team. Statuses will also be useful for tracking the progress of your production.
-
-The **Workflow** of your production is the sum of your Tasks and Status.
-
-### Global Library VS Production Library
-
-In Kitsu, you have two kinds of **libraries**:
-- The first is the **Global Library** at the studio level.
-Only the Studio manager has access to it.
-
-- The second is the **Production Library**, where you will pick elements created in the global library to fill out.
-
-The idea is to keep each production separated with a specific workflow.
-
-
-Your **Global Library** is where you can create and modify departments, task types, task statuses, asset types, and status automation. You can create as many elements as needed, name them as you wish, and select the best colors and options to suit your needs.
-
-Once your **Global Library** is populated, you can fill out the **Production Library** with the newly created elements from the **Global Library**.
-
-## Departments
-### Creating Departments
-
-Departments are designed to help supervisors and artists focus on their tasks. Once a user is linked to one or more departments, supervisors and artists gain direct access to a filtered view of all tasks associated with that task type. Departments are also used to define what metadata columns appear for users within that department.
-
-If a metadata column is linked to a department, then they will only show up for users in that department. If a metadata column is not associated with a department, they will show up for everyone.
-
-::: tip
-By default, Kitsu provides some example departments to help you get started.
-:::
-
-Defining your studio's Departments is typically the first step in setup, as multiple objects such as people and task types are linked to a department.
-
-
-
-On the main menu  select the
-**Department** page under the **Admin** section.
-
-
-
-
-If you need to create more departments, you can click on the  button.
-
-When adding a department, you need to define:
-
-- The name of the department
-- A color (it will be displayed as a small round circle next to a column task type or a custom column)
-
-
-
-Click on **Confirm** to save your changes.
-
-Once you finish creating the department, your page should look like this. Whereby each department has a unique name and corresponding color.
-
-
-
-
-## Task Types
-### Creating a New Task Type
-
-Next, let's create all the **Task Types** needed to manage and track our production. Task types could be associated with multiple entities such as assets, shots, sequences, episodes, or edits.
-
-
-From the main menu  select
-the **Task Types** page under the **Admin** section.
-
-
-
-::: tip
-By default, Kitsu provides some example task types that can be used for a CGI production. You can rename or remove any that are not relevant to your production.
-:::
-
-You will notice that these **Task Types** are already linked to a department.
-
-
-
-You can click on the 
-button to create new **Task Type**.
-
-Next, you will need to supply some information about your task type, including:
-
-- The name of the task type
-- If team members need to time log their work for tasks with this task type
-- For which entity it will be used
-- To which department it should be linked
-- The color (this will be reflect in the background color on the main spreadsheet page)
-
-
-
-
-
-You'll notice that the **Departments** we created previously are available as an option to link task types to. Connecting a department to a specific task type can help your team stay organized.
-
-
-
-Click on **Confirm** to save your changes.
-
-::: warning
-Newly created task types will appear at the bottom of the list
-:::
-
-To adjust the order, simply click on the **Task Type** and drag it to its appropriate position in the list.
-
-
-
-
-
-
-
-Congratulations, your task type has now be created in your **Global Library**.
-
-::: warning
-Once you have created your production, you need to add the **Sequence**, **Episode**, and **Edit** task types to your **Production Library**.
-:::
-
-::: tip
-At any point during production, you can revisit this section to create additional **Task Types** as necessary and add them into your workflow.
-:::
-
-## Asset Types
-### Define Your Asset Workflow
-
-Once you have created your global Workflow, you can then define your **Asset Types**
-
-Much like how shots can be organized by a sequence, an asset can be organised by it's **Asset Type**. Think of it as using folders to organize all your assets by category.
-
-
-On the main menu  select the
-**Asset Type** page under the **Admin** section.
-
-
-
-::: tip
-By default, Kitsu provides some example asset types that can be used for a CGI production.
-:::
-
-
-
-To create new **Asset Type**, click on the  button.
-
-Next, you will need to supply some information about your **Asset Type**, including:
-
-- The name of the asset type
-- A workflow for the specific asset type
-
-Different Asset Types will have distinct workflows. For instance, you might have fewer tasks for an Environment compared to a Character, as Environment assets typically don't require Rigging tasks.
-
-
-
-
-When you **create** or **edit** an **Asset Type**, you can add a specific **task type**; if you don't select a specific workflow for this asset type, your production asset workflow will be applied.
-
-However, if you choose specific Task types for this Asset type, only these will be applied to production.
-
-Click on **Confirm** to save your changes.
-
-Your new **Asset Type** is now created in your **Global Library**. It will be available to use when you create your production.
-
-::: tip
-At any point during production, you can revisit this section to create additional **Asset Types** as necessary and add them into your workflow.
-:::
-
-## Task Statuses
-### Define Your Approval Workflow
-
-Next, let's create the statuses we intend to use during our **Approval Workflow**.
-
-On the main menu  select the
-**Task Status** page under the **Admin** section.
-
-
-
-::: tip
-By default, Kitsu already provides some examples Statuses.
-:::
-
-
-
-A status represents a specific stage or condition that a task or must pass through as part of the review and approval process.
-
-For example, the **Ready**  status indicates that the artists have everything they need to start working and should not begin their tasks without reaching this status.
-
-**WIP** : The **Work in Progress** status is used by artists to inform their team that they are actively working on the task, indicating that there is no need to assign it to someone else.
-
-**WFA**: The **Waiting-For-Approval** status is used by artists to notify their supervisors that they have completed their work and are awaiting review. Supervisors can also use a similar status to inform directors that work is ready for review.
-
-**Done** : The **Done** status indicates that all work has been completed & approved. This indicates that the current task is complete and the next step in the process can commence.
-
-**Retake** : The **Retake** status indicates that a comment has been made, prompting the artists to continue working on their task and publish a new version until validation is achieved.
-
-These **statuses** are just examples of what is achievable in Kitsu. You are free to create your own as needed.
-
-
-
-
-To do this, from the main page, click on the  button.
-
-You'll then need to define some details about you **Task Status**, including:
-
-
-
-- **NAME**, the explicit name of the status that will be displayed when you hover your mouse over it in the.
-- **SHORT NAME**, what will be displayed in Kitsu.
-- **IS DEFAULT**, the first status that Kitsu will display by default on all tasks. You can only have **ONE** default status in Kitsu.
-- **IS DONE**, if this status is utilized to validate a task (which is beneficial for quota management, organizing the to-do list, and updating episode statistics).
-- **HAS RETAKE VALUE**, if this status is used for commenting on a task (helpful for tracking the back-and-forth discussions on the task type page and for the episode stats page).
-- **IS ARTIST ALLOWED**, are artists allowed to set tasks to this status? If **No**, the artist won't see this status in their list of available statuses. However, they can still post comments on it.
-- **IS CLIENT ALLOWED**, Can the client use this Status? If **No**, the client won't see this status in their list of available statuses.
-- **IS FEEDBACK REQUEST**, if this status is used to request a review (helpful for quota tracking if you don't use a timesheet, it will appear in the Pending tab of the to-do list, and all these statuses will be grouped on the **My Check** page. Kitsu will prompt you to **publish a preview** each time you use this status).
-- Finally, choose a background **color** you prefer for this status.
-
-
-
-Click on **Confirm** to save your changes.
-
-Your **Status** is now created in your **Global Library** and will be available to use in your production.
-
-::: tip
-At any point during the production, you can return here and create more **Task Status** if needed,
-and then add them to your production.
-:::
-
-::: warning
-You'll notice a few tasks statuses listed under the category of *Concept Status*. These are used by the system and while you can modify them here, you cannot create new ones.
-:::
-
-
-
-## Automation
-
-### Create a New Status Automation
-
-A **Status Automation** defines rules or conditions that automatically trigger changes in the status of tasks based on predefined criteria. You can set up **Status Automation** for both asset and shot tasks.
-
-For assets, you can establish **Status Automations** between tasks. For example, when the concept task status is set to `done`, the downstream modelling task status is automatically changed to `ready`.
-
-Additionally, you can create **Status Automations** that update the **Asset Status** based on task statuses. For example, when the concept task is set to `done` , then the linked asset status is set to ``layout``.
-
-::: tip
-You can also ask Kitsu to **copy the latest preview** with the Automation.
-:::
-
-Go to the main menu  and select **Automation**.
-
-
-
-From this page, you can create **Status Automations** by clicking the **+Add status automation** button.
-
-
-
-You have the option to create **Status Automation** for either the **asset** or the **shot**.
-
-Next, you can select the **task type** and the **status** that will trigger the Automation.
-
-You can specify which **Task Type** will respond to the Automation and select the **Status** that will be changed.
-
-
-
-You need to change the trigger from "Status" to **Ready For** in order to initiate the change in **Ready For** status.
-
-You will notice the **Applied Task Type** will now display **Shot task type**.
-
-
-
-To create a **Status Automation** for shots, you must change the **Entity Type** to shots.
-
-
-
-Your new **Status Automation** is now created in your **Global Library**.
-
-::: warning
-You must add status automations to your **Production Library** once you have created your production.
-:::
-
-::: tip
-At any point during the production, you can return here and create more **Status Automations** if needed, and then add them to your production.
-:::
-
-## 3D Backgrounds
-
-### Create a Global Library of HDR Files
-
-The 3D Backgrounds feature enhances your review of 3D files (`.GLB`) by incorporating an `.HDR` background to make things easier to review.
-
-The `.GLB` file format is a binary container that encompasses various 3D assets and resources. These assets may comprise 3D models, textures, materials, and animations.
-
-::: warning Definition
-It means you can review your 3D files with lighting information.
-:::
-
-In this section, you can create your own. `.HDR` files library that you can use in your production.
-
-Go to the main menu , and select **3D Backgrounds**.
-
-
-
-
-From here, you can add a `.HDR` Background by clicking the **+Add a new background** button.
-
-
-
-
-From this point, you'll need to select your `.HDR` background, provide a name for it, and decide whether you want this `.HDR` to serve as the default background.
-
-::: tip
-Checking the `Is Default` option means this HDR will be applied across your entire production instead of the default grey background.
-:::
-
-
-
-Once you have uploaded all your `.HDR` files, Kitsu will display them as a list.
-
-
-
-
-Your new **3D Background** is now created in your **Global Library**.
-
-::: warning
-You must add them to your **Production Library** once you have created your production.
-:::
-
-
-## Asset Library
-### What is the Asset Library?
-The Asset Library serves as a centralized repository for all assets used within Kitsu. Teams can import assets from any project into a shared library, making them accessible for future productions. With this functionality, assets like character models, props, environments, and more can be managed in one place and repurposed seamlessly in new projects.
-
-### How to Use the Asset Library
-
-
-
-- You can access the Asset Library from the **Studio** section of the main Kitsu menu.
-- The main Asset Library window displays all assets currently available in the library (1). Use the search (2) and filter (3) options to quickly find specific assets within the library.
-- On the right-hand pane (4), you’ll find the import option for bringing in assets from other productions into the Asset Library.
-
-### Adding Assets to the Library
-
-
-
-The right-hand pane is where you can add existing assets from other productions into the library. This action does not create a copy but simply references the original asset, allowing it to be used in other productions.
-
-To import an asset:
-- Select the production you wish to import the asset from (1).
-- Choose the asset type you’d like to import (2).
-
-There are three main ways to import assets:
-- Import all assets from a specific production (3).
-- Import assets by type from the selected production (4).
-- Select individual assets for import (5).
-
-Once imported, the asset will be available for use in breakdowns for other productions, allowing for efficient asset reuse across projects.
-
-::: tip
-There are specific rules around who can import assets into the asset library, depending on the user’s permission group:
-
-- **Studio Manager**: Can import any assets from any production.
-- **Production Manager**: Can import assets only if they are part of the team.
-- **Supervisor** and **Artist**: Cannot import assets into the library.
-:::
-
-## Settings
-### Configuring Kitsu
-
-Several global settings can be configured that apply to your studio, such as replacing the default Kitsu logo with your studio's logo.
-
-To do this, click on the main menu button
-, then under the **Admin** section, click on the **Settings**.
-
-
-
-### Studio Settings
-Click on the **Set studio logo** and select an image to use. This will replace the Kitsu logo on your site and in various places across the app. You can also change the **Studio Name** to be used in your Kitsu instance.
-
-
-The remaining settings on this page are global settings that affect every production. Some of these include:
-
-- How many hours per day should your team be working.
-- You can opt to use original file names for downloads.
-- Display images in HD quality by default. Use this option only if you have a very fast internet connection.
-- Regarding the timesheet, you can also restrict artists from modifying timesheets older than one week.
-
-
-
-Finally, you will also find settings relating to various chat integrations. Please refer to [Chat Integration](../chat-integration/README.md) section for more information on how to configure this.
-
-::: warning
-Remember to **Save Settings** at the end once you are finished.
-:::
diff --git a/docs/configure-prod/README.md b/docs/configure-prod/README.md
deleted file mode 100644
index ac4bb54e8c..0000000000
--- a/docs/configure-prod/README.md
+++ /dev/null
@@ -1,182 +0,0 @@
-# Production Specific Workflow Settings
-
-## Configure Production-Specific Settings
-From the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-The first tab, **Parameters** allows you to change the **Technical information** of the production.
-
-::: warning
-If you change the **FPS** or **Resolution** after uploading previews, the changes won't be applied; you must reupload the first previews.
-:::
-
-
-
-Here, you can enable specific options for the production as
-
-- Isolate Client Comments (Not Visible To Each Other)
-
-- Allow Artists To Download Previews
-
-- Set New Preview As Entity Thumbnail Automatically
-
-You can also specify the **Maximum Number of Retakes** for this production.
-
-::: tip
-You can also change the avatar of the production on the **Parameters** tab.
-:::
-
-## Task Statuses
-### Configuring Specific Task Types for a Production
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-Per default, Kitsu will load the **Task Status** you have defined when creating the production.
-
-However, you can add or remove specific statuses during production if they are created on the Global Library first.
-
-
-
-On the **Task Status** tab, you can choose which **status** you want to add or remove on this production,
-validate your choice with the **add** button.
-
-
-
-
-## Task Types
-### Enabling Specific Task Types for a Production
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-By default, Kitsu will add the **Task Types** you have chosen when creating the production.
-
-
-
-However, you can add or remove specific **Task Types** if they are created on the Global Library first.
-
-For example, you can import the task workflow from another production in your library.
-
-
-
-On the **Task Types** tab, you can choose which production or task type you want to import or remove on this production,
-validate your choice with the **Import** button.
-
-
-
-::: warning
-If you had a new task type **AFTER** creating an asset or shot, here is the **DELIVERY** task type.
-
-
-
-You need to **add this task type** on the global page.
-
-
-
-A pop-in will appear, and you must select the new task type on the dropdown menu.
-
-
-
-Validate with **Confirm**.
-
-
-
-:::
-
-## Asset Types
-### Enabling Specific Asset Types for a Production
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-Per default, Kitsu will load the **Asset Types** you have defined when creating the production.
-
-However, you can add or remove specific Asset Types if they are created on the Global Library first.
-
-
-
-On the **Asset Types** tab, you can choose which **Asset Types** you want to add or remove on this production,
-validate your choice with the **add** button.
-
-
-
-
-## Status Automation
-### Configuring Status Automation for a Production
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-Per default, Kitsu will load no **status automation** of your
-status automation **Global Library** into your **Production Library**.
-
-
-
-But you can use only specific **Status Automation**, depending on your production type.
-
-
-On the **Status Automation** tab, you can choose which automation you want to use on this production,
-validate your choice with the **add** button.
-
-
-
-
-
-## Preview Backgrounds
-### Select Specific Preview Background for a Production
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-
-
-
-On the **Preview Backgrounds** tab, you can choose which HDR file you want to add or remove on this production,
-
-
-
-
-
-Validate your choice with the **add** button.
-
-
-
-You can review your 3D file with an HDR background.
-
-
-
-
-## Artist Board
-### Artist Board Status Configuration
-
-On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
-
-On the **Task Status** tab, you can reorder the status for the **Board** view.
-
-
-
-
-
-Once it's done, go to the **Board Status** tab.
-
-
-
-Here, you can choose who can see which status on the **Board view**
-
-If you don't select the status properly, it can be overwhelming for the artists if they have too much choice.
-
-
-
-Selecting the **Status** properly will make it easier for the artists.
-
-
-
-
-
-
-
diff --git a/docs/custom-actions/README.md b/docs/custom-actions/README.md
deleted file mode 100644
index 1a1bd4edb4..0000000000
--- a/docs/custom-actions/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Custom Actions
-
-## What are Custom Actions?
-
-A custom action is a simple HTTP request that sends information from your current Kitsu selection to a custom endpoint. Essentially, when a user is in the Kitsu UI, they can send a request to another server containing the IDs of the selected elements.
-
-### Goal
-
-The goal is to create an action outside of Kitsu (until a plugin system is available) without modifying the Kitsu/Zou core code. Essentially, it's a web request, usually a POST (but can be a GET) to a page or service you manage yourself. You catch the request and then perform an action with it.
-
-Examples include:
-
-- Debug page (displaying all accessible information for given objects, including field names, etc.)
-- Launch render in CGRU or Flamenco
-- Generate statistics pages for the APM
-- Create special playlists
-- Launch a custom protocol (with a service waiting for it) to start a video player, any DCC, etc.
-- Integrate with an asset manager like Kabaret to open it at the right spot or launch some actions
-
-Custom actions can be anything as long as you can catch the request (using, for example, a Python web server such as Flask or Tornado.web). They are designed to extend Kitsu to systems you control.
-
-Useful information is provided to whatever catches the request, such as the current selection, the page you were on, the user who launched the action, etc. You can adapt the response based on the provided information.
-
-Note that you can also run the custom action in the background (using an AJAX request instead of opening a new page) if you don't need to provide feedback to the user.
-
-
-## How to Setup a Custom Action
-
-### Creation
-
-Only studio managers can set up a custom action. The custom action page is available in the right panel of the admin section.
-
-When you have access to the custom action page, you can create a new action via the add button on the top right. The action creation requires four pieces of information:
-
-
-
-- **Name**: The name of the action.
-- **URL**: The target URL (we strongly recommend using the same domain as your Kitsu installation).
-- **Entity Type**: For which kind of entity the custom action will be available.
-- **Use AJAX**: Specify if the request must be sent as an AJAX request or as a form.
-
-Once your action is created, it will be accessible in the action top bar. When a user selects tasks in the asset or shot lists, by going to the **Run custom action** section, they will be able to execute the custom action for the current selection.
-
-### Data Sent via a Custom Action
-
-Data is sent in JSON format. It contains an object with the following fields:
-
-* `personid`: The ID of the user claiming the action.
-* `personemail`: The email of the user claiming the action.
-* `projectid`: The ID of the project of selected entities.
-* `currentpath`: Current url path in Kitsu web application.
-* `currentserver`: Host of the Kitsu sending the custom action.
-* `selection`: List of selected task IDs.
-* `entitytype`: Type of entities for which tasks are selected.
-
-Example:
-```
-{
- "personid": "b01bae1e-f829-458a-a1eb-131bb66628cc",
- "personemail": "admin@example.com",
- "projectid": "fa4d7f04-b8e0-4518-8dbc-2f24997ca76e",
- "currentpath": "/productions/fa4d7f04-b8e0-4518-8dbc-2f24997ca76e/assets",
- "currentserver": "localhost",
- "selection": "95c171e1-dfff-498f-93e3-548a739e3202",
- "entitytype": "asset"
-}
-```
diff --git a/docs/feature/README.md b/docs/feature/README.md
deleted file mode 100644
index 408952e427..0000000000
--- a/docs/feature/README.md
+++ /dev/null
@@ -1,1203 +0,0 @@
-# Create a Feature Film Production
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, and choose **Feature Film** as the **type**, then select the style of your production (2D, 3D).
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your production's start and end dates.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio) section.
-:::
-
-Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/shot.
-
-See the **import CSV** section for more details.
-
-[Import asset](../feature/README.md#create-an-asset)
-
-[Import shot](../feature/README.md#create-shots-from-an-edl-file)
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-You will open the main menu by clicking on the top left button, Kitsu (or your Studio logo).
-
-On the main menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between production. The name of the actual production and actual page are always displayed.
-
-You can use the dropdown menu to navigate from production to production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Assets
-- Shots
-- Sequence
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the production
-- Concepts
-- Breakdown
-- Playlists
-- News feed
-
-The third section is about statistics
-- Sequence Stats
-- Asset Type Stats
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The spreadsheet's first line and column header always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-::: warning
-You must press **Enter** on your keyboard to launch the filters on a feature film.
-:::
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
-
-
-
-## Create an Asset
-### Create your first asset
-So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our first asset.
-
-On the asset page, click on **Add assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
-:::
-
-A pop-up window opens:
-
-It asks you to choose the **Asset Type** (1).
-If you didn't add a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props, etc.
-Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the tasks pipeline. See the guide (
-[Customization of the workflow](../configure-kitsu/README.md#asset-types)) for more details
-:::
-
-We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
-
-Click on **Confirm and stay** if you have multiple assets to create.
-
-
-
-
-You can change the asset type and keep adding assets.
-
-::: tip
-The newly created asset appears in the background whenever you click on **Confirm and stay**.
-:::
-
-After adding your last asset, click
-on **Confirm**. It will create the asset and close the window.
-
-::: tip
-If you click on **Confirm and stay** but realize you don't have more assets to add, click on **Close**, and the window will be canceled.
-:::
-
-
-
-You will also see the tasks that are selected for your assets workflow are created at the same time.
-
-
-If you need to add more **Assets**, click the **+ Create assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-### See the Details of an Asset
-
-To see an asset's detail, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-**concept** linked to this asset,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-## Add more tasks after creating the assets
-
-
-If you realize **after** creating the assets that the task is missing, you can still add them.
-
-First, ensure the missing task type is added to the settings page under the task type tab.
-
-Then go back to the asset page and click on **+ Add tasks**
-
-
-
-
-
-
- ### Update your assets
-You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
-
-You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
- (1) on the right side of
-the line.
-
-
-
-To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-:::
-
-
-::: details Update Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-## Create a Concept
-### Upload a Concept
-
-To create a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it.
-You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-At the top of the comment panel, you have two options: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, click on it. The names of the linked assets will appear at the top of the screen under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-## Create a Shot
-### Create your first shot
-
-It's time to create **shots** for your production.
-
-::: warning
-Shots are linked to Sequences in Kitsu.
-This means you must create a sequence and then populate this sequence with shots.
-:::
-
-You need to go to the **Shots** page: you can use the
-dropdown menu and click on the **SHOTS**.
-
-
-
-Click on the **Add shots** button to start with the shot creation.
-
-
-
-::: warning
-When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
-:::
-
-A new pop-up opens for the creation of the shots.
-You can now create the sequences and the shots.
-
-Enter the first sequence, for instance, sq01,
-then **add**.
-
-Now, you can see your sequence has been created. To add shots to this sequence, select it and create your shots.
-
-For example, type sh0010 on the shots column, then again **add**.
-You can also define padding for your shots.
-
-::: tip
-If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
-:::
-
-
-
-You can now see that new shots are listed and linked by their sequence.
-You have created the first shot of the first sequence.
-
-Now, let's add more shots than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **add** to
-create more shots.
-
-
-
-To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
-Your second sequence is selected, and you can now add shots.
-
-::: tip
-If a shot is misplaced on a sequence, you have to edit the shot
-, and change the
-sequence.
-
-
-
-:::
-
-
-## Create Shots from an EDL File
-You may already have your shots list ready in an **EDL** file.
-With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, and Frame in and out.
-
-On the **Global Shot Page**, you will see an **Import EDL** button.
-
-
-
-You can select the naming convention of the video file used during the editing on the pop-up.
-
-
-
-It means the video clip on the editing is named as project_sequence_shot.extension.
-
-Here is an example of an EDL for the LGC production.
-
-
-
-The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
-
-You can import the EDL file once you have the naming convention.
-
-Then click on **Upload EDL**
-
-Then Kitsu will create the shots.
-
-
-:::
-
-::: details Create Shots from a CSV Spreadsheet File
-You may already have your shots list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, return to the shot page on Kitsu and click the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-::: details Create Shots by Copying / Pasting a Spreadsheet File
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-### See the Details of a Shot
-
-If you want to see the details of a shot, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-## Add more tasks after creating the shots
-If you realize after creating the shots that the task is missing, you can still add them.
-
-First, ensure the missing task type is added to the settings page under the task type tab.
-
-Then go back to the shot page and click on + Add tasks.
-
-
-### Update your shots
-
-You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
-
-You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Shots Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated shots will be in blue.
-
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-
-## Add the number of Frames and Frame ranges to the shots
-
-At this stage of the production, the animatic should be done. This means you have
-the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
-add this information to the spreadsheet. This way, you are sure that all
-the frames are calculated and none are missing or over-computed.
-
-::: warning
-If you have created your shots and sequence by hand,
-the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
-The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
-:::
-
-
-
-You need to edit the shots to fill in the frame range information. Click on the
-edit button  on the right
-side of the shot line.
-
-
-
-You can enter the shots **In** and **Out ** in the new window. Then, save by clicking the **Confirm** button.
-
-
-
-
-
-Now, the frame range appears on the general spreadsheet of the shot page.
-
-
-
-Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
-directly from the global shot page.
-
-Click on the case you want to fill in and add the data.
-
-::: tip
-If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
-:::
-
-
-
-
-You can also use the **CSV Import** to update your frame range quickly.
- [Update Shots information with CSV Import](../feature/README.md#update-your-shots)
-
-You can also access the history of shot values.
-
-
-
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-
-## Create a Sequence
-
-In Kitsu, you can also track tasks at the **Sequence** Level.
-It's especially useful when
-you have macro tasks to track, like Story and color Board, Color Grading, etc.
-
-Use the navigation menu to go to the **Sequences** page.
-
-
-
-::: warning
-This new page behaves like the asset and shot global page.
-
-To use this page, You first need to create dedicated task types on your **Global Library**
- with the **Sequence** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library** (setting page).
-:::
-
-Once your task types are ready on the settings page, you must create a sequence (the same as the assets or shots).
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-
-::: tip
-You can create a sequence directly from here (+New sequence button) or a sequence linked to your shots from the global shot page.
-:::
-
-
-You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
-
-If you click on the name of a sequence, you will see the detail page of this sequence.
-
-
-
-On the detailed page, you have access to the sequence casting.
-You can see all the assets used in the whole sequence.
-
-You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
-
-
-
-## Create an Edit
-
-You can track tasks at the **Edit** Level in Kitsu.
-
-It's especially useful when
-You have several edits to track through several validation steps.
-For example, you can track your whole movie, several trailers, the First Edit, Fine Edit, mix, etc.
-
-::: warning
-Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
-:::
-
-
-
-To use this page, you need to first create a dedicated task type on your **Global Library**
- with the **Edit** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
-
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
-
-
-
-
-
-
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the shots. With the
-breakdown, you have all the details of the assets you need to add to create your
-shot, and we are sure to omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
-the middle section, it is your selection for the shot (2).
-
-
-
-So now you have to select the shot you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple shots, your selection is applied to the numerous shots.
-
-Copy a shot filled with assets and paste this asset selection into another shot.
-
-You can see a **+1** or **+10** when you pass over the asset. It's the number
-of times you add this asset, and you can click on it as many times as you need.
-
-
-
-You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
-
-
-
-This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
-
-You can now see the asset in the middle of the screen (2). Next
-to the asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
-**-1**. When you finish this shot, go on with the other shots.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the storyboard, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
-
-On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
-
-
-
-You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
-
-
-
-You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
-
-## Introduction to Asset State: Ready For
-
-Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
-
-For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
-Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
-
-That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
-
-Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
-
-First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
-
-
-
-::: tip
-You can use the **automations** to do the heavy lifting.
-
-You can set automation with the **ready for** trigger.
-:::
-
-Now that we have changed some asset states to **Ready for**, we can see the result on the shot page.
-
-You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
-
-
-
-If you see the white box, Kitsu will display how many assets are ready for this task.
-
-
-
-::: tip
-If you don't see any boxes, no assets are cast for this shot.
-:::
-
-Then, you can click on the shot's name to go to its detail page.
-Then, you will see all the assets cast in this shot and their status.
-
-
-
-It's the fastest way to know if you can start a shot for a specific task.
-
diff --git a/docs/getting-started-client/README.md b/docs/getting-started-client/README.md
deleted file mode 100644
index d4c8e091e5..0000000000
--- a/docs/getting-started-client/README.md
+++ /dev/null
@@ -1,142 +0,0 @@
-# Getting Started as a Client
-
-## First Connection
-
-On your first connection, we encourage you to fill in your contact information
-into your profile.
-Click on your name on the top right of the screen (1), then on **Profile** (2).
-
-NB: A link to this **Documentation** is available (4),
-and you can switch to the **Dark Theme** in this menu, too (3). You can also jump on our Slack (5) or look at our roadmap (6).
-
-
-
-On this new page, you can check your name (1) (2), your email (3), fill in your phone
-number (4), change the timezone (5), the language of the website (6), and
-post a pic of yourself as your avatar (7). It helps to recognize who is
-doing what!
-
-
-
-You can also define what kind of notification you want: email or Slack.
-
-
-
-
-If you keep scrolling, you can also change your password if you want. We
-encourage you to change the default password with one of your own.
-
-
-
-
-## See your Playlists
-
-The central part for you, on **Kitsu**, is the **Playlist** page.
-You can access it by clicking on the production avatar.
-
-
-
-Once you have clicked on the production avatar, you will go to the **Playlist** page.
-
-The playlists will gather all the assets and shots you have to comment on.
-
-
-
-On the left part, you can sort the playlist per **Task Type**, **date**, or per **name** (1), then the list of the playlists created for you (2). On the center part, you have fast access to the recent playlist (3).
-
-### Detail of the Playlist
-
-On the left part, you keep access to the different playlists. In the center part, you see the different elements of the selected playlist. It can be assets or shots. On the right part, you have access to the comment section.
-
-
-
-With the comment panel, you will be able to write a comment to approve the preview.
-
-
-
-On top of the elements (assets or shots), you have access to different options:
-
-
-
-* (1) Previous shot / asset
-*(2) Next shot / asset
-* (3) the position of the element
-* (4) the play and pause button
-* (5) You can change the speed: x1..0, x0.50 or x0.25
-* (6) loop the selected shot
-* (7) Actual time code / global time code of the shot
-* (8) Actual frame
-* (9) Previous frame
-* (10) Next frame
-* (11) Split screen: You can compare two task types side by side
-* (12) Undo annotation
-* (13) Redo annotation
-* (14) Write a comment on the picture, and change the color of the text
-* (15) Draw a comment on the picture, and change the color and the size of the line
-* (16) Select the drawing and click on the cross to delete it
-* (17) Change the task type of all the elements in the playlist
-* (18) Open the panel section to post a comment and change the status
-* (19) Hide the list of the elements
-* (20) Download the playlist
-* (21) Fullscreen
-
-
-
-## Share your Comments
-
-First open the comment section. 
-
-
-From there, you can change the status to  if you want that the Artist
-performs some changes.
-
-You can add a **checklist** to your comments.
-
-You need to click on the **Add checklist** button, and the first item of the checklist appears.
-
-
-
-Type your comments, and hit **Enter** key to add another line to your checklist, or click again on **Add Checklist** button.
-
-
-
-## Global View of the Assets
-
-As a client, you can go to the global page of the assets with the drop-down menu on top of the screen.
-
-
-
-On the global page, you will be able to see all the statuses of the different steps of the assets.
-
-
-
-
-## Global View of the Shots
-
-As a client, you can go to the global page of the shots with the drop-down menu on top of the screen.
-
-
-
-On the global page, you will be able to see all the statuses of the different steps of the shots.
-
-
-
-## Production Report
-
-To ease the communication with the studio, you have direct access to the production report, separated into two parts: the **Sequence Stats** and the **Asset Types Stats**
-
-
-
-The **Sequence Stats** page is updated in real-time. Every time you look at this page, you are sure to have updated information.
-
-
-
-You can choose to display the stats per number of shots or number of frames.
-
-You can also change the **Display Mode**; you can switch from the **Pie charts** View
-to the **Counts** view.
-
-
-
-It's this presentation that you can download to keep track of the production progress.
-
diff --git a/docs/guides/pre-production/breakdown-casting/index.md b/docs/guides/pre-production/breakdown-casting/index.md
new file mode 100644
index 0000000000..00d0664296
--- /dev/null
+++ b/docs/guides/pre-production/breakdown-casting/index.md
@@ -0,0 +1,153 @@
+# Breakdown & Casting
+
+Filling out the breakdown helps you with the assembly of the shots. With the
+breakdown, you have all the details of the assets you need to add to create your
+shot, and we are sure to omit nothing.
+
+On the dropdown menu, choose **BREAKDOWN**.
+
+
+
+## Create a Breakdown List
+
+On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in the middle section, it is your selection for the shot (2).
+
+
+
+So now you have to select the shot you want to cast.
+
+You can display the assets as text if you don't have thumbnails yet or enlarge the thumbnails size.
+
+
+
+You may also realize an asset needs to be added to the list during your breakdown.
+
+You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
+
+
+
+You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
+
+
+
+Then click on the assets you want
+to assign: characters, backgrounds, ... from the right part (3).
+If you have selected multiple shots, your selection is applied to the numerous shots.
+
+Copy a shot filled with assets and paste this asset selection into another shot.
+
+You can see a **+1** or **+10** when you pass over the asset. It's the number
+of times you add this asset, and you can click on it as many times as you need.
+
+
+
+You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
+
+
+
+This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
+
+You can now see the asset in the middle of the screen (2). Next
+to the asset's name is the number of times it has been added. In this
+example, we have added the character asset Llama two times.
+
+
+If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
+**-1**. When you finish this shot, go on with the other shots.
+Your selection is automatically saved.
+
+
+
+If a new asset is created during the storyboard, return to the asset
+page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
+assets. However, you have to do the assignment, and then you can
+continue with the breakdown.
+
+Now, your **Breakdown** page should look like this.
+
+
+
+You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
+
+On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
+
+
+
+You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
+
+
+
+You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
+
+::: details Create a Breakdown List from a CSV File
+
+You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
+
+First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
+
+Click on the **import** button 
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+Now, you have your breakdown imported into Kitsu.
+
+
+:::
+
+::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the breakdown page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click on the **Confirm** button to import your data into Kitsu.
+
+Now, all your assets have been imported into Kitsu.
+
+
+:::
+
+## Casting from the Asset Library
+
+It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
+
+
+
+To see assets outside of your production from the asset library, click the **Display Library** Button (1)
+
+Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
+
+
+
+Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
+
+To learn more about the Asset Library, [visit the dedicated section](/guides/pre-production/manage-assets/#asset-library).
\ No newline at end of file
diff --git a/docs/guides/pre-production/index.md b/docs/guides/pre-production/index.md
new file mode 100644
index 0000000000..25979f5d3d
--- /dev/null
+++ b/docs/guides/pre-production/index.md
@@ -0,0 +1,6 @@
+# Pre-Production
+
+- [Manage Concepts](/guides/pre-production/manage-concepts/) -
+- [Manage Assets](/guides/pre-production/manage-assets/) -
+- [Breakdown & Casting](/guides/pre-production/breakdown-casting/) -
+- [Meta-Columns](/guides/pre-production/meta-column/) - Learn how to create and organize metadata from your production.
\ No newline at end of file
diff --git a/docs/guides/pre-production/manage-assets/images/0.png b/docs/guides/pre-production/manage-assets/images/0.png
new file mode 100644
index 0000000000..d97f3bc1e0
Binary files /dev/null and b/docs/guides/pre-production/manage-assets/images/0.png differ
diff --git a/docs/guides/pre-production/manage-assets/index.md b/docs/guides/pre-production/manage-assets/index.md
new file mode 100644
index 0000000000..68f44ae142
--- /dev/null
+++ b/docs/guides/pre-production/manage-assets/index.md
@@ -0,0 +1,287 @@
+# Managing Assets
+
+You can go to the `Assets` page using the dropdown menu on top of the screen:
+
+
+
+On the global page, you will be able to see all the statuses of the different steps of the assets.
+
+
+
+## Create an Asset
+
+
+
+On the asset page, click on **Add assets**.
+
+
+
+::: warning
+When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
+:::
+
+A pop-up window opens:
+
+It asks you to choose the **Asset Type** (1).
+If you didn't add a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props, etc.
+Let's start with a character.
+
+::: tip
+You can also customize the asset type list and the tasks pipeline. See the guide (
+[Customization of the workflow](../../../configure-kitsu/index.html#asset-types)) for more details
+:::
+
+We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
+
+Click on **Confirm and stay** if you have multiple assets to create.
+
+
+
+
+You can change the asset type and keep adding assets.
+
+::: tip
+The newly created asset appears in the background whenever you click on **Confirm and stay**.
+:::
+
+After adding your last asset, click
+on **Confirm**. It will create the asset and close the window.
+
+::: tip
+If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
+:::
+
+
+
+You will also see the tasks that are selected for your assets workflow are created at the same time.
+
+If you need to add more **Assets**, click the **+ Create assets** button.
+
+### Import Assets From a Spreadsheet
+
+You may already have your asset list ready in a spreadsheet file. With Kitsu, you have two ways to import it: browsing to a `.csv` file, or copying and pasting your spreadsheet data directly into Kitsu.
+
+Go to the asset page on Kitsu and click on the **Import** icon.
+
+
+
+A pop-up window **Import data from a CSV** opens. From here, choose one of the two methods below.
+
+#### Option 1: Import a CSV file
+
+First, save your spreadsheet as a `.csv` file. Then click on **Browse** to pick your `.csv` file.
+
+
+
+#### Option 2: Copy / paste a spreadsheet file
+
+Open your spreadsheet, select your data, and copy it.
+
+
+
+Back in the pop-up window, click on the **Paste a CSV data** tab.
+
+
+
+Paste your previously selected data.
+
+
+
+#### Finishing the import
+
+To see the result, click on the **Preview** button. You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything looks good, click the **Confirm** button to import your data into Kitsu.
+
+You have imported all your assets into Kitsu and created the tasks according to your Settings.
+
+
+
+## See the Details of an Asset
+
+To see an asset's detail, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+You can also access the **Casting**,
+
+
+
+**concept** linked to this asset,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+
+
+## Add more tasks after creating the assets
+
+If you realize **after** creating the assets that a task type is missing, you can still add them.
+
+First, ensure the missing task type is added to the production's `Settings` page under the `Task Type` tab.
+
+Then go back to your `Assets` page and click on the `+ Add tasks` button.
+
+## Update your assets
+
+You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
+
+You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
+ (1) on the right side of
+the line.
+
+
+
+To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
+
+
+### Update Assets with the CSV Import
+
+You can use the CSV import to update your data quickly.
+
+You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+### Update Assets by Copying / Pasting a Spreadsheet File
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the asset page on Kitsu and click on the **Import** icon
+.
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data and see the result with the **Preview** button.
+
+
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+You need to switch on the option **Update existing data**. Then, the lines that will be updated
+will be highlighted in blue.
+
+
+
+You have imported all your assets into Kitsu and created the task according to your Settings.
+
+
+
+## Asset Library
+
+### What is the Asset Library?
+
+The Asset Library serves as a centralized repository for all assets used within Kitsu. Teams can import assets from any project into a shared library, making them accessible for future productions. With this functionality, assets like character models, props, environments, and more can be managed in one place and repurposed seamlessly in new projects.
+
+### How to Use the Asset Library
+
+
+
+- You can access the Asset Library from the **Studio** section of the main Kitsu menu.
+- The main Asset Library window displays all assets currently available in the library (1). Use the search (2) and filter (3) options to quickly find specific assets within the library.
+- On the right-hand pane (4), you’ll find the import option for bringing in assets from other productions into the Asset Library.
+
+### Adding Assets to the Library
+
+
+
+The right-hand pane is where you can add existing assets from other productions into the library. This action does not create a copy but simply references the original asset, allowing it to be used in other productions.
+
+To import an asset:
+- Select the production you wish to import the asset from (1).
+- Choose the asset type you’d like to import (2).
+
+There are three main ways to import assets:
+- Import all assets from a specific production (3).
+- Import assets by type from the selected production (4).
+- Select individual assets for import (5).
+
+Once imported, the asset will be available for use in breakdowns for other productions, allowing for efficient asset reuse across projects.
+
+::: tip
+There are specific rules around who can import assets into the asset library, depending on the user’s permission group:
+
+- **Studio Manager**: Can import any assets from any production.
+- **Production Manager**: Can import assets only if they are part of the team.
+- **Supervisor** and **Artist**: Cannot import assets into the library.
+:::
+
+## Remove Assets
+
+Hover over the asset you wish to remove in your production's asset list and click the `Delete` icon:
+
+
+
+## Using The "Ready For" Asset State
+
+Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
+
+For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
+Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
+
+That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
+
+Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
+
+First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
+
+
+
+::: tip
+You can use the **automations** to do the heavy lifting.
+
+You can set automation with the **ready for** trigger.
+:::
+
+We can see the result in the shot page now that we have changed some asset states **Ready for**.
+
+You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
+
+
+
+If you see the white box, Kitsu will display how many assets are ready for this task.
+
+
+
+::: tip
+If you don't see any boxes, no assets are cast for this shot.
+:::
+
+Then, you can click on the shot's name to go to its detail page.
+Then, you will see all the assets cast in this shot and their status.
+
+
+
+It's the fastest way to know if you can start a shot for a specific task.
\ No newline at end of file
diff --git a/docs/guides/pre-production/manage-concepts/images/0.png b/docs/guides/pre-production/manage-concepts/images/0.png
new file mode 100644
index 0000000000..ea4807b1cf
Binary files /dev/null and b/docs/guides/pre-production/manage-concepts/images/0.png differ
diff --git a/docs/guides/pre-production/manage-concepts/index.md b/docs/guides/pre-production/manage-concepts/index.md
new file mode 100644
index 0000000000..2db6333cf1
--- /dev/null
+++ b/docs/guides/pre-production/manage-concepts/index.md
@@ -0,0 +1,86 @@
+# Managing Concepts
+
+To manage your production's concepts, go to the **Concept** page in the production navigation menu:
+
+
+
+## Create a Concept
+
+To upload a concept, click the **Add a new reference to concepts** button.
+
+You can upload one or several concepts at the same time.
+
+
+
+Once you upload your previews, the concept page will look like this.
+
+
+
+Alternatively, if you're coming from the **Todo Page**:
+
+1. Click **Return to Production** to access the dashboard.
+2. Navigate to the **Concepts** page via the main menu.
+3. Click **Add a new reference to concepts** and upload your files.
+
+
+
+## Edit a Concept
+
+You can interact with a concept in two ways from the `Concepts` page: click on the picture to see an enlarged view.
+The second is to click on the status part to open the **Comment Panel** on the right.
+
+On the comment panel, you have two options: link a concept to an existing asset or delete it.
+You can also comment and change the status of the asset.
+
+The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
+
+One concept is one task.
+
+
+
+## Link a Concept to an Asset
+
+Once a concept has been uploaded, you'll want to link it to an asset to ensure it is associated with the correct production element, making it easier for your team to reference and provide feedback within the proper context.
+
+You can see the links on the status part of the assets.
+
+Click on the status part of the concept; it will open the comment panel on the right.
+
+
+
+At the top of the comment panel, you have two options: Link a concept to an asset and delete the concept.
+
+To link an asset, click on the **Link** button:
+
+
+
+Kitsu will display all the **Assets** available to link with the concept uploaded.
+
+Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
+
+
+
+To link an asset, click on it. The names of the linked assets will appear at the top of the screen under the preview of the concept.
+
+
+
+Once a concept is linked to an asset, it can be seen on the asset's detail page.
+
+Return to the asset page, and click on the asset name you want to see the concept.
+
+
+
+Per default, the casting detail is displayed on the second part of the screen.
+Use the dropdown menu to choose the concept.
+
+
+
+Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
+
+
+
+## Delete Concepts
+
+To remove a concept, click on the corresponding card to open the concept menu and click the `Delete` icon:
+
+
\ No newline at end of file
diff --git a/docs/guides/pre-production/meta-column/images/0.png b/docs/guides/pre-production/meta-column/images/0.png
new file mode 100644
index 0000000000..f1581c9fbb
Binary files /dev/null and b/docs/guides/pre-production/meta-column/images/0.png differ
diff --git a/docs/guides/pre-production/meta-column/images/1.png b/docs/guides/pre-production/meta-column/images/1.png
new file mode 100644
index 0000000000..5df6350219
Binary files /dev/null and b/docs/guides/pre-production/meta-column/images/1.png differ
diff --git a/docs/meta-column/README.md b/docs/guides/pre-production/meta-column/index.md
similarity index 52%
rename from docs/meta-column/README.md
rename to docs/guides/pre-production/meta-column/index.md
index 8669e04541..43e5ab0f51 100644
--- a/docs/meta-column/README.md
+++ b/docs/guides/pre-production/meta-column/index.md
@@ -1,4 +1,5 @@
# Meta Columns
+
To add more information on the general spreadsheet pages, you can create a **Metadata Column**.
Metadata columns alow you to track additional information related to your production. Some examples could include a metadata colum to track the percieved difficulty of a task, or a column to try custom tags that help you identify certain aspects of a task. Custom metadata columns can store data in a veriety of formats for easier data entry, filtering and validation.
@@ -7,83 +8,74 @@ Metadata columns alow you to track additional information related to your produc
To add a new custom metadata column, click on the **+** icon next to the Name column.
-
+
First, choose the name you prefer for your field. Then, select the appropriate **Type** based on your needs:
-- **Text**:
- - This type accommodates text based input, including both letters and numbers. It offers flexibility in storing information such as descriptions, comments, or textual content.
+- **Text**: This type accommodates text based input, including both letters and numbers. It offers flexibility in storing information such as descriptions, comments, or textual content.
-- **Number**:
- - Reserved solely for numerical data. It's recommended for tracking information exclusively comprised of numerical values, such as framerates, dates, or times.
+- **Number**: Reserved solely for numerical data. It's recommended for tracking information exclusively comprised of numerical values, such as framerates, dates, or times.
-- **Checkbox**:
- - This option allows you to mark items as either on or off. It's suitable for tracking data with only two possible states, like indicating shots intended for a trailer cut.
+- **Checkbox**: This option allows you to mark items as either on or off. It's suitable for tracking data with only two possible states, like indicating shots intended for a trailer cut.
-- **List of values**:
- - With this type, you define a list of options from which only one unique element can be selected. It's ideal when you need to track data with a limited number of choices. For instance, for tracking camera movements, options like "Static," "Pan," "Tilt," or "Zoom" could be included.
+- **List of values**: With this type, you define a list of options from which only one unique element can be selected. It's ideal when you need to track data with a limited number of choices. For instance, for tracking camera movements, options like "Static," "Pan," "Tilt," or "Zoom" could be included.
-- **List of tags**:
- - Here, you can define multiple tags. Unlike a list of values, which allows selecting only one item, this type enables selecting multiple entries from the list.
+- **List of tags**: Here, you can define multiple tags. Unlike a list of values, which allows selecting only one item, this type enables selecting multiple entries from the list.
-- **Checklist**:
- - This type presents a list of options, each accompanied by its own checkbox. It's useful for tracking minor sub-tasks associated with a shot or asset, which don't warrant their own task in the production pipeline.
+- **Checklist**: This type presents a list of options, each accompanied by its own checkbox. It's useful for tracking minor sub-tasks associated with a shot or asset, which don't warrant their own task in the production pipeline.
-
+
-:::warning
+:::warning
When creating **Text** and **Number** metadata types, a default value is not required upon creation.
However, when using the **List of value**, **List of tags**, and **Checklist**, you have to specify which values you want to include at the point of creation.
-
+
Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
:::
-### Linking Metadata Columns to Departments
+## Linking Metadata Columns to Departments
You can also link the **metadata column** to one or several **departments**. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-To create more departments, see [Create Departments](../configure-kitsu/README.md#create-departments).
+To create more departments, see [Create Departments](/guides/team-management/managing-departments/#creating-departments).
You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to confirm.
Here, the VFX column is linked to two departments.
-
-
-
+
::: details How to edit your metadata column
On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
-
+
:::
-
Congratulations, your newly created metadata column should now be available from your global page.
-
+
::: tip Batch Updates
If you want update multiple items with the same values, first check the items you want to include as shown below, and then update the value. The value you entered will then be updated across all items.
-
+
-
+
:::
::: details Editing Entities
-While you can make updates to entities in the spreadsheet directly, you can also use the edit button  to update multiple metadata columns.
+While you can make updates to entities in the spreadsheet directly, you can also use the edit button  to update multiple metadata columns.
Once selected, you can fill out or adjust values for all metadata columns for that specific entity. Remember to press the **Confirm** button when you are done.
-
+
:::
-If you need to edit or delete the metadata column from the general spreadsheet page next to the name of your metadata column, click on the arrow .
+If you need to edit or delete the metadata column from the general spreadsheet page next to the name of your metadata column, click on the arrow .
::: tip
In additional to editing or deleting metadata columns, from here you can also **sort** your global page with this new column by clicking on **Sort By**.
@@ -91,23 +83,21 @@ In additional to editing or deleting metadata columns, from here you can also **
Additionally you can also **Stick** the metadata column, meaning that it will stay locked to the left and remain visible while scrolling through a large dataset.
:::
-
## Organizing Metadata Columns
+
### Display or Hide All Metadata Columns
To keep your global spreadsheet tidy, you can choose to hide any non-essential columns. Note that this action does not delete the column; it simply hides it from view but retains it in other areas where it is used.
-
To do this, click on the **Hide Additional Information**
- button on the top right of the page.
-
-
+ button on the top right of the page.
+
To make the information reappear, click on the same button,
- it won't be highlighted in grey.
+ it won't be highlighted in grey.
-
+
### Display or Hide a single Metadata Column
@@ -115,21 +105,28 @@ You may need to hide or display a specific **Metadata Column** on a global page.
To hide your metadata column, click on the arrow on the right border of the global page.
-
+
You can choose which column you want to **hide** or **display**.
-
-
-
## Sticky Columns
If a piece of information is frequently referred to, you can **Stick** this column next to the shot name.
Click on the arrow to the right of the column to open the column menu, then choose **Stick**.
-
+
+
+
+
+## Update Meta Columns
+
+Hover over your meta column and click on the menu dropdown icon, then select `Edit`. A modal dialog will appear to update your meta-column properties:
+
+
-
+## Remove Meta Columns
+Hover over your meta column and click on the menu dropdown icon, then select `Delete`:
+
\ No newline at end of file
diff --git a/docs/guides/privacy-security/authentication/index.md b/docs/guides/privacy-security/authentication/index.md
new file mode 100644
index 0000000000..f48b6214a0
--- /dev/null
+++ b/docs/guides/privacy-security/authentication/index.md
@@ -0,0 +1,24 @@
+# Authentication
+
+## Enable Two-Factor Authentication
+
+**Two-Factor Authentication** provides an additional layer for security for users logging in to Kitsu. It can be enabled on a per-user basis, so you can decide for which users it is enforced.
+
+To enable this, click on their avatar at the top right of the screen, then select **Profile**.
+At the bottom of the page, they will find various **Two-Factor Authentication** options:
+
+- **TOTP**: This lets you use a Two-Factors Authentication app as a secondary password for your account. Selecting this option will present you with a QR, that once scanned into your 2FA app of choice, will prompt you for a one-time code each time you login.
+- **OTP Via Email** Similar to TOTP, but instead of using an app the 2FA code is sent to your email address
+- **FIDO Device** A FIDO device refers to a hardware security key that supports the FIDO (Fast IDentity Online) standard for two-factor authentication (2FA). If you own one of these devices, you can input it's name here to be used for Two-Factor-Authentication
+
+
+
+## OpenID / SSO auth
+
+Kitsu also supports OpenID Connect (OIDC).
+
+Rather than creating and maintaining a separate password for Kitsu, team members can sign in with the same credentials they already use for everything else if the studio already relies on a centralized identity system like Google Workspace, Okta, Azure AD, or another OIDC-compatible provider.
+
+Once OIDC is enabled in your backend configuration, the login page automatically displays a "Login with [provider]" button alongside the standard login for:
+
+
diff --git a/docs/guides/privacy-security/index.md b/docs/guides/privacy-security/index.md
new file mode 100644
index 0000000000..686db42eae
--- /dev/null
+++ b/docs/guides/privacy-security/index.md
@@ -0,0 +1,4 @@
+# Privacy & Security
+
+- [Authentication](/guides/privacy-security/authentication/) -
+- [Logs](/guides/privacy-security/logs/) -
\ No newline at end of file
diff --git a/docs/guides/privacy-security/logs/index.md b/docs/guides/privacy-security/logs/index.md
new file mode 100644
index 0000000000..59fcf4c95c
--- /dev/null
+++ b/docs/guides/privacy-security/logs/index.md
@@ -0,0 +1,27 @@
+# Log Pages
+
+Studio managers can use log pages in `Main Menu > Admin > Logs` to improve security or audit user activity for troubleshooting issues.
+
+## Activity Logs
+
+The activity logs list all API requests:
+
+
+
+It's possible to filter logs per day and user.
+
+## Login Logs
+
+Login logs give administrators better visibility into account access across their organization:
+
+
+
+You can use it to see who logged in, how, and when. The log supports filtering by date and person to investigate specific activity, and includes pagination for navigating larger datasets.
+
+## Preview File Status Logs
+
+Preview file upload can be tricky for large videos, so this page lists all preview files in an intermediary state: processing or broken.
+
+
+
+It shows how many preview files are being processed, or which file uploads failed to complete and why.
\ No newline at end of file
diff --git a/docs/guides/review-publishing/index.md b/docs/guides/review-publishing/index.md
new file mode 100644
index 0000000000..bb14e25572
--- /dev/null
+++ b/docs/guides/review-publishing/index.md
@@ -0,0 +1,7 @@
+# Review & Publishing
+
+- [Update Task Progress](/guides/review-publishing/update-task-progress/) - How to change statuses and keep your team updated on the progress of work.
+- [Publish](/guides/review-publishing/publish/) - How to publish and share work with your team.
+- [Request Review](/guides/review-publishing/request-review/) -
+- [Review](/guides/review-publishing/review/) - Learn how to review all feedback on a task.
+- [Playlist](/guides/review-publishing/playlist/) - Quickly gather video versions and stay focused during internal and client reviews.
\ No newline at end of file
diff --git a/docs/guides/review-publishing/playlist/images/0.png b/docs/guides/review-publishing/playlist/images/0.png
new file mode 100644
index 0000000000..e88d42cbe8
Binary files /dev/null and b/docs/guides/review-publishing/playlist/images/0.png differ
diff --git a/docs/guides/review-publishing/playlist/images/1.png b/docs/guides/review-publishing/playlist/images/1.png
new file mode 100644
index 0000000000..466ccb22a3
Binary files /dev/null and b/docs/guides/review-publishing/playlist/images/1.png differ
diff --git a/docs/guides/review-publishing/playlist/images/2.png b/docs/guides/review-publishing/playlist/images/2.png
new file mode 100644
index 0000000000..0c655c845f
Binary files /dev/null and b/docs/guides/review-publishing/playlist/images/2.png differ
diff --git a/docs/guides/review-publishing/playlist/images/3.png b/docs/guides/review-publishing/playlist/images/3.png
new file mode 100644
index 0000000000..4649675d8e
Binary files /dev/null and b/docs/guides/review-publishing/playlist/images/3.png differ
diff --git a/docs/guides/review-publishing/playlist/index.md b/docs/guides/review-publishing/playlist/index.md
new file mode 100644
index 0000000000..e84b0fba90
--- /dev/null
+++ b/docs/guides/review-publishing/playlist/index.md
@@ -0,0 +1,204 @@
+# Playlists
+
+A playlist is a list of curated versions / previews compiled for review and approval.
+
+## Accessing your Playlists
+
+**Production team members** can find the **Playlists** page in the drop-down menu.
+
+
+
+The **Playlist** page is separated into two parts:
+
+- (1) A list of your playlists where you can **create** a new one or load an existing one.
+- (2) The last created playlists and the last modified playlists.
+
+
+
+**Clients** access playlists differently: click on the production avatar to reach the **Playlist** page, which gathers all the assets and shots they have to comment on.
+
+
+
+
+
+On the left, clients can sort the playlist per **Task Type**, **date**, or **name** (1), followed by the list of playlists created for them (2). The center part gives fast access to the recent playlists (3).
+
+In the detail view, the left part keeps access to the different playlists, the center part shows the elements of the selected playlist (assets or shots), and the right part gives access to the comment section, where clients can write a comment to approve the preview.
+
+
+
+
+## Create a Playlist
+
+Start by creating a **Playlist** using the  button. The playlist name defaults to the current date & time, but you can change this. You can choose if the playlist will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist. You can also add a **Task Type** tag to the playlist.
+
+
+
+> **For client playlists:** the process is the same, but make sure to select **The Client** under **To Be Shared With**. This ensures the proper permissions and gives the client access to only this specific playlist.
+>
+> 
+
+## Populating a Playlist
+
+Once the playlist is created, use the search/filter bar to select which shots to add to your playlist.
+
+You will also see options for adding:
+
+- An **entire episode** or **entire sequence** if you want to add large chunks of the project at once.
+- The **whole movie**, which will add all the shots of the movie.
+- **Daily pending**, which will add all the **WFA** tasks of the day.
+
+You can use the same **filters** as the global shot/asset page. For example, you can select all the **WFA** (short for "work for animation") tasks at the **Animation** stage by typing **animation=wfa** in the search bar. Validate your selection with the **Add selection** button. Kitsu will select the shots with the **WFA** status at the **Animation** stage and automatically load the **latest uploaded version**.
+
+The shots appear in the top part of the screen. Every change is automatically saved.
+
+
+
+## Review Controls
+
+Once you have created a playlist, you have several options:
+
+
+
+- Play or Pause
+- Jump between elements in your playlist
+- See the position of the selected element compared to the total number of elements
+- Mute or unmute the audio
+- Change the speed: double speed (x2), full speed (x1), half speed (x0.50), or quarter speed (x0.25)
+- Continuously loop a single element
+- Display audio waveforms
+- Display annotations during playback
+- Show the timecode (TC) of the element compared to the TC of the whole playlist
+- Display the number of frames
+- Navigate frame by frame on the preview (you can also use the left & right arrow keys on the keyboard)
+- Access the compare tool
+- Undo and redo options for annotations
+- Text and drawing options (including delete selection)
+- Change the task type of all the elements in the playlist
+- Display the comments section
+- Hide elements in the playlist
+- Switch between LD (low definition) and HD (high definition)
+- Download the playlist as a **Zip** file with all the separate elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
+- Enter fullscreen mode
+
+Clients see this same set of controls, laid out as follows:
+
+
+
+- (1) Previous shot / asset, (2) Next shot / asset, (3) position of the element
+- (4) Play/pause, (5) speed (x1, x0.50, x0.25), (6) loop the selected shot
+- (7) Time code of the shot vs. the global time code, (8) actual frame, (9) previous frame, (10) next frame
+- (11) Split screen (compare two task types side by side)
+- (12) Undo annotation, (13) Redo annotation
+- (14) Write a comment on the picture and change the text color
+- (15) Draw a comment on the picture and change the color/size of the line
+- (16) Select a drawing and click the cross to delete it
+- (17) Change the task type of all elements, (18) Open the comment/status panel, (19) Hide the element list, (20) Download the playlist, (21) Fullscreen
+
+Clients can also navigate from element to element by clicking on it, see the color status and length of each element compared to the total, and see the position of the selected element with a green dot.
+
+::: tip
+Frame-by-frame navigation with the left/right arrow keys works the same way for clients.
+:::
+
+::: danger Client Permissions
+- Clients can see all versions of all task types.
+- Clients can only see comments they have made and any replies to these comments. They cannot see your internal comments.
+- Clients can only see when a revision has been published, but cannot see who published it.
+- Clients can only see and use statuses with the **Is client allowed** tag.
+:::
+
+::: warning
+A client will only have access to a production if they are part of the team, and they will only see the **client playlist**. There is currently no way to segregate clients within the same production.
+:::
+
+### Task, Version & Compare
+
+For each shot/asset in the playlist, you (or the client) can choose the **task** and the **version** to view.
+
+
+
+
+You can also play two tasks of a shot side by side. Click on the **Compare** button  and choose the second task type.
+
+
+
+## Commenting
+
+The primary purpose of the playlist is to help review the shots and assets. You can comment directly from the preview by clicking the **comment** button.
+
+
+
+This opens the right panel, which shows a history of the comments and their status. You can see drawing comments on the video (the red dot below the timeline).
+
+
+
+You can draw or type on the video with the **draw** button  (similar to [Perform a review](../../../status-publish-review/index.md#perform-a-review)).
+
+> **For clients**, the comment button opens the same kind of panel, but showing only their own comments and status history, without access to internal comments or statuses.
+>
+> 
+> 
+>
+> ::: warning
+> Only the supervisor and production manager can see the client's comments — artists will only see the status. The supervisor and production manager can copy the client's comments, modify them if necessary, and publish them for the team.
+>
+> 
+> :::
+
+### Share your Comments
+
+First open the comment section. 
+
+From there, you can change the status to  if you want the artist to perform some changes.
+
+You can add a **checklist** to your comments. Click the **Add checklist** button, and the first item of the checklist appears.
+
+
+
+Type your comment, and hit **Enter** to add another line to your checklist, or click again on the **Add Checklist** button.
+
+
+
+## Review Room
+
+The Review Room is a collaborative space designed for efficient and synchronized dailies review sessions, for both internal teams and clients. It ensures that all participants are viewing the same content simultaneously, facilitating real-time feedback and discussion.
+
+You can join the **Review Room** by clicking the button at the top of the playlist. Everyone in the room will see the play, pause, shot, and frame selections in real-time.
+
+The Review Room also supports synchronized drawing annotations: participants can draw directly on the frames being reviewed, with all annotations visible to everyone in the session. This makes it easier to point out specific details, suggest changes, and highlight important aspects of the work.
+
+
+
+## Share Playlist
+
+There are two ways to share playlists depending on if the reviewer has access to your Kitsu instance (internal review) or not (guest review).
+
+### 1. Invite Internal Reviewers
+
+TODO
+
+### 2. Guest Review Experience
+
+Getting feedback from temporary clients or external partners shouldn't require creating accounts. With Kitsu's public link sharing, you can send a playlist with a single link and let guests access a dedicated review player where they can:
+
+- Leave comments
+- Make drawing annotations
+- Update statuses
+- Manage checklists on their own feedback
+
+1. In your playlist, click the `Share` button in the top right corner:
+
+
+
+2. Click `Add a new link`:
+
+
+
+3. Select if you want to allow guest comments and optionally pick an expiration date for the link:
+
+
+
+4. Share the public link with your guests. Anyone with the link can view the playlist, so be careful not to leak outside your safe space.
+
+
\ No newline at end of file
diff --git a/docs/guides/review-publishing/publish/index.md b/docs/guides/review-publishing/publish/index.md
new file mode 100644
index 0000000000..6c6d59c35e
--- /dev/null
+++ b/docs/guides/review-publishing/publish/index.md
@@ -0,0 +1,78 @@
+# Publishing
+
+## Publishing a Concept
+
+To publish a **Concept**, navigate to the **Concepts** page from the project navigation menu.
+
+
+
+To upload a concept, click the **Add a new reference to concepts** button. You can upload one or several concepts simultaneously.
+
+
+
+After the upload is complete, previews will be generated and visible from your concepts page.
+
+
+
+Click on the thumbnail to see an enlarged preview of your concept, or click on the status to open the **Comment Panel** on the right.
+
+With the comment panel open, you have two options:
+
+1) You can link a concept with an existing asset / delete and existing link.
+2) You can comment and change the status of the concept.
+
+It is good practice to only have one version per **Concept**. If the concept is not approved and requires additional changes, then it's better to version-up that concept.
+
+
+
+## Publish a Preview as a Version
+
+To publish a preview, picture, or video, access the task's comment panel and select the **PUBLISH REVISION** tab.
+
+Kitsu automatically switches to the **Publish Revision** tab when using a status with the **IS FEEDBACK REQUEST** option, such as the **WFA** Status.
+
+
+
+You can add one or several previews to any comments. These can be a picture (`.png`, `.jpg`, `.jpeg`, `.gif`), a video (`.mp4`, `.mov`, `.wmv`), or a `.glb` file. Additionally, you can review all the previews from the browser or mix everything.
+
+You can also review a `.glb` file as a wireframe or add a `.HDR` file to check the lighting. See the **Customization** section for more details.
+
+[Pipeline Customization](../../../configure-kitsu/index.md#3d-backgrounds)
+
+Other files like `.pdf`, `.zip`, `.rar`, `.ma`, or `.mb` cannot be viewed in the browser and need to be downloaded to be reviewed.
+
+Then, click on the **Add preview revision to publish** button. The explorer opens, allowing you to choose your file or several files.
+
+
+
+You can also **copy-paste a screenshot** from your clipboard into this upload dialogue, without needing to download it first. Once your file is selected, you will see its name near the **Add files to publish** button.
+
+
+
+You can also **drag & drop** files that you wish to upload into the comment section to automatically start the upload process.
+
+
+
+On top of your preview, you can add a **Comment**. Click the **Leave a Comment** button to unfold the comment section.
+
+
+
+You can then select your status and publish your preview with the **Post** Button.
+
+For more information on using publishes as thumbnails, [see this section here on thumbnails](../../../thumbnails/index.md).
+
+## Combining Previews Into a Version
+
+You can add multiple images simultaneously, or once you have uploaded an image, you can add another one.
+
+
+
+The **Add preview** pop-up asks you to choose a file. You can navigate through the pictures uploaded.
+
+You can change the preview order by clicking the number and then dragging and dropping them.
+
+
+
+To delete an additional preview, enlarge the comment panel, click on the number of versions, and then click on the .
+
+
diff --git a/docs/guides/review-publishing/request-review/index.md b/docs/guides/review-publishing/request-review/index.md
new file mode 100644
index 0000000000..0cbcec4c0f
--- /dev/null
+++ b/docs/guides/review-publishing/request-review/index.md
@@ -0,0 +1,13 @@
+# Request a Review
+
+Once your task has been completed, you can submit it for review. To do this:
+
+1. Change the task status to **Waiting for Approval (WFA)**.
+2. Attach a preview file by dragging it into the upload area or clicking **Attach Preview**.
+3. Click **Post** to finalize your submission.
+
+
+
+Previous revisions are saved and remain accessible for reference.
+
+
diff --git a/docs/guides/review-publishing/review/images/0.png b/docs/guides/review-publishing/review/images/0.png
new file mode 100644
index 0000000000..1b5fedd386
Binary files /dev/null and b/docs/guides/review-publishing/review/images/0.png differ
diff --git a/docs/guides/review-publishing/review/images/1.png b/docs/guides/review-publishing/review/images/1.png
new file mode 100644
index 0000000000..19d7c0d4ab
Binary files /dev/null and b/docs/guides/review-publishing/review/images/1.png differ
diff --git a/docs/guides/review-publishing/review/images/2.png b/docs/guides/review-publishing/review/images/2.png
new file mode 100644
index 0000000000..67d04dde67
Binary files /dev/null and b/docs/guides/review-publishing/review/images/2.png differ
diff --git a/docs/guides/review-publishing/review/images/3.png b/docs/guides/review-publishing/review/images/3.png
new file mode 100644
index 0000000000..b75085caed
Binary files /dev/null and b/docs/guides/review-publishing/review/images/3.png differ
diff --git a/docs/guides/review-publishing/review/index.md b/docs/guides/review-publishing/review/index.md
new file mode 100644
index 0000000000..774e71e0ff
--- /dev/null
+++ b/docs/guides/review-publishing/review/index.md
@@ -0,0 +1,162 @@
+# Reviews
+
+## Reviewing Tasks
+
+When an artist needs someone to **review** their work, they can change the status of their task to .
+
+Click on the status to open the right hand panel and start the review.
+
+You can watch the version from the right panel, enlarge it by grabbing the side of the panel, or even enter fullscreen by clicking this icon .
+
+
+
+In the same way, you can also review 3D files (`.glb` file) as a wireframe or add a `.HDR` file to check the lighting.
+
+You can move around the 3D file by dragging and dropping your cursor and zooming in or out with the scroll wheel.
+
+
+
+
+
+See the **Customization** section for more details.
+[Pipeline Customization](../../../configure-kitsu/index.md#3d-backgrounds)
+
+You can select a color to use and then draw directly on the preview with the **Pencil** tool .
+
+
+
+### Drawing Annotations
+
+You can also annotate the frame with **text**.
+
+
+
+If you'd like to temporarily **hide annotations**, click the **Fountain Pen** button.
+
+
+### Shape Annotations
+
+Reviewers can draw squares, circles, and arrows instead of being limited to freehand sketching alone.
+
+
+
+### Tagging Frames
+
+If you would like to refer back to a specific frame in your comments, you can easily tag a frame by typing `@`, which opens a sub-menu with the team list, and then start typing **frame**.
+
+This will then add a timestamp of the current frame to this comment, and clicking on that timestamp will jump to said frame.
+
+
+
+### Exporting Annotations
+
+You can also export your drawings on each frame by attaching the **screenshots as attachments**.
+
+Click on the **Add attachment** button.
+
+
+
+You can also choose to **Attach snapshots from your annotation** in the attachment options. This lets you take annotated frames and add them as attachments of the comment, which can be useful if you want to highlight specific annotations in your feedback.
+
+
+
+Once you click the button, Kitsu will grab all the frames with annotations and display the result. You can publish them with **Confirm**.
+
+
+
+### Deleting Annotations & Eraser
+
+If you need to delete an annotation, click the `Eraser` icon:
+
+
+
+### Comparing Images
+
+By entering **Full-Screen**, you can compare two task types or versions side by side by clicking on the **Compare** button .
+
+
+
+From here, you can change the status to  if you want the artist to make changes.
+
+Alternatively, you can change it to  to notify the artist that their work is approved.
+
+### Onion Skinning
+
+If you need to check frame-to-frame consistency while reviewing animation in Kitsu, you can use onion skinning for annotations.
+
+Onion skinning overlays nearby annotation frames (up to 5 frames before and/or after the current frame) so you can see motion, spacing, and timing issues in one go without scrubbing back and forth.
+
+Here is the annotated frame N:
+
+
+
+And here is how the overlay looks in frame N + 4:
+
+
+
+## Reviewing Previews
+
+Now that everyone in your team knows what to do, you need to review their work. Typically, when an artist finishes a task, they will call you for a review. Frequent interruptions can be unproductive and make it difficult to maintain focus. To avoid this, set a specific timeframe for reviews. This approach benefits both you and your team by providing a structured schedule. Artists will know when they can expect feedback and can plan their work accordingly, while you can dedicate uninterrupted time to your own tasks.
+
+Click the **My Checks** button at the top of the screen to see a list of all your department's **WFA** tasks.
+
+
+
+This list covers all relevant **Productions**, **Task Types**, and **Task Statuses**. As with other pages in Kitsu, you can click on a **Status** to open the **Comment Panel** on the right and review tasks one by one.
+
+Alternatively, you can use the **Build playlist from list** button to create a playlist with all the tasks on the list. This playlist has the same options as other views, allowing you to open the comment panel, compare versions and task types, and add annotations.
+
+
+
+
+Another option is to go to the **Task Type Page** and change the **Display as contact sheet**. For example, you can filter by **Due Date Status** and select **Due this week**.
+
+
+
+From here, you can click on the contact sheet to open the comment panel or select several tasks to create a playlist.
+
+## Reviewing Concepts
+
+If you're a **Concept Artist**, you can upload and share concepts for review.
+
+When your artists upload a concept, you can review it through the navigation menu at the top of the screen by selecting the **Concepts** page.
+
+
+
+On this page, you can see all uploaded concepts along with their status, assignment, and linked assets.
+
+
+
+To review a concept, click on its status to open the comment panel. You can enlarge the comment panel or enter fullscreen. You can then write a comment, set the status as **Approved** or **Rejected**, and confirm your changes with the **Post** button.
+
+
+
+You can narrow down the page using the **Status** filter to display all concepts with a **Neutral** status.
+
+
+
+Additionally, you can filter by artist and change the sort order to better hone in on the data you need to review.
+
+## Reviewing Concepts
+
+Once your artists upload a concept, you can review it with the supervisor or the director.
+
+To review the concept, use the navigation menu at the top of the screen and select the concept page.
+
+
+
+You can see all the uploaded concepts, their statuses, assignments, and linked assets.
+
+
+
+To review a concept, click on the status to open the comment panel. You can enlarge the comment panel or go fullscreen.
+
+Then, proceed to write a comment, select the status **Approved** or **Rejected**, and confirm with the **Post** button.
+
+
+
+You can filter the page with the **Status** filter to display all the concepts with a **Neutral** status. You can also filter by artist and change the sort order.
+
+
+
+## The "My Checks" Page
\ No newline at end of file
diff --git a/docs/status/README.md b/docs/guides/review-publishing/update-task-progress/index.md
similarity index 68%
rename from docs/status/README.md
rename to docs/guides/review-publishing/update-task-progress/index.md
index 3ad186488c..84d6b10eb4 100644
--- a/docs/status/README.md
+++ b/docs/guides/review-publishing/update-task-progress/index.md
@@ -1,4 +1,19 @@
-# Statuses and Feedback
+# Updating Task Progress
+
+Once you've made progress on your task, you'll want to update your team on its status.
+
+### Updating Task Statuses
+
+1. Click the task’s **Status** icon on the **My Tasks** page or the relevant asset page.
+2. Add comments to provide updates or ask questions.
+3. Change the status (e.g., from "Ready" to "WIP").
+4. Click **Post** to save changes.
+
+
+
+You can edit your most recent comment by clicking the **History** button and selecting **Edit**. 
+
+## Statuses and Feedback
In Kitsu, statuses serve as indicators reflecting the current state or progress of a task. You can easily see the current status at a glance and add comments to update team members when a status changes.
@@ -6,11 +21,11 @@ In Kitsu, statuses serve as indicators reflecting the current state or progress
To change the status of a task and write a comment, click on the status of the task.
-
+
A panel will appear on the right where you can write a comment, change the status, and attach a file.
-
+
The **Comment Panel** is split into two tabs:
- POST COMMENT
@@ -24,82 +39,86 @@ Comments support the use of **Markdown**, which is a markup language used for fo
You can also **tag** a team member in the comments to notify them directly. To do this, type `@`, which will open a submenu with a list of team members. Select the person you wish to notify, and upon submitting your comment, they will receive a notification.
-
+
You can also **tag** an entire department by typing '@' followed by the department's name.
-
+
### Adding Checklists
You can also add checklist items to keep track of miscellaneous items that don't warrant their own task. To add a **checklist** to your comments, click the **Add checklist** button. The first item of the checklist will appear.
-
+
Hit **Enter** or click the button again to add more checklist items, and give each one a name.
-
+
### Adding Attachments
To attach a file as a picture, click on the **Add attachment** button.
-
+
Select a **file from your hard drive** or paste a **screenshot**.
-
+
Validate the attachment by clicking on **Add file as attachment**.
Next, select the **Status** you wish to change the task to from the dropdown menu.
-
+
Finally, click the **Post** button to submit your comment and status update.
## Changing Statuses In Bulk
+
### Updating Multiple Statuses at Once
+
You can also change the status for multiple tasks at once.
Select multiple shots or assets by pressing **Ctrl / Cmd** or **Shift** and select the tasks you wish to include.
Then, go to the action menu's **Change status** section.
-
+
Choose the new status for your selected tasks (1). You can also add a comment for all the selected tasks (2). Save the new status with the **Confirm** button.
-
+
-
+
## Artist Board Statuses
+
### Customizing Statuses Used on the Artist Board Page
+
When you assign a task to an artist, it will appear on their to-do page when they log in.
While the default view shows their tasks in a traditional list view, they can also choose to display their tasks in a board view. Each **Status** will be be represented by a column, and the assigned tasks will be cards that can be dragged from status to status as the tasks progress.
To customize the board view, go to the settings page of your production.
-
+
Then go to the Task Status tab. You will see a list of the statuses used in your production.
These statuses will be used as the columns on the board page. You can drag and move the statuses to change their order as they appear in the board view.
-
+
Next, click on the **Board Status** section.
-
+
-Here you can customize which permission roles can see what statuses on their **Board** page.
+Here you can customize which permission roles can see what statuses on their **Board** page.
To access this view, select the **Board** tab from the **My Tasks** page. Your team will see a page that looks similar to this
-
+
::: tip
-Customizing which statuses appear in the **Board** view is set per permission role. It cannot be customized on an individual user basis.
+Customizing which statuses appear in the **Board** view is set per permission role. It cannot be customized on an individual user basis.
:::
diff --git a/docs/assignation/README.md b/docs/guides/scheduling/assign-tasks/index.md
similarity index 61%
rename from docs/assignation/README.md
rename to docs/guides/scheduling/assign-tasks/index.md
index 7f6a7f5764..2706f7bb69 100644
--- a/docs/assignation/README.md
+++ b/docs/guides/scheduling/assign-tasks/index.md
@@ -1,8 +1,9 @@
-# Tasks Assignments
+# Task Assignments
-In Kitsu, a task is a fundamental element used for planning, organizing, and tracking various aspects of your production.
+In Kitsu, a task is a fundamental element used for planning, organizing, and tracking various aspects of your production.
Assigning a task to a user offers several benefits:
+
- You have a clear understanding of who is responsible for each task.
- Users are aware of their assigned tasks.
- Users can log time spent on each task.
@@ -12,30 +13,7 @@ Assigning a task to a user offers several benefits:
- You can forecast team productivity.
- You can track the actual performance of your team.
-
-## Add Users to the Team
-
-In the [section on preparing your team](../team/README.md), we cover how to add people to Kitsu, set their permission levels, and link them to a department.
-
-::: tip
-In order for a user to be assigned to a task, they must first be added to a production. Please note that you cannot assign tasks to users outside of the production.
-:::
-
-First, lets add some users to our production. Within your project, from the dropdown menu at the top of the page, select the **Team** page.
-
-
-
-On the this page, you can see all the users who have been assigned to this project. If you've just created a brand new project, this page will be empty. for a specific project. You can also quickly navigate to the team page for a different project, by selecting the project name in the drop down menu.
-
-
-
-::: warning
-Permissions and departments are set at the **Studio Level**. You can't adjust these at the production level.
-:::
-
-
-## How to Assign Tasks
-### Assign Tasks From the Global Page
+## Assign Tasks From the Global Page
Once you've added all your users to the production, it's now time to assign your first task!
@@ -43,19 +21,19 @@ Once you've added all your users to the production, it's now time to assign your
In Kitsu, tasks from each task type are visually represented by the Status of the task cell, as shown below.
:::
-
+
Click the status on the task that you want to assign.
You'll then see the **comment panel** appear on the right side of the screen, containing various options for configuring that task.
-
+
Then, click on the assignee button to open the assignment dialogue
-
+
-This is where you can assign users to the task. Click into the box to reveal a popup with available users. Alternatively you can start typing the users name to quickly narrow a specific user. Select the user you want to assign, and click on the **assign to selected task** button to complete the assignment.
+This is where you can assign users to the task. Click into the box to reveal a popup with available users. Alternatively you can start typing the users name to quickly narrow a specific user. Select the user you want to assign, and click on the **assign to selected task** button to complete the assignment.
::: tip Note
You can assign more than 1 user to a single task
@@ -63,27 +41,37 @@ You can assign more than 1 user to a single task
You can also assign a user to multiple tasks simultaneously. First, you'll need to select the tasks you want to assign. You can do this by holding **Ctrl / Cmd** on your keyboard and clicking on the tasks you want to select. Alternatively, you can use the **Shift** key to select a range of tasks. You'll notice that the selected tasks are highlighted in blue.
-
+
Once you have your tasks highlighted, select a user to assign and confirm your selection by clicking the **Confirm** button. Similarly, you can use the **unassign from selection** option to remove these assignments.
Now, you can see the artist's avatar next to each of the task's status.
-
+
-You can toggle the visibility of task assignments on or off by using the **Show/Hide Assignments** button located at the top of the spreadsheet .
+You can toggle the visibility of task assignments on or off by using the **Show/Hide Assignments** button located at the top of the spreadsheet .
Keep in mind that task assignments can determine what a user sees, depending on their role (for instance, vendors need to be assigned to a task before they can view anything).
With your assignments completed, everyone knows their tasks and responsibilities!
-### Assign Tasks From the Detailed Task Type Page
+## Assign Tasks From the Detailed Task Type Page
You also have the option to assign tasks from the detailed task type page. To access this, click on the column header of the task type.
Next simply click on a status to open the comment panel. From there, you'll have the same options available as on the global page. You can select one or multiple tasks simultaneously to assign a user.
+## Assign Tasks as a Department Supervisor
+
+From the global shots / asset page, your view is automatically filtered by **My Department**. This shows you tasks from your departments **Task Type** and the **Custom Columns** linked to your department.
+
+
+When you assign one or several tasks to someone, you will notice that you only have access to people from your department. This makes it faster to find the right artist for the task.
+
+## Next Steps
+- [Find assignments to work on](/guides/scheduling/find-assignments/)
+- [Fill in the **Estimates** for each task](/guides/scheduling/estimates/)
\ No newline at end of file
diff --git a/docs/estimation/README.md b/docs/guides/scheduling/estimates/index.md
similarity index 61%
rename from docs/estimation/README.md
rename to docs/guides/scheduling/estimates/index.md
index b0794fb74a..7be1ad6920 100644
--- a/docs/estimation/README.md
+++ b/docs/guides/scheduling/estimates/index.md
@@ -1,4 +1,6 @@
-# Estimates & Team Quotas
+# Estimates
+
+
Estimating the time for each task can feel overwhelming, but the benefits far outweigh the effort. By filling out task estimations, you can:
@@ -10,16 +12,15 @@ Estimating the time for each task can feel overwhelming, but the benefits far ou
Kitsu offers various features to help you easily track, review, and forecast task estimates. Let's look at some of the features that enable you to do this.
-
## Add an Estimate for a Task
To get started, click on the name of a task type.
-
+
You'll then be taken to the Detailed Task Type view. Here you can see a list of of every task of that specific task type, along with additional details.
-
+
To add an estimate to a task, click on the **Estimate (Est.)** field and input the number of days. You can select multiple tasks with **ctrl / cmd** or **shift** and apply the same estimate across all selected tasks.
@@ -31,9 +32,10 @@ You can also define a **Start date** by clicking into the field, and choosing a
The **Due date** is automatically calculated based on **Estimate** and **Start Date** provided.
-
+
### Detailed Task Type View Features:
+
Here is a summary of the cases and features you can leverage from the detailed task type view.
- See and change the status of tasks
@@ -46,58 +48,45 @@ Here is a summary of the cases and features you can leverage from the detailed t
- See the WIP and Feedback dates automatically filled in
- Monitor the latest comment section to keep an eye on the latest activity for this task type
-## Forecasting Team Speed
-### Forecast Your Team's Speed Using Estimated Quotas
+## Forecasting Team Speed and Bidding Estimates
-To help you set accurate estimates, you can use the **Estimation** tab.
+Click on the name of a **Task Type** to open its dedicated page. On this page, you can access three tabs: **Tasks**, **Schedule**, and **Estimation**. To help you set accurate estimates and forecast your team's speed, we'll focus on the **Estimation** tab.
-
+
The left half lists the tasks with their assignments and the number of frames (1). Based on the **FPS** you have set for the production, the number of **seconds** will be automatically calculated (2).
::: tip Definition
-**Quotas** visualize your **team speed**.
+**Quotas** visualize your **team speed**.
You can see on average how many shots, frames, or seconds the artist needs to complete daily to finish all tasks within the **estimated number of days**.
:::
The right half shows the entire department team (based on the assignments you made), the number of shots they need to complete, the number of frames and seconds, and the average quota. You will also see the **Remaining** line, which gives you the current status of your team.
-The last column is the **Estimation**. To modify the estimate, hover over the row with your mouse and click the editable area.
-
-You can also select multiple tasks simultaneously to edit them all at once.
+The last column is the **Estimation**. To modify the estimate, hover over the row with your mouse and click the editable area. You can also select multiple tasks simultaneously to edit them all at once.
-
+
-Every time you change the **Estimation** (in the number of days) on the right side, you will see that the **Average Quota** updates in real time.
+Every time you change the **Estimation** (in the number of days), you will see that the **Average Quota** updates in real time.
-For more information about the **Schedule** tab, refer to [Task Type Schedule](../schedules/README.md#Set-a-Task-Estimation).
+For more information about the **Schedule** tab, refer to [Task Type Schedule](../../../schedules/index.md#Set-a-Task-Estimation).
-## Quotas
-### Using Quotas to Understand Your Teams Speed
+### Bidding Estimates by Artist
-Kitsu has two ways to calculate quotas per **task type**.
+The **Estimation** page can also be viewed from a per-artist perspective.
-### Quotas Based on Timesheets
-The first method is linked to the timesheet:
-Shots are considered complete when the first feedback request is made. Quotas are then weighted according to the time spent on the task, as recorded in the timesheet by the artist.
+
-
+On the left, you have all the tasks sorted by artist, along with their number of frames and seconds. On the right, you have a summary of your team, with one line per artist showing the total number of assigned tasks, total number of frames and seconds, and the updated total number of estimated days.
-In this example, Kitsu weights the daily quota based on the timesheet entries.
+With this information, Kitsu can calculate different estimated **Quotas**: **per Second**, **per Frame**, and **per Task**.
-
+You can now fill the **Estimation** column on the left and see the result on the right. As soon as you fill in an **Estimation** for a task, the artist's row will update on the right.
-### Quotas Based on Status Changes
-If no timesheet is filled out, Kitsu uses status changes to estimate the duration:
-- The task is considered started when the first status change to WIP occurs.
-- The task is considered completed on the day the feedback request is made.
+
-Kitsu then distributes the completed frames across all business days between the start and end dates. It calculates the number of frames (or seconds, or tasks) completed per day/week/month per artist.
-
-
-
-You can click on a number at any time to see its details in the right panel.
+This allows you to ensure the distribution of tasks among your team members is equal and helps to understand their estimated quotas for production. You should consider artist's experience and the difficulty of each task when doing this.
## Changing Priorities
@@ -105,21 +94,21 @@ Priorities are often changing during a production, and you may want to easily hi
To do this, click on the space near a task's status (1).
-
+
The action box will appear.
-
+
Click on the icon in the action menu to choose **Change Priority**.
-
+
-There are four levels of priority: **Normal**, which is the default value for all tasks, **High**, **Very High**, and **Emergency**. Save the changes with the **Confirm** button.
+There are four levels of priority: **Normal**, which is the default value for all tasks, **High**, **Very High**, and **Emergency**. Save the changes with the **Confirm** button.
As with changing statuses or assignments, you can change the priority across multiple tasks at the same time by selecting the tasks, and choosing **Change priority of the selected tasks**.
-
+
You will now see exclamation marks next to the task status. The more exclamation marks there are, the more urgent the task is.
@@ -128,4 +117,6 @@ You will now see exclamation marks next to the task status. The more exclamation
* (3) is **Very High**
* (4) is **Emergency**
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/docs/guides/scheduling/find-assignments/index.md b/docs/guides/scheduling/find-assignments/index.md
new file mode 100644
index 0000000000..b8a330ed59
--- /dev/null
+++ b/docs/guides/scheduling/find-assignments/index.md
@@ -0,0 +1,84 @@
+# Managing Your Assignments
+
+## The "My Tasks" Page
+
+Your **My Tasks** page is your main hub for assignments and opens automatically upon login.
+
+Here you can see a list of tasks you are assigned along with some key information. Think of it as a to-do list.
+
+By default, the list is sorted by priority, so the tasks at the top are the ones recommended to address first.
+
+### Key Information Available:
+
+- **Production**: The project your task is associated with.
+- **Entity**: The specific asset or shot assigned to you.
+- **Estimates & Duration**: Time-related information for your tasks.
+- **Due Date**: The deadline for completing your task.
+- **Status** and **Priority**: Key details to understand task urgency.
+
+
+
+To view more details about a task, click on its **Status** to open the comment panel. Here, you can comment on the task and publish a new revision if needed.
+
+
+
+### Sorting and Filtering:
+
+- Under the **Show** dropdown, you can choose to display **All Tasks** or focus on those **Due This Week**.
+- Under the **Sorted By** dropdown, you can sort tasks by **Name**, **Priority**, **Status**, **Estimation**, or **Last Comment**.
+- Use these filters, along with additional criteria like **Production**, **Task Type**, and **Status**, to narrow down your list of tasks, or use the search box to find a specific task.
+
+
+
+### Accessing My Tasks
+
+You can access **My Tasks** via:
+- The shortcut at the top of the screen.
+- The **User** section of the main menu under **MY TASKS**.
+- Clicking the Kitsu logo. 
+
+## Board View
+
+You can also use the Board view to quickly update the status of multiple tasks by dragging and dropping into each status column.
+
+The **Board Tab** displays tasks organized in columns based on their status. Each task card includes:
+
+- A Thumbnail
+- Task type name
+- Entity name
+
+
+
+- Clicking a card opens a panel on the right to view or add comments.
+- To update a task's status, drag it to the desired column.
+
+## Calendar View
+
+The **Calendar View** displays tasks according to their **Start** and **Due Dates**. Tasks spanning multiple days are visually extended across the calendar.
+
+
+
+- Clicking a task opens the right-side panel for updates and comments.
+- Like other views, you can sort and filter tasks here.
+
+## The "Task Type" Page
+
+A supervisor will typically have tasks assigned to them in addition to supervising your department. You need to split your time between completing your work and managing your team.
+
+Once the assignments and estimates are done, you can focus on the day-to-day operations. To easily see an overview of tasks from your department, you can click on your task type name from any page.
+
+Once on the detail page, your first action is to click on the **Display tasks as a contact sheet**  button.
+
+
+
+Now, you can easily hone in on tasks that require your attention using the built-in filters. For example, say you want to see only the tasks that are not done yet. In this case, you can filter tasks with the **-done** status, along with adding a **Due Date Status** filter, to show tasks that are **Due This Week**.
+
+
+
+You can easily enable / disable filters to quickly hone in on the right information.
+
+::: tip
+If you need more information about a task, click on it's name to open the comment panel on the right.
+
+
+:::
\ No newline at end of file
diff --git a/docs/guides/scheduling/index.md b/docs/guides/scheduling/index.md
new file mode 100644
index 0000000000..c3f615b456
--- /dev/null
+++ b/docs/guides/scheduling/index.md
@@ -0,0 +1,6 @@
+# Scheduling
+
+1. [Assign Tasks](/guides/scheduling/assign-tasks/) - Learn how to assign tasks to people
+1. [Find Assignments](/guides/scheduling/find-assignments/) - Learn how to find tasks assigned to you
+1. [Schedules](/guides/scheduling/schedules/) - Discover the different scheduling views of Kitsu, from the studio level to the task level
+1. [Estimates](/guides/scheduling/estimates/) - Learn how to set and calculate the number of days estimated to do a task (bids)
\ No newline at end of file
diff --git a/docs/schedules/README.md b/docs/guides/scheduling/schedules/index.md
similarity index 60%
rename from docs/schedules/README.md
rename to docs/guides/scheduling/schedules/index.md
index c9329f3606..8c85a024f7 100644
--- a/docs/schedules/README.md
+++ b/docs/guides/scheduling/schedules/index.md
@@ -1,5 +1,25 @@
# Schedules
+## Studio Schedule
+
+As a production manager, you have access to the Studio Schedule, which consolidates all production schedules in one place, aiding in better preparation for your productions.
+
+To access the Studio Schedule, navigate to the main menu () and click on **Main Schedule** under the **Studio** section.
+
+
+
+Here, you'll find all your productions listed on each row, including their start and end dates. Additionally, you can view the number of days planned for each production within the specified timeframe. Furthermore, you can see the milestones you've defined for each production.
+
+
+
+When you click on a production name, you can expand the view to see full details of each task type. The color scheme corresponds to the columns on the global pages.
+
+
+
+It's important to note that you cannot modify your production schedules directly from this page. To make adjustments, you'll need to navigate back to the specific production schedule page you wish to modify.
+
+Access to this page is restricted to the **Studio Manager**.
+
## Production Schedule
As the Studio Manager, you can use the global schedule as a reference for your production. The main purpose of this schedule is to track the milestones linked to your contract. This is referred to as your **Reference Schedule**.
@@ -8,78 +28,111 @@ In order to start filling out your global schedule, you need to populate the pro
In the drop-down menu, choose **SCHEDULE**.
-
+
+
+### Gantt Schedule
-### The Production Schedule Gantt Chart
At the top of the schedule, you can see the project's start date (1) and the end date (2), which was defined when creating the production. You can modify these dates by clicking on the box to open the calendar and pick a date.
-
+
You can modify the start and end dates for each of your task types on the Gantt schedule in one of two ways: the first is by moving the bar directly, and the second is by entering the date on the settings page under the task type section.
-For the former, place your cursor on the start or end date; the cursor changes to a double arrow. Then, drag and slide to the desired date.
+For the former, place your cursor on the start or end date; the cursor changes to a double arrow. Then, drag and slide to the desired date. This click-and-drag method is used throughout Kitsu's Gantt charts, so you'll see it again when scheduling individual tasks.
-
+
-After setting the start and end dates for your task types, you should be able to see at a glance the flow of your production.
+After setting the start and end dates for your task types, you should be able to see at a glance the flow of your production.
::: tip
You can select all the Gantt chart bars and move them simultaneously with **CTRL / CMD** + **Left Click**.
:::
-
+
With that complete, the next step is to unfold each task type to reveal the associated shots sequences / assets types.
-
+
You can set the start and end dates the same way you would for the task type. You can also define the work period for all asset types.
-
+
You can do the same for the shot task types and determine the start and end dates for the sequences.
-
+
### Milestones
-A milestone is a significant point in a project that marks the completion of a major phase or task and serves as a checkpoint to assess progress. When hovering over a date in the schedule, you'll see  appears.
-
+A milestone is a significant point in a project that marks the completion of a major phase or task and serves as a checkpoint to assess progress. When hovering over a date in the schedule, you'll see  appears.
+
+
When you click, you'll be prompted to give a name to your newly created milestone.
-
+
Milestones are represented by a small black dot on the date and a vertical line on your schedule. If you hover over the little black dot, the milestone's name appears.
This is a great way to quickly reference important upcoming dates or deliverables in your production against your productions schedule.
-
+
-To edit a milestone, click on the  or anywhere on the milestone name. From there, you can rename or delete the milestone.
+To edit a milestone, click on the  or anywhere on the milestone name. From there, you can rename or delete the milestone.
-
+
Everyone assigned to the production can access the global schedule page, but only the **Studio Manager** can modify it.
To view specific tasks in more detail, click on the task type's name. This will lead you to the **Schedule** tab of the task type page.
+## Team Schedule
+
+As a studio manager, staying informed about team activities is crucial. For a comprehensive overview of each department's activities, the Team Schedule provides valuable insights.
+
+To access the Team Schedule, navigate to the main menu () and click on **Team Schedule** under the **Studio** section.
+
+
+
+In the Team Schedule, on each row you'll find a list of all personnel in the studio.
+
+At the top of the page, you can adjust the displayed timeframe by selecting the **Start Date** and **End Date**, as well as adjust the **Zoom Level** for a more detailed or broader view.
+Additionally, you have the option to hone in on a specific **Department** or individual **Person**.
+
+
+
+In cases where an artist has multiple simultaneous tasks, these tasks will be stacked atop one another for clarity.
+
+You can manipulate each task by selecting and moving it around as needed. These tasks are directly linked and reflected in the **task type schedule**, and can be edited in both areas.
+### Managing Your Department's Schedule
+
+As a Supervisor, you can access your team's schedule the same way, from the main menu under the **Studio > Team Schedule** section. From this page, you can see all the artists in your current department working on your project. You can expand a person's schedule to see the details of their tasks.
+
+From there, you can:
+- Move tasks to change their start and due dates.
+- Adjust the length of tasks.
+- Drag and drop tasks to reassign them to different team members.
+- See days off.
+
+
## Task Type Schedule
Whereas the **Global Schedule** is used to references task types across the entire production, the **Task Type** page is used to drill down into the details for tasks in a specific task type.
-
+
There are 3 tabs on this page: **Tasks**, **Schedule**, and **Estimation**.
-
+
There are two ways to set the artist's Schedule.
-The first method is via the **Tasks** tab, where you will set **Estimated Time** and the **Start Date**. As we saw previously, setting both of these will automatically fill out the **Due Date**. Once those details are filled out, the Gantt chart on the **Schedule** tab will be automatically generated.
+The first method is via the **Tasks** tab, where you will set **Estimated Time** and the **Start Date**.
+
+As we saw previously, setting both of these will automatically fill out the **Due Date**. Once those details are filled out, the Gantt chart on the **Schedule** tab will be automatically generated.
::: tip
Remember that on the Gantt you can click and drag to modify the start / end date, but the duration of the task will always be auto-calculated using the end date and duration
@@ -87,10 +140,9 @@ Remember that on the Gantt you can click and drag to modify the start / end date
The second method is to set the length directly (**Estimate**), **Start Date**, and **Due Date** from the Gantt chart.
-
+
-
-Put your cursor on the start date, and the cursor will change to a double arrow. Then, drag and slide to adjust the start date. Define your **Due date** by filling in the **MD**.
+As before, put your cursor on the start date until it changes to a double arrow, then drag and slide to adjust it. Define your **Due date** by filling in the **MD**.
You can use the search bar (1) to narrow down a specific set of tasks. For example, you can search by **status**, **asset type**, **sequence**, **asset name**, **shot name** and **artist name**. (Note that you do not need to add the name of the task type as you are already on a specific task type page)
@@ -98,79 +150,36 @@ You can also expand or collapse each Artist (2) section to make the schedule eas
You can change the bar's color in the Gantt chart (3). By default, the coloring is set to Status Color.
-
+
-**Status color** changes the bar's color based on its status. For example, blue is for **WIP**, red is for **RETAKE**,
-purple for **WAITING FOR APPROVAL**, and green for **DONE**.
+**Status color** changes the bar's color based on its status. For example, blue is for **WIP**, red is for **RETAKE**, purple for **WAITING FOR APPROVAL**, and green for **DONE**.
-
+
You can quickly assess the status of your elements and team. From this view, you may want to visually identify tasks that are behind schedule.
From the **Coloring** dropdown, select **late in red**. This view will highlight tasks where the due date has passed but that have not been approved yet. This indicates that they are behind schedule and will show on the Gantt chart as red.
-
+
Changes made on the Gantt chart are reflected in other pages in Kitsu.
The **Start date** and the **Due date** are displayed on the **Tasks** tab of the task type page.
-
+
Additionally, you can view the **Due date** and **Estimation** days on the **Todo Page** of an Artist.
-
-
-Access to this page is visible to everyone, but only the **Studio Manager** can modify it.
+
+As with the global schedule, access to this page is visible to everyone, but only the **Studio Manager** can modify it.
## Asset and Shot Schedule
On the detail page of an asset or a shot, you can access the **Schedule** tab.
-
+
If you have entered a start and due date on the **Task Type** schedule, the Gantt bar will be displayed.
-From this page, you can modify the length, start, and end dates of each task in the asset or shot.
-
-## Studio Schedule
-
-As a production manager, you have access to the Studio Schedule, which consolidates all production schedules in one place, aiding in better preparation for your productions.
-
-To access the Studio Schedule, navigate to the main menu () and click on **Main Schedule** under the **Studio** section.
-
-
-
-Here, you'll find all your productions listed on each row, including their start and end dates. Additionally, you can view the number of days planned for each production within the specified timeframe. Furthermore, you can see the milestones you've defined for each production.
-
-
-
-When you click on a production name, you can expand the view to see full details of each task type. The color scheme corresponds to the columns on the global pages.
-
-
-
-It's important to note that you cannot modify your production schedules directly from this page. To make adjustments, you'll need to navigate back to the specific production schedule page you wish to modify.
-
-Access to this page is restricted to the **Studio Manager**.
-
-
-## Team Schedule
-
-As a studio manager, staying informed about team activities is crucial. For a comprehensive overview of each department's activities, the Team Schedule provides valuable insights.
-
-To access the Team Schedule, navigate to the main menu () and click on **Team Schedule** under the **Studio** section.
-
-
-
-In the Team Schedule, on each row you'll find a list of all personnel in the studio.
-
-At the top of the page, you can adjust the displayed timeframe by selecting the **Start Date** and **End Date**, as well as adjust the **Zoom Level** for a more detailed or broader view.
-
-Additionally, you have the option to hone in on a specific **Department** or individual **Person**.
-
-
-
-In cases where an artist has multiple simultaneous tasks, these tasks will be stacked atop one another for clarity.
-
-You can manipulate each task by selecting and moving it around as needed. These tasks are directly linked and reflected in the **task type schedule**, and can be edited in both areas.
\ No newline at end of file
+From this page, you can modify the length, start, and end dates of each task in the asset or shot.
\ No newline at end of file
diff --git a/docs/guides/task-management/index.md b/docs/guides/task-management/index.md
new file mode 100644
index 0000000000..424162c201
--- /dev/null
+++ b/docs/guides/task-management/index.md
@@ -0,0 +1,51 @@
+# Task Management
+
+Kitsu's data model organizes work around a hierarchy of production entities (studio → production → episode/sequence/shot, or → asset) crossed with a task-tracking system (task type, task status, department).
+
+## Table of Content
+
+- [Manage Studio Labels](/guides/task-management/manage-studios/) -
+- [Manage Productions](/guides/task-management/manage-productions/) -
+- [Manage Episodes](/guides/task-management/manage-episodes/) -
+- [Manage Sequences](/guides/task-management/manage-sequences/) -
+- [Manage Shots](/guides/task-management/manage-shots/) -
+- [Manage Asset Types](/guides/task-management/managing-asset-types/) -
+- [Manage Task Types](/guides/task-management/managing-task-types/) -
+- [Manage Task Statuses](/guides/task-management/managing-task-statuses/) -
+- [Manage Edits](/guides/task-management/manage-edits/) -
+
+## Data Model
+
+```mermaid
+flowchart TD
+ STUDIO -->|defines| DEPARTMENT
+ STUDIO -->|runs| PRODUCTION
+
+ PRODUCTION -->|contains| EPISODE
+ PRODUCTION -->|contains, non-episodic| SEQUENCE
+ EPISODE -->|contains| SEQUENCE
+ SEQUENCE -->|contains| SHOT
+
+ PRODUCTION -->|contains| ASSET
+ ASSET_TYPE -->|categorizes| ASSET
+ ASSET -->|cast in| SHOT
+
+ SEQUENCE -->|tracked by| TASK
+ SHOT -->|tracked by| TASK
+ ASSET -->|tracked by| TASK
+ DEPARTMENT -->|groups| TASK_TYPE
+ TASK_TYPE -->|type of| TASK
+ TASK_STATUS -->|current state of| TASK
+```
+
+- **Studio** - The top-level organization. A studio runs one or more productions and defines its own departments.
+- **Department** - A functional group within a studio (e.g. Modeling, Animation, Lighting, Compositing). Departments group related task types.
+- **Production** - A project (film, series, game, etc.) managed by the studio. Productions contain episodes (if episodic), sequences, shots, and assets.
+- **Episode** - A subdivision of a production, used for series-style projects. Optional for feature-style productions.
+- **Sequence** - A subdivision of an episode (or directly of a production for non-episodic work), grouping related shots.
+- **Shot** - A unit of filmed/animated action within a sequence; the main container for shot-based tasks.
+- **Asset** - A reusable production element (character, prop, set, FX setup) that can be cast into one or more shots.
+- **Asset Type** - A category for assets (e.g. Character, Prop, Environment, FX).
+- **Task** - A unit of tracked work, always attached to either a shot or an asset, with an assigned task type and current status.
+- **Task Type** - Defines the kind of work a task represents (e.g. Layout, Animation, Lighting); belongs to a department.
+- **Task Status** - The current state of a task (e.g. Todo, Work in Progress, Done, Retake, Waiting For Approval).
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-edits/index.md b/docs/guides/task-management/manage-edits/index.md
new file mode 100644
index 0000000000..332300b306
--- /dev/null
+++ b/docs/guides/task-management/manage-edits/index.md
@@ -0,0 +1,51 @@
+# Managing Edits
+
+TODO
+
+- what's an edit?
+- what's an edit used for?
+
+## Create an Edit
+
+You can track tasks at the **Edit** Level in Kitsu.
+
+It's especially useful when you have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
+
+::: warning
+Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
+:::
+
+To use this page, you need to first create a dedicated task type on your **Global Library**
+ with the **Edit** attribute.
+
+See the [Creating a New Task Type](/guides/task-management/managing-task-types/#creating-a-new-task-type) section to create a new **Task Type**.
+
+Once you have created your **Task Types** on your **Global Library**, add them to your **Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
+
+
+
+This new page behaves like the asset and shot global page. You can add your edits with the `+ New edit` button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+Depending on your deliveries, you can also change the resolution per **Edit**.
+:::
+
+::: warning
+The detail page is different from the other entities.
+
+As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
+:::
+
+You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
+
+## Update Edits
+
+TODO
+
+## Delete Edits
+
+TODO
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-episodes/images/0.png b/docs/guides/task-management/manage-episodes/images/0.png
new file mode 100644
index 0000000000..96912edfbd
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/0.png differ
diff --git a/docs/guides/task-management/manage-episodes/images/1.png b/docs/guides/task-management/manage-episodes/images/1.png
new file mode 100644
index 0000000000..c7c00a0902
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/1.png differ
diff --git a/docs/guides/task-management/manage-episodes/images/2.png b/docs/guides/task-management/manage-episodes/images/2.png
new file mode 100644
index 0000000000..cd814e5374
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/2.png differ
diff --git a/docs/guides/task-management/manage-episodes/images/3.png b/docs/guides/task-management/manage-episodes/images/3.png
new file mode 100644
index 0000000000..f441ec8942
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/3.png differ
diff --git a/docs/guides/task-management/manage-episodes/images/4.png b/docs/guides/task-management/manage-episodes/images/4.png
new file mode 100644
index 0000000000..8da8c14d87
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/4.png differ
diff --git a/docs/guides/task-management/manage-episodes/images/5.png b/docs/guides/task-management/manage-episodes/images/5.png
new file mode 100644
index 0000000000..18d26d021e
Binary files /dev/null and b/docs/guides/task-management/manage-episodes/images/5.png differ
diff --git a/docs/guides/task-management/manage-episodes/index.md b/docs/guides/task-management/manage-episodes/index.md
new file mode 100644
index 0000000000..323648feab
--- /dev/null
+++ b/docs/guides/task-management/manage-episodes/index.md
@@ -0,0 +1,46 @@
+# Managing Episodes
+
+```mermaid
+flowchart TD
+ PRODUCTION -->|contains| EPISODE
+ EPISODE -->|contains| SEQUENCE
+```
+
+TV Show productions have access to Episode containers to organize sequences and shots.
+
+## Episodes Overview
+
+In your production menu, click `Episodes`:
+
+
+
+You'll then reach the Episodes page with a full list of episodes for the current production:
+
+
+
+## Create Episodes
+
+In the `Episodes` page, click `New episode` in the top right corner:
+
+
+
+A modal appears. Fill the form and click `Confirm`:
+
+
+
+- **Name**: the episode name
+- **Status**: the production status of the episode (canceled, complete, running, standby)
+- **Description**: a short description of what the episode is about
+- **Resolution**: the episode resolution e.g "1920x1080", "4K", etc.
+
+## Update Episodes
+
+Hover over the episode row you wish to edit in the list and click the `Edit` icon:
+
+
+
+## Delete Episodes
+
+Hover over the episode row you wish to remove in the list and click the `Delete` icon:
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-productions/images/0.png b/docs/guides/task-management/manage-productions/images/0.png
new file mode 100644
index 0000000000..cd94c481fb
Binary files /dev/null and b/docs/guides/task-management/manage-productions/images/0.png differ
diff --git a/docs/guides/task-management/manage-productions/images/1.png b/docs/guides/task-management/manage-productions/images/1.png
new file mode 100644
index 0000000000..991a94add6
Binary files /dev/null and b/docs/guides/task-management/manage-productions/images/1.png differ
diff --git a/docs/guides/task-management/manage-productions/images/2.png b/docs/guides/task-management/manage-productions/images/2.png
new file mode 100644
index 0000000000..637fb97b59
Binary files /dev/null and b/docs/guides/task-management/manage-productions/images/2.png differ
diff --git a/docs/guides/task-management/manage-productions/images/4.png b/docs/guides/task-management/manage-productions/images/4.png
new file mode 100644
index 0000000000..ef03a89475
Binary files /dev/null and b/docs/guides/task-management/manage-productions/images/4.png differ
diff --git a/docs/guides/task-management/manage-productions/images/prodtemplate.png b/docs/guides/task-management/manage-productions/images/prodtemplate.png
new file mode 100644
index 0000000000..9810a6b85a
Binary files /dev/null and b/docs/guides/task-management/manage-productions/images/prodtemplate.png differ
diff --git a/docs/guides/task-management/manage-productions/index.md b/docs/guides/task-management/manage-productions/index.md
new file mode 100644
index 0000000000..3200540510
--- /dev/null
+++ b/docs/guides/task-management/manage-productions/index.md
@@ -0,0 +1,157 @@
+# Managing Productions
+
+```mermaid
+flowchart TD
+ STUDIO -->|runs| PRODUCTION
+
+ PRODUCTION -->|contains| EPISODE
+ PRODUCTION -->|contains, non-episodic| SEQUENCE
+
+ PRODUCTION -->|contains| ASSET
+```
+
+## Create a New Production
+
+Click on the `Create a new production` button:
+
+
+
+A dialog appears:
+
+
+
+Enter your production name, choose a **Production Type**, and select your production style (2D, 3D).
+
+Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
+
+All these data will be used when Kitsu re-encodes the video previews uploaded.
+
+Then, you need to define your production's start and end dates.
+
+You can define your production workflow in the next part, 3 to 6.
+
+You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
+
+
+
+
+::: tip
+To create your **Production Workflow**, you will select Task Types from the Global Library.
+
+If you realize you missed some Task Types, you can create them later.
+
+See the [Studio Workflow](../../../configure-kitsu/index.html#studio-workflows) section.
+:::
+
+Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/shot.
+
+See the **Import from CSV** sections of each entity page for more details:
+
+- [Import Asset from CSV](/guides/pre-production/manage-assets/)
+- [Import Shot from CSV](/guides/task-management/manage-shots/)
+
+Validate everything with the `All done` button.
+
+
+
+### Using Production Templates
+
+Getting a new production set up often means repeating the same configuration steps over and over like choosing task types for shots and assets, defining task statuses, and adjusting project-wide settings to match your team's workflow.
+
+With Project Templates, you can start from a predefined setup in one click:
+
+
+
+When creating a new production, simply pick a template and Kitsu will automatically apply your preferred settings.
+
+In the example above, the template comes bundled with pre-configured asset types, task types, task statuses, etc. we don't need to pick manually from the Global Library:
+
+
+
+Check out the section [Create Your Own Production Template](#create-your-own-production-template) below to add your own.
+
+## Configure Production-Specific Settings
+
+From the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+The first tab, **Parameters** allows you to change the **Technical information** of the production.
+
+::: warning
+If you change the **FPS** or **Resolution** after uploading previews, the changes won't be applied; you must reupload the first previews.
+:::
+
+
+
+Here, you can enable specific options for the production like:
+
+- Isolate Client Comments (Not Visible To Each Other)
+- Allow Artists To Download Previews
+- Set New Preview As Entity Thumbnail Automatically
+
+You can also specify the **Maximum Number of Retakes** for this production.
+
+::: tip
+You can also change the avatar of the production on the **Parameters** tab.
+:::
+
+### Artist Board Status Configuration
+
+In the **Task Status** tab, you can reorder the statuses for the **Board** view.
+
+
+
+
+
+Once it's done, go to the **Board Status** tab.
+
+
+
+Here, you can choose who can see which status on the **Board view**
+
+If you don't select the status properly, it can be overwhelming for the artists if they have too much choice.
+
+
+
+Selecting the **Status** properly will make it easier for the artists.
+
+
+
+
+
+
+## Close a Production (Archive)
+
+It's good practice to archive a production once it's over, in case you need to reuse assets or other production elements in the next one.
+
+First, click on the Edit button for the target production in the `Main Menu > Studio > Productions` page:
+
+
+
+In the dialog, select `Closed` for the production status and click `Confirm`:
+
+
+
+Your production is now listed as `Closed`.
+
+## Delete a Production
+
+Deleting a production requires you close it first.
+
+Once this is done, simply click the `Delete` button in the corresponding closed production list item and your production will be removed from your instance:
+
+
+
+## Create Your Own Production Template
+
+Go to `Main Menu > Admin > Templates` to manage your production templates.
+
+To create a new one, click the `Add a production template` button and fill in the form:
+
+- Name: your template name
+- Type: `Short`, `TV Show`, `Feature Film`, `Only Assets`, or `Only Shots`
+- Style: `2D Animation`, `2D Animation (Paper)`, `3D Animation`, `2D/3D Animation`, `VFX`, `Commercial`, `Virtual Reality`, `Motion Design`, `Archviz`, `Stop Motion`, `Catalog`, `NFT collection`, `Video Game`, `Immersive Experience`, or `Augmented Reality`
+- Description: a short description of your template
+
+Click `Confirm` to save your template for future usage.
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-sequences/images/0.png b/docs/guides/task-management/manage-sequences/images/0.png
new file mode 100644
index 0000000000..50657a9961
Binary files /dev/null and b/docs/guides/task-management/manage-sequences/images/0.png differ
diff --git a/docs/guides/task-management/manage-sequences/images/1.png b/docs/guides/task-management/manage-sequences/images/1.png
new file mode 100644
index 0000000000..e53201f5a1
Binary files /dev/null and b/docs/guides/task-management/manage-sequences/images/1.png differ
diff --git a/docs/guides/task-management/manage-sequences/index.md b/docs/guides/task-management/manage-sequences/index.md
new file mode 100644
index 0000000000..fe6149cb5e
--- /dev/null
+++ b/docs/guides/task-management/manage-sequences/index.md
@@ -0,0 +1,67 @@
+# Managing Sequences
+
+```mermaid
+flowchart TD
+ PRODUCTION -->|contains| EPISODE
+ PRODUCTION -->|contains, non-episodic| SEQUENCE
+ EPISODE -->|contains| SEQUENCE
+ SEQUENCE -->|contains| SHOT
+
+ SEQUENCE -->|tracked by| TASK
+```
+
+In Kitsu, you can also track tasks at the **Sequence** Level.
+
+It's especially useful when you have macro tasks to track, like Story and color Board, Color Grading, etc.
+
+Use the navigation menu to go to the **Sequences** page:
+
+
+
+::: warning
+This new page behaves like the asset and shot global page.
+
+To use this page, You first need to create dedicated task types on your **Global Library**
+ with the **Sequence** attribute.
+
+See the [Creating a New Task Type](/guides/task-management/managing-task-types/#creating-a-new-task-type) section to create a new Task Type.
+
+Once you have created your **Task Types** on your **Global Library**, add them to your
+**Production Library** (setting page).
+:::
+
+## Create a Sequence
+
+Once you have your task types ready in the settings page, you can create a sequence.
+
+This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
+
+You can assign tasks, do the review, change status, etc.
+
+You can add a metadata column, fill in the description, etc.
+
+::: tip
+You can create a sequence directly from here (+New sequence button) or create a sequence linked to your shots from the global shot page.
+:::
+
+You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
+
+If you click on the name of a sequence, you will see the detail page of this sequence.
+
+
+
+On the detailed page, you have access to the sequence casting to see all the assets used in the whole sequence.
+
+You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
+
+## Update a Sequence
+
+Hover over the sequence row you wish to edit in the list and click the `Edit` icon:
+
+
+
+## Delete a Sequence
+
+Hover over the sequence row you wish to remove in the list and click the `Delete` icon:
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-shots/images/0.png b/docs/guides/task-management/manage-shots/images/0.png
new file mode 100644
index 0000000000..3923bf607e
Binary files /dev/null and b/docs/guides/task-management/manage-shots/images/0.png differ
diff --git a/docs/guides/task-management/manage-shots/index.md b/docs/guides/task-management/manage-shots/index.md
new file mode 100644
index 0000000000..9fca612191
--- /dev/null
+++ b/docs/guides/task-management/manage-shots/index.md
@@ -0,0 +1,255 @@
+# Managing Shots
+
+```mermaid
+flowchart TD
+ SEQUENCE -->|contains| SHOT
+
+ ASSET -->|cast in| SHOT
+
+ SHOT -->|tracked by| TASK
+```
+
+::: warning
+Shots are linked to Sequences in Kitsu.
+You must create a sequence first to populate it with shots.
+:::
+
+## Create a Shot
+
+It's time to create **shots** for your production.
+
+You need to go to the **Shots** page: you can use the
+dropdown menu and click on the **SHOTS**.
+
+
+
+Click on the **Add shots** button to start with the shot creation.
+
+
+
+::: warning
+When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
+:::
+
+A new pop-up opens for the creation of the shots. You can now add sequences and corresponding shots:
+
+
+
+Enter the first sequence, for instance, SQ01, then click `add`.
+
+To add shots to this sequence, select it and type a name in the input field of the shots column (e.g SH0020), then again click `add`.
+
+::: tip
+You can also define padding for your shots instead of doing it manually.
+
+If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** to 10.
+:::
+
+You can now see that new shots are listed and linked by their sequence: you just created the first shot of the first sequence!
+
+Now, let's add more shots.
+
+The input field already pre-writes an incremented name code based on your padding, so you just have to keep clicking on `add` to create more shots:
+
+
+
+To add more sequences, go to the left part, type the name of your new sequence, and then click on `add`.
+
+Your second sequence is selected, and you can now add shots.
+
+> [!TIP]
+> If a shot is misplaced on a sequence, you have to edit the shot in its dedicated Shot page to change the sequence. Look at the section `Update your shots` for more information.
+
+## Import Shots
+
+### From an EDL File
+
+You may already have your shots list ready in an **EDL** file.
+With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, Frame in and out, and more.
+
+On the **Global Shot Page**, you will see an **Import EDL** button.
+
+
+
+You can select the naming convention of the video file used during the editing on the pop-up.
+
+
+
+It means the video clip on the editing is named as project_sequence_shot.extension.
+
+Here is an example of an EDL for the LGC production.
+
+
+
+The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
+
+You can import the EDL file once you have the naming convention.
+
+Then click on **Upload EDL**
+
+Then Kitsu will create the shots.
+
+
+
+### From a Spreadsheet File
+
+You may already have your shots list ready in a spreadsheet file.
+With Kitsu, you have two ways to import them: importing a `.csv` file directly, or copy-pasting your data directly into Kitsu.
+
+#### Option 1: Import a CSV file
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, return to the shot page on Kitsu and click the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
+
+
+
+#### Option 2: Copy / paste from a spreadsheet
+
+Open your spreadsheet, select your data, and copy them.
+
+
+
+Then, go back to the shot page on Kitsu and click on the **Import** icon.
+
+
+A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
+
+
+
+You can paste your previously selected data.
+
+
+
+#### Previewing and confirming your import
+
+Whichever method you used, click on the **Preview** button to see the result.
+
+You can check and adjust the name of the columns by previewing your data.
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+Once everything is good, click the **Confirm** button to import your data into Kitsu.
+
+All your shots are imported into Kitsu, and the task is created according to your **Settings**.
+
+
+
+## See the Details of a Shot
+
+If you want to see the details of a shot, click on its name.
+
+
+
+A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
+You can navigate through each by clicking on the name of the tabs.
+
+
+
+You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
+
+
+
+You can also access the **Casting**,
+
+
+
+The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
+
+
+
+the **Preview Files** uploaded at various task types,
+
+
+
+And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
+
+
+
+## Add More Tasks After Creating Shots
+
+If you realize after creating the shots that a task is missing, you can still add it afterwards.
+
+First, [make sure the missing task type is added](/guides/task-management/managing-task-types/) to the `Settings` page under the `Task Type` tab.
+
+Then go back to the `Shots` page and click on `+ Add tasks`.
+
+## Update Shots
+
+You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
+
+You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **Edit** button:
+
+
+
+To extend the description on the main shot page, click on the shot name, and a pop-up with the full description will open.
+
+### From CSV
+
+You can use the **CSV Import** to update your data in bulk.
+
+Open your spreadsheet, copy your data, and paste it like in the `Import Shots From CSV` section.
+
+The only difference is you need to switch on the **Option: Update existing data**.
+
+The updated shots will apear in blue:
+
+NB: the **Episode** column is only mandatory for a **TV Show** production.
+
+
+
+## Add the number of Frames and Frame ranges to the shots
+
+Once your animatic is done, you have the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
+add this information to the spreadsheet to make sure that all the frames are accounted for in your pipeline.
+
+::: warning
+If you have created your shots and sequence by hand, the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
+
+The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
+:::
+
+You need to edit the shots to fill in the frame range information. Click on the `Edit` icon on the right side of the shot line:
+
+
+
+You can enter the shots **Frame In** and **Frame Out** in the new window. Then, save by clicking the **Confirm** button.
+
+
+
+Now, the frame range appears on the general spreadsheet of the shot page
+
+
+
+::: tip
+If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
+:::
+
+Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can edit the cells directly from the global shot page. Simply, click on the cell you want to edit:
+
+
+
+Again, you can use the **CSV Import** to update your frame ranges faster.
+
+## Access a Shot's Change History
+
+You can also access the change history of your shots.
+
+Just click the `History` icon:
+
+
+
+And a dialog will appear with a table listing all your changes:
+
+
+
+## Remove Shots
+
+Hover over the shot row you wish to remove in the list and click the `Delete` icon:
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/manage-studios/images/0.png b/docs/guides/task-management/manage-studios/images/0.png
new file mode 100644
index 0000000000..3eac1e2417
Binary files /dev/null and b/docs/guides/task-management/manage-studios/images/0.png differ
diff --git a/docs/guides/task-management/manage-studios/images/1.png b/docs/guides/task-management/manage-studios/images/1.png
new file mode 100644
index 0000000000..3eac1e2417
Binary files /dev/null and b/docs/guides/task-management/manage-studios/images/1.png differ
diff --git a/docs/guides/task-management/manage-studios/images/2.png b/docs/guides/task-management/manage-studios/images/2.png
new file mode 100644
index 0000000000..e3bedebd46
Binary files /dev/null and b/docs/guides/task-management/manage-studios/images/2.png differ
diff --git a/docs/guides/task-management/manage-studios/images/3.png b/docs/guides/task-management/manage-studios/images/3.png
new file mode 100644
index 0000000000..15fd4d674e
Binary files /dev/null and b/docs/guides/task-management/manage-studios/images/3.png differ
diff --git a/docs/guides/task-management/manage-studios/images/4.png b/docs/guides/task-management/manage-studios/images/4.png
new file mode 100644
index 0000000000..15fd4d674e
Binary files /dev/null and b/docs/guides/task-management/manage-studios/images/4.png differ
diff --git a/docs/guides/task-management/manage-studios/index.md b/docs/guides/task-management/manage-studios/index.md
new file mode 100644
index 0000000000..b76cc7142a
--- /dev/null
+++ b/docs/guides/task-management/manage-studios/index.md
@@ -0,0 +1,39 @@
+# Managing Studios
+
+```mermaid
+flowchart TD
+ STUDIO -->|defines| DEPARTMENT
+ STUDIO -->|runs| PRODUCTION
+```
+
+Go to `Main Menu > Admin > Studios` to reach the `Studios` page.
+
+
+
+A studio is a label used to organize teams and tasks in multi-studio or multi-site productions.
+
+You can use it to filter tasks, schedules, and teams per studio.
+
+## Create a Studio
+
+To create a new studio, click the `Add a studio` button:
+
+
+
+It'll open a dialog to add a name for the studio and pick a color:
+
+
+
+Just click `Confirm` to save.
+
+## Update a Studio
+
+Hover over the studio row you wish to edit in the list and click the `Edit` icon:
+
+
+
+## Remove a Studio
+
+Hover over the studio row you wish to remove in the list and click the `Delete` icon:
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/managing-asset-types/images/0.png b/docs/guides/task-management/managing-asset-types/images/0.png
new file mode 100644
index 0000000000..b938e13a18
Binary files /dev/null and b/docs/guides/task-management/managing-asset-types/images/0.png differ
diff --git a/docs/guides/task-management/managing-asset-types/images/1.png b/docs/guides/task-management/managing-asset-types/images/1.png
new file mode 100644
index 0000000000..d365677286
Binary files /dev/null and b/docs/guides/task-management/managing-asset-types/images/1.png differ
diff --git a/docs/guides/task-management/managing-asset-types/images/2.png b/docs/guides/task-management/managing-asset-types/images/2.png
new file mode 100644
index 0000000000..d365677286
Binary files /dev/null and b/docs/guides/task-management/managing-asset-types/images/2.png differ
diff --git a/docs/guides/task-management/managing-asset-types/images/3.png b/docs/guides/task-management/managing-asset-types/images/3.png
new file mode 100644
index 0000000000..6f1c6ba030
Binary files /dev/null and b/docs/guides/task-management/managing-asset-types/images/3.png differ
diff --git a/docs/guides/task-management/managing-asset-types/index.md b/docs/guides/task-management/managing-asset-types/index.md
new file mode 100644
index 0000000000..5771471553
--- /dev/null
+++ b/docs/guides/task-management/managing-asset-types/index.md
@@ -0,0 +1,89 @@
+# Managing Asset Types
+
+```mermaid
+flowchart TD
+ ASSET_TYPE -->|categorizes| ASSET
+```
+
+## Define Your Asset Workflow
+
+After creating your global Workflow, you can define your **Asset Types**.
+
+
+
+Much like how shots can be organized by a sequence, an asset can be organised by it's **Asset Type**. Think of it as using folders to organize all your assets by category.
+
+
+On the main menu  select the
+**Asset Type** page under the **Admin** section.
+
+
+
+::: tip
+By default, Kitsu provides some example asset types that can be used for a CGI production.
+:::
+
+
+
+To create new **Asset Type**, click on the  button.
+
+Next, you will need to supply some information about your **Asset Type**, including:
+
+- The name of the asset type
+- A workflow for the specific asset type
+
+Different Asset Types will have distinct workflows. For instance, you might have fewer tasks for an Environment compared to a Character, as Environment assets typically don't require Rigging tasks.
+
+
+
+
+When you **create** or **edit** an **Asset Type**, you can add a specific **task type**; if you don't select a specific workflow for this asset type, your production asset workflow will be applied.
+
+However, if you choose specific Task types for this Asset type, only these will be applied to production.
+
+Click on **Confirm** to save your changes.
+
+Your new **Asset Type** is now created in your **Global Library**. It will be available to use when you create your production.
+
+::: tip
+At any point during production, you can revisit this section to create additional **Asset Types** as necessary and add them into your workflow.
+:::
+
+
+
+## Enabling Specific Asset Types for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load the **Asset Types** you have defined when creating the production.
+
+However, you can add or remove specific Asset Types if they are created on the Global Library first.
+
+
+
+On the **Asset Types** tab, you can choose which **Asset Types** you want to add or remove on this production,
+validate your choice with the **add** button.
+
+
+
+## Update an Asset Type
+
+Go to `Main Menu > Asset Types`:
+
+
+
+Hover over the asset type row you wish to select then click the `Edit` icon:
+
+
+
+## Remove an Asset Type
+
+To remove an asset type from your studio's Global Library, go to `Main Menu > Asset Types` and hover over the asset type row you wish to select then click the `Delete` icon:
+
+
+
+To remove an asset type from your production library, go to `Production Menu > Settings > Asset Types` and click the `Remove` button to remove the asset type from the list:
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/managing-task-statuses/images/0.png b/docs/guides/task-management/managing-task-statuses/images/0.png
new file mode 100644
index 0000000000..280021e13b
Binary files /dev/null and b/docs/guides/task-management/managing-task-statuses/images/0.png differ
diff --git a/docs/guides/task-management/managing-task-statuses/images/1.png b/docs/guides/task-management/managing-task-statuses/images/1.png
new file mode 100644
index 0000000000..1443ce6fd0
Binary files /dev/null and b/docs/guides/task-management/managing-task-statuses/images/1.png differ
diff --git a/docs/guides/task-management/managing-task-statuses/images/2.png b/docs/guides/task-management/managing-task-statuses/images/2.png
new file mode 100644
index 0000000000..1443ce6fd0
Binary files /dev/null and b/docs/guides/task-management/managing-task-statuses/images/2.png differ
diff --git a/docs/guides/task-management/managing-task-statuses/images/3.png b/docs/guides/task-management/managing-task-statuses/images/3.png
new file mode 100644
index 0000000000..3f050896a5
Binary files /dev/null and b/docs/guides/task-management/managing-task-statuses/images/3.png differ
diff --git a/docs/guides/task-management/managing-task-statuses/index.md b/docs/guides/task-management/managing-task-statuses/index.md
new file mode 100644
index 0000000000..ae7d43872a
--- /dev/null
+++ b/docs/guides/task-management/managing-task-statuses/index.md
@@ -0,0 +1,183 @@
+# Managing Task Statuses
+
+```mermaid
+flowchart TD
+ SEQUENCE -->|tracked by| TASK
+ SHOT -->|tracked by| TASK
+ ASSET -->|tracked by| TASK
+ DEPARTMENT -->|groups| TASK_TYPE
+ TASK_TYPE -->|type of| TASK
+ TASK_STATUS -->|current state of| TASK
+```
+
+A status represents a specific stage or condition that a task must pass through as part of the review and approval process.
+
+In the main menu, select the **Task Status** page under the **Admin** section:
+
+
+
+::: tip
+By default, Kitsu already provides some examples Statuses.
+:::
+
+You'll reach the `Task Status` page:
+
+
+
+## Create a Task Status
+
+
+
+Let's create the statuses we intend to use during our **Approval Workflow**.
+
+For example:
+
+| Status | Icon | Description |
+|---|---|---|
+| **Ready** |  | Indicates that the artists have everything they need to start working and should not begin their tasks without reaching this status. |
+| **WIP** |  | Used by artists to inform their team that they are actively working on the task, indicating that there is no need to assign it to someone else. |
+| **WFA** |  | Used by artists to notify their supervisors that they have completed their work and are awaiting review. Supervisors can also use a similar status to inform directors that work is ready for review. |
+| **Done** |  | Indicates that all work has been completed & approved. This indicates that the current task is complete and the next step in the process can commence. |
+| **Retake** |  | Indicates that a comment has been made, prompting the artists to continue working on their task and publish a new version until validation is achieved. |
+
+These statuses are **just examples** of what is achievable in Kitsu! You are free to create your own as needed.
+
+To do this, from the main page, click on the `Add a task status` button:
+
+
+
+You'll then need to define some details about you **Task Status**, including:
+
+
+
+- **NAME**, the explicit name of the status that will be displayed when you hover your mouse over it in the.
+- **SHORT NAME**, what will be displayed in Kitsu.
+- **IS DEFAULT**, the first status that Kitsu will display by default on all tasks. You can only have **ONE** default status in Kitsu.
+- **IS DONE**, if this status is utilized to validate a task (which is beneficial for quota management, organizing the to-do list, and updating episode statistics).
+- **HAS RETAKE VALUE**, if this status is used for commenting on a task (helpful for tracking the back-and-forth discussions on the task type page and for the episode stats page).
+- **IS ARTIST ALLOWED**, are artists allowed to set tasks to this status? If **No**, the artist won't see this status in their list of available statuses. However, they can still post comments on it.
+- **IS CLIENT ALLOWED**, Can the client use this Status? If **No**, the client won't see this status in their list of available statuses.
+- **IS FEEDBACK REQUEST**, if this status is used to request a review (helpful for quota tracking if you don't use a timesheet, it will appear in the Pending tab of the to-do list, and all these statuses will be grouped on the **My Check** page. Kitsu will prompt you to **publish a preview** each time you use this status).
+- Finally, choose a background **color** you prefer for this status.
+
+Click on **Confirm** to save your changes.
+
+Your **Status** is now created in your **Global Library** and will be available to use in your production.
+
+::: tip
+At any point during the production, you can return here and create more **Task Status** if needed,
+and then add them to your production.
+:::
+
+::: warning
+You'll notice a few tasks statuses listed under the category of *Concept Status*. These are used by the system and while you can modify them here, you cannot create new ones.
+:::
+
+
+
+## Adding Task Statuses to a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load the **Task Status** you have defined when creating the production.
+
+However, you can add or remove specific statuses during production if they are created on the Global Library first.
+
+
+
+On the **Task Status** tab, you can choose which **status** you want to add or remove on this production,
+validate your choice with the **add** button.
+
+
+
+## Update a Task Status
+
+Go to `Main Menu > Task Status`:
+
+
+
+Select the Entities or Concepts tab and hover over the task status row you wish to change then click the `Edit` icon:
+
+
+
+## Remove a Task Status
+
+To remove a task status from your studio's Global Library, go to `Main Menu > Task Status` and hover over the task status row you wish to select then click the `Delete` icon:
+
+
+
+To remove an task status from your production library, go to `Production Menu > Settings > Task Status` and click the `Remove` button to remove the task status from the list:
+
+
+
+## Status Automation
+
+### Create a New Status Automation
+
+
+
+A **Status Automation** defines rules or conditions that automatically trigger changes in the status of tasks based on predefined criteria. You can set up **Status Automation** for both asset and shot tasks.
+
+For assets, you can establish **Status Automations** between tasks. For example, when the concept task status is set to `done`, the downstream modelling task status is automatically changed to `ready`.
+
+Additionally, you can create **Status Automations** that update the **Asset Status** based on task statuses. For example, when the concept task is set to `done` , then the linked asset status is set to ``layout``.
+
+::: tip
+You can also ask Kitsu to **copy the latest preview** with the Automation.
+:::
+
+Go to the main menu and select **Automations**:
+
+
+
+From this page, you can create **Status Automations** by clicking the `+ Add status automation` button:
+
+
+
+You have the option to create **Status Automation** for either the **asset** or the **shot**.
+
+Next, you can select the **task type** and the **status** that will trigger the Automation.
+
+You can specify which **Task Type** will respond to the Automation and select the **Status** that will be changed.
+
+
+
+You need to change the trigger from "Status" to **Ready For** in order to initiate the change in **Ready For** status.
+
+You will notice the **Applied Task Type** will now display **Shot task type**.
+
+
+
+To create a **Status Automation** for shots, you must change the **Entity Type** to shots.
+
+Your new **Status Automation** is now created in your **Global Library**.
+
+::: warning
+You must add status automations to your **Production Library** once you have created your production.
+:::
+
+::: tip
+At any point during the production, you can return here and create more **Status Automations** if needed, and then add them to your production.
+:::
+
+
+
+### Add a Status Automation to a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+Per default, Kitsu will load no **status automation** of your
+status automation **Global Library** into your **Production Library**.
+
+
+
+But you can use only specific **Status Automation**, depending on your production type.
+
+On the **Status Automation** tab, you can choose which automation you want to use on this production,
+validate your choice with the **add** button.
+
+
\ No newline at end of file
diff --git a/docs/guides/task-management/managing-task-types/images/0.png b/docs/guides/task-management/managing-task-types/images/0.png
new file mode 100644
index 0000000000..7c4efbf52c
Binary files /dev/null and b/docs/guides/task-management/managing-task-types/images/0.png differ
diff --git a/docs/guides/task-management/managing-task-types/images/1.png b/docs/guides/task-management/managing-task-types/images/1.png
new file mode 100644
index 0000000000..0d3fd07d96
Binary files /dev/null and b/docs/guides/task-management/managing-task-types/images/1.png differ
diff --git a/docs/guides/task-management/managing-task-types/images/2.png b/docs/guides/task-management/managing-task-types/images/2.png
new file mode 100644
index 0000000000..0d3fd07d96
Binary files /dev/null and b/docs/guides/task-management/managing-task-types/images/2.png differ
diff --git a/docs/guides/task-management/managing-task-types/images/3.png b/docs/guides/task-management/managing-task-types/images/3.png
new file mode 100644
index 0000000000..e2fd8b796d
Binary files /dev/null and b/docs/guides/task-management/managing-task-types/images/3.png differ
diff --git a/docs/guides/task-management/managing-task-types/index.md b/docs/guides/task-management/managing-task-types/index.md
new file mode 100644
index 0000000000..f6636c72f8
--- /dev/null
+++ b/docs/guides/task-management/managing-task-types/index.md
@@ -0,0 +1,128 @@
+# Managing Task Types
+
+```mermaid
+flowchart TD
+ SEQUENCE -->|tracked by| TASK
+ SHOT -->|tracked by| TASK
+ ASSET -->|tracked by| TASK
+ DEPARTMENT -->|groups| TASK_TYPE
+ TASK_TYPE -->|type of| TASK
+ TASK_STATUS -->|current state of| TASK
+```
+
+Task types can be associated with multiple entities such as assets, shots, sequences, episodes, or edits.
+
+## Creating a New Task Type
+
+
+
+First, let's create all the **Task Types** needed to manage and track our production.
+
+From the main menu, select the **Task Types** page under the **Admin** section:
+
+
+
+::: tip
+By default, Kitsu provides some example task types that can be used for a CGI production. You can rename or remove any that are not relevant to your production.
+:::
+
+You will notice that these **Task Types** are already linked to a department.
+
+
+
+You can click on the `Add Task Type` button to create new **Task Type**:
+
+
+
+Next, you will need to supply some information about your task type, including:
+
+- The name of the task type
+- If team members need to time log their work for tasks with this task type
+- For which entity it will be used
+- To which department it should be linked
+- The color (this will be reflect in the background color on the main spreadsheet page)
+
+
+
+You'll notice that the **Departments** we created previously are available as an option to link task types to. Connecting a department to a specific task type can help your team stay organized.
+
+
+
+Click on **Confirm** to save your changes.
+
+::: warning
+Newly created task types will appear at the bottom of the list
+:::
+
+To adjust the order, simply click on the **Task Type** and drag it to its appropriate position in the list.
+
+
+
+Congratulations, your task type has now be created in your **Global Library**.
+
+::: warning
+Once you have created your production, you need to add the **Sequence**, **Episode**, and **Edit** task types to your **Production Library**.
+:::
+
+::: tip
+At any point during production, you can revisit this section to create additional **Task Types** as necessary and add them into your workflow.
+:::
+
+
+
+## Adding Task Types in a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+By default, Kitsu will add the **Task Types** you have chosen when creating the production.
+
+
+
+However, you can add or remove specific **Task Types** if they are created on the Global Library first.
+
+For example, you can import the task workflow from another production in your library.
+
+
+
+On the **Task Types** tab, you can choose which production or task type you want to import or remove on this production,
+validate your choice with the **Import** button.
+
+::: warning
+If you had a new task type **AFTER** creating an asset or shot, here is the **DELIVERY** task type.
+
+
+
+You need to **add this task type** on the global page.
+
+
+
+A pop-in will appear, and you must select the new task type on the dropdown menu.
+
+
+
+Validate with **Confirm**.
+
+
+:::
+
+## Update a Task Type
+
+Go to `Main Menu > Task Types`:
+
+
+
+Click the tab for the entity type you need (asset, shot, sequence, episode, or edit) and hover over the task type row you wish to select then click the `Edit` icon:
+
+
+
+## Remove a Task Type
+
+To remove a task type from your studio's Global Library, go to `Main Menu > Task Types` and hover over the task type row you wish to select then click the `Delete` icon:
+
+
+
+To remove an task type from your production library, go to `Production Menu > Settings > Task Types` and click the `Remove` button to remove the task type from the list:
+
+
\ No newline at end of file
diff --git a/docs/guides/team-management/import-team/index.md b/docs/guides/team-management/import-team/index.md
new file mode 100644
index 0000000000..244ce5940d
--- /dev/null
+++ b/docs/guides/team-management/import-team/index.md
@@ -0,0 +1,35 @@
+# Import Your Team
+
+Chances are you already have a list of your employees somewhere.
+
+You have three ways to import them in Kitsu:
+
+1. Importing a `.csv` spreadsheet file directly
+2. [Copy-pasting your data directly into Kitsu](/guides/team-management/managing-teams/)
+3. Using the [Developer API](https://dev.kitsu.cloud/guides/team-management.html#inviting-and-managing-users)
+
+## Add Employees from a CSV Spreadsheet File
+
+First, save your spreadsheet as a `.csv` file.
+
+Then, go back to the People page on Kitsu and click on the **Import** icon:
+
+
+
+A pop-up window **Import data from a CSV** will open. Click on **Browse** to pick your `.csv` file.
+
+
+
+To see the result, click on the **Preview** button.
+
+You can check and adjust the column names using the preview of your data.
+
+**Note:** The **Role** column is not mandatory.
+
+
+
+Once everything looks good, click on the **Confirm** button to import your data into Kitsu.
+
+Now, you have all your people imported into Kitsu.
+
+
diff --git a/docs/guides/team-management/index.md b/docs/guides/team-management/index.md
new file mode 100644
index 0000000000..81ec6c045a
--- /dev/null
+++ b/docs/guides/team-management/index.md
@@ -0,0 +1,7 @@
+# Team Management
+
+- [Managing Departments](/guides/team-management/managing-departments/) - Discover methods for effectively managing and overseeing your team.
+- [Managing Teams](/guides/team-management/managing-teams/) -
+- [User Permission Roles](/guides/team-management/team-roles/) -
+- [Import Team](/guides/team-management/import-team/) -
+- [User Profile Settings](/guides/team-management/profile-settings/) -
\ No newline at end of file
diff --git a/docs/guides/team-management/managing-departments/index.md b/docs/guides/team-management/managing-departments/index.md
new file mode 100644
index 0000000000..c81fbae0e1
--- /dev/null
+++ b/docs/guides/team-management/managing-departments/index.md
@@ -0,0 +1,50 @@
+# Managing Departments
+
+
+
+Departments are designed to help supervisors and artists focus on their tasks. Once a user is linked to one or more departments, supervisors and artists gain direct access to a filtered view of all tasks associated with that task type.
+
+Departments are also used to define what metadata columns appear for users within that department. If a metadata column is linked to a department, then they will only show up for users in that department. If a metadata column is not associated with a department, they will show up for everyone.
+
+To manage your departments, select the **Department** page under the **Admin** section from the main navigation menu.
+
+
+
+## Creating Departments
+
+
+
+Defining your studio's Departments is typically the first step in setup, as multiple objects such as people and task types are linked to a department.
+
+::: tip
+By default, Kitsu provides some example departments to help you get started.
+:::
+
+If you need to create more departments, you can click on the `Add a department` button:
+
+
+
+When adding a department, you need to define:
+
+- The name of the department
+- A color (it will be displayed as a small round circle next to a column task type or a custom column)
+
+
+
+Click on **Confirm** to save your changes.
+
+Once you finish creating the department, your page should look like this. Each department has a unique name and a corresponding color:
+
+
+
+
+
+## Update Departments
+
+To update a department simply stay in the `Departments` page and hover your cursor over the department row you wish to edit and click the `Edit` icon.
+
+## Delete Departments
+
+To remove a department, hover over the department row you wish to select and click the `Delete` icon.
+
+
diff --git a/docs/guides/team-management/managing-teams/index.md b/docs/guides/team-management/managing-teams/index.md
new file mode 100644
index 0000000000..beb13bcdb6
--- /dev/null
+++ b/docs/guides/team-management/managing-teams/index.md
@@ -0,0 +1,91 @@
+# Managing Teams
+
+
+
+There are two libraries for users:
+- The **People Page** (Global Library) is used to determine users' permissions, contracts, and departments they belong to.
+- The **Team Page** (Production Library) is used to define who is working on a project and provide access to the production.
+
+
+
+## Creating Users
+
+To assign tasks to people, you first need to create an account for them in Kitsu.
+
+Go to the **Main Navigation Menu** and choose the **People** page under the **STUDIO** section.
+
+
+
+Then, click on the `Add a new user` button to open the creation modal:
+
+
+
+You will then be prompted to enter the following information: (please note from of the fields are required in order to create the user)
+- 1) First Name (**MANDATORY**)
+- 2) Last Name
+- 3) Email (**MANDATORY**)
+- 4) Phone Number
+
+::: danger Important!
+An email address is **mandatory** and must be unique in order to create an account.
+:::
+
+- 5) You can specify one or multiple **Departments** to link a user to.
+
+Being assigned to a Departments will also affect what shows up on the **My Checks** page, displaying only tasks related to your department.
+
+Finally, the timesheet page will be filtered to only tasks within your department as well.
+
+Once a user is linked to a department, various options will become available to them. For example, they will have direct access to their department's view on the global homepage.
+
+The department supervisor will be able to comment on all tasks within their department and assign tasks only to people from the same department(s).
+
+
+
+- 6) Role: This is where you will define the permission role of the user (this will be explained below).
+
+- 7) Active
+
+This section lets you choose whether to activate users immediately. If the user needs immediate access to Kitsu, set this to **yes**. However, there might be instances where you want to create a user but are not ready to give them access to Kitsu (for example, if you want to schedule tasks for an artist who is due to start work in two weeks). In this case, you can create and schedule the user, then simply enable them once they start.
+
+::: danger Important!
+Each user requires an individual account to log in to Kitsu.
+:::
+
+
+
+## Adding Users to a Production Team
+
+Once you have created your production, you need to add users to the production's team to allow them access.
+
+Being part of a team also allows tasks to be assigned to you.
+
+::: tip
+You don't need to add the Studio Manager role to a team to give them read permission (since this role will have access to it anyways). However, if you want to assign them tasks, they will need to be added to the team.
+:::
+
+To add users to a team, within your project, use the **navigation** dropdown menu at the top of the page and select the **TEAM** page.
+
+
+
+On the **Team** page, you can see all the users who have been assigned to this project. If you've just created a brand new project, this page will be empty. You can also quickly switch to the team page for a different project by selecting the project name in the drop down menu at the top of the page.
+
+
+
+::: warning
+Permissions and departments are set at the **Studio Level**. You can't adjust these at the production level.
+:::
+
+## Removing Users From A Team
+
+To remove a user from a production, go to `Production Menu > Team`, hover your cursor over the row of the corresponding user, and click the `Remove` button.
+
+Removing a user from a department happens in the `Main Menu > Studio > People` page. Just click on the `Edit` button for the target user and in the departments section click the department you wish to remove the person from.
+
+## Delete Users
+
+To delete a user you must first edit their status to `Inactive` in the studio's `People` page.
+
+Then, go to the `Inactive` tab, hover your cursor over the user you wish to select, and click the `Delete` icon.
+
+
\ No newline at end of file
diff --git a/docs/guides/team-management/profile-settings/index.md b/docs/guides/team-management/profile-settings/index.md
new file mode 100644
index 0000000000..3fcee149f6
--- /dev/null
+++ b/docs/guides/team-management/profile-settings/index.md
@@ -0,0 +1,35 @@
+# User Profile Settings
+
+
+
+
+On your first connection, we encourage you to fill in your contact information into your profile. Setting this up helps your team recognize you and lets you tailor notifications and settings to fit your workflow.
+
+## Access Your Profile
+
+Click on your name/avatar on the top right of the screen (1), then on **Profile** (2).
+
+NB: This menu also gives you quick access to helpful resources at any time: a link to this **Documentation** (4), our **Tutorials**, our **Slack**/**Discord** community (5), our **YouTube** channel, and our public **Roadmap** (6). You can also toggle the **Dark Theme**/**Theme** color (3) and show or hide the **Support Chat** widget from here.
+
+
+
+## Customize Your Details
+
+On this new page, you can check your name (1) (2) and email (3), fill in your phone number (4), change your timezone (5) and the language of the website (6), and post a pic of yourself as your avatar (7). It helps to recognize who is doing what!
+
+
+
+You can also define what kind of notification you want: email or Slack.
+
+
+
+## Change Your Password
+
+If you keep scrolling, you can also change your password.
+
+For security purposes, it's highly recommended to replace the default password with a strong and unique one of your own.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/guides/team-management/team-roles/index.md b/docs/guides/team-management/team-roles/index.md
new file mode 100644
index 0000000000..8a241ec632
--- /dev/null
+++ b/docs/guides/team-management/team-roles/index.md
@@ -0,0 +1,160 @@
+# User Permission Roles
+
+
+
+::: warning Definition
+A permission role defines a set of access rights and privileges granted to a user within a system or application, dictating what actions they can perform and what resources they can access.
+:::
+
+Roles are very important, so it's useful to understand what each of them does and which ones might be relevant to specific team members.
+
+Here's the org hierarchy as a simple chart:
+
+```mermaid
+graph TD
+ A[Studio Manager] --> B[Production Manager]
+ B --> C[Supervisor]
+ C --> D[Artist]
+ D --> E[Vendor]
+ F[Client]
+```
+
+And a summary of the permissions per role:
+
+| Role | Access Scope | Can Do | Cannot Do |
+|---|---|---|---|
+| **Artist** | Only productions/tasks they're assigned to |
Create personal filters (global & task type pages)
Edit own comments
Check checklists on assigned tasks
Create on-the-fly playlists (not savable)
|
See client comments
Access unassigned projects
|
+| **Vendor** | Only specifically assigned tasks (narrower than Artist) |
Similar to Artist, but everything not assigned is hidden
|
See/edit anything not explicitly assigned
|
+| **Supervisor** | Their own department(s): assets, shots, tasks, assignments, stats, breakdown, playlists (inherits Artist permissions) |
Assign tasks to their team artists
Comment on all tasks in their department(s)
Check/pin checklists & comments in their dept
Edit own comments
Add/edit studio or client playlists
See client comments & validations
See comments from other departments
|
Access studio team, main timesheets, production list
Edit/pin/check any comment or checklist in the production
Add task columns
Delete/add tasks
Add/edit studio or client playlists
See client comments & validations
|
Access studio page, main timesheets, production list
Define task types/statuses/asset types
|
+| **Studio Manager** | All productions and settings (admin-level, inherits Supervisor permissions) |
Create/edit/delete productions
Full studio access (timesheets, people, schedule)
Set permission roles
Customize task types/statuses/asset types & studio branding
Add/delete task columns
Create custom metadata columns
| — |
+| **Client** | Only their own production |
Access global asset/shot pages
Access stats pages
Access client playlists with limited status visibility when commenting
|
See task assignments
See comments they didn't write
See Client retake/validation status (Supervisors & Studio Manager only)
|
+
+## Artist
+
+Artists can only access the productions they are part of. They can comment on tasks, upload media, and change statuses only on tasks that have been assigned to them. Their access is limited to a predefined set of statuses as determined by the Studio Manager.
+
+**They can:**
+* Create personal filters on the global page and Task Type page.
+* Edit their own comments.
+* Check the checklist on their assigned tasks.
+* Create playlists-on-the-fly for shots or assets, but won't be able to save these playlists.
+
+**They cannot:**
+* See client comments.
+* Access anything inside of projects that they haven't been assigned to.
+
+When an artist logs in to Kitsu, the first page they will see is their **My Tasks** page.
+
+
+
+## Supervisor
+
+Department supervisors inherit Artist permissions.
+
+Department supervisors have read and write access to their department(s) they work on:
+assets, shots, tasks, assignments, statistics, breakdown, and playlists.
+
+**They can:**
+* Assign tasks to their team artists (same department).
+* Post comments on all tasks or their department(s).
+* Check a checklist in their own department.
+* Pin a comment.
+* Edit their own comments.
+* Add/edit a playlist for the studio or the client.
+* See client comments and validations.
+* See comments from other departments.
+* View the timesheets of their team department(s).
+
+**They cannot:**
+* Access the studio team, the main timesheets, and the production list
+* Define task types, task statuses, and asset types.
+* Comment on other departments than theirs; they can't assign artists from other departments.
+
+## Production Manager
+
+Production managers inherit Department supervisor permissions.
+
+Production managers have read and write access to the productions they are assigned to, including
+assets, shots, tasks, assignments, statistics, breakdowns, and playlists.
+
+**They can:**
+
+* Create assets and shots, either manually or through a CSV batch import.
+* Post comments on any tasks within the production.
+* Edit any comment within the production.
+* Check any checklist within the production.
+* Pin any comment within the production.
+* Add a task column.
+* Delete or add a task.
+* Add/edit a playlist for the studio or the client.
+* See client comments and validations.
+
+**They cannot:**
+
+* Access the studio page, the main timesheets, and the production list.
+* Define task types, task statuses, and asset types.
+
+## Studio Manager
+
+A Studio Manager acts in the same way as an Administrator, having read and write access to all productions and settings within Kitsu. Some of their privileges include:
+
+### Create and edit a production
+
+The Studio Manager can create a new production, define its type, FPS, ratio, and resolution, and add a cover picture. They can also edit and delete any production.
+
+### Manage the studio
+
+The Studio Manager has access to everything in the studio, including:
+
+* Read / write access across all the productions
+* Access to the global timesheets page
+* The ability to view all people in the studio
+* Access to the main schedule
+
+In the People page, The Studio Manager **defines the permission role of each user**.
+
+They can also:
+
+* Customize global aspects of Kitsu: for example adding and modifying task types, task statuses, and asset types.
+* Set permission roles
+* Customize high-level studio information, such as customizing the studio name adding the company logo, and defining the number of hours per day of work etc.
+* Choose to use the original filename for downloading media.
+
+### Manage productions
+
+They have full access to all productions on your Kitsu site. Additionally:
+
+* They have the same permissions as the supervisor.
+* They can add / delete a task column.
+* They are allowed to create custom metadata columns.
+
+
+## Vendor
+
+Vendors have similar permissions to artists.
+
+The main difference is that while an artist can still see tasks in their production (though they can only edit tasks assigned to them), a vendor can only see and edit tasks that they are specifically assigned to.
+
+Everything else that is not assigned is hidden.
+
+## Client
+
+The client can only see the production of which they are part of.
+
+**They can:**
+
+* Access the global page of the assets/shots.
+* Access the stats pages.
+* Access Client playlists with limited access to task status when they post a comment
+
+**Note**
+* Only Supervisors and the Studio Manager can see the Client retake or validation status.
+
+
+**They cannot:**
+
+* See task assignments
+* See comments that they didn't write
+
+
\ No newline at end of file
diff --git a/docs/guides/tracking-reporting/budget/images/0.png b/docs/guides/tracking-reporting/budget/images/0.png
new file mode 100644
index 0000000000..d2670e6230
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/0.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/1.png b/docs/guides/tracking-reporting/budget/images/1.png
new file mode 100644
index 0000000000..36521d6b93
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/1.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/2.png b/docs/guides/tracking-reporting/budget/images/2.png
new file mode 100644
index 0000000000..48e3169585
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/2.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/3.png b/docs/guides/tracking-reporting/budget/images/3.png
new file mode 100644
index 0000000000..40a261d9ab
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/3.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/4.png b/docs/guides/tracking-reporting/budget/images/4.png
new file mode 100644
index 0000000000..754ac9bf43
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/4.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/5.png b/docs/guides/tracking-reporting/budget/images/5.png
new file mode 100644
index 0000000000..10b37b05d1
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/5.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/6.png b/docs/guides/tracking-reporting/budget/images/6.png
new file mode 100644
index 0000000000..d4749d1f6e
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/6.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/7.png b/docs/guides/tracking-reporting/budget/images/7.png
new file mode 100644
index 0000000000..24f28fb654
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/7.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/8.png b/docs/guides/tracking-reporting/budget/images/8.png
new file mode 100644
index 0000000000..c242aee2c5
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/8.png differ
diff --git a/docs/guides/tracking-reporting/budget/images/9.png b/docs/guides/tracking-reporting/budget/images/9.png
new file mode 100644
index 0000000000..684605602a
Binary files /dev/null and b/docs/guides/tracking-reporting/budget/images/9.png differ
diff --git a/docs/guides/tracking-reporting/budget/index.md b/docs/guides/tracking-reporting/budget/index.md
new file mode 100644
index 0000000000..0487e65f66
--- /dev/null
+++ b/docs/guides/tracking-reporting/budget/index.md
@@ -0,0 +1,109 @@
+# Budget
+
+In your Production menu, go to Budget to find the Budget Forecasting page:
+
+
+
+You can use this page to forecast, compare, and manage production costs with accuracy:
+
+- Track expense distribution and monitor cost evolution over time for your hired crew
+- Create multiple budget versions to plan for different scenarios
+- Admins can enter daily rates at the person level, which are used when that person is assigned to a department role
+- For predicted hires, you can use a seniority-based placeholder with a corresponding salary scale
+- Automatically pulls cost data from your Software Licenses and Hardware Items lists
+
+## Create a new budget
+
+The first time you use the feature, click `Create a new budget`:
+
+
+
+Pick a name and a currency:
+
+
+
+## Add a new budget entry
+
+A budget entry represents one cost item you add to a production's budget plan. Things like a person's day rate for a task type, a piece of software/license cost, a hardware cost.
+
+In the `Budget` page, you can add labor entries by clicking the `Add an entry` button:
+
+
+
+Then fill up the form and click `Confirm`:
+
+
+
+- **Department**: the department the person belongs to
+- **Person** (optional): the person you're budgeting for
+- **Position**: artist, supervisor, or lead
+- **Seniority**: junior, mid, or senior
+- **Start date**: when their work starts
+- **Months duration**: how many months the work last
+- **Daily salary**: how much they are paid per day in the budget currency
+
+The monthly salary is calculated as `Daily Salary X 20 Work Days per month`. The total salary is just the monthly salary multiplied by the number of budgeted months.
+
+To make budgeting easier, it's possible to define a salary scale that Kitsu will use to generate default daily salary based on department, position and seniority.
+
+## Define a salary scale
+
+The salary scale page is accessed from `Main Menu > Admin > Salary Scale`:
+
+
+
+Studio managers can define default day rates depending on the person's department, position, and seniority.
+
+Simply click the salary cell you wish to change and input your number. Kitsu autosaves any change.
+
+## Add a new budget version
+
+Sometimes you need to forecast different budget scenarios to see how they would impact your production.
+
+To do that, you can create a new budget version by clicking `New version` in the top right corner of your budget page.
+
+## Managing software licenses
+
+To manage software license costs, head to `Main Menu > Admin > Software Licences`:
+
+
+
+Each budget entry has the following properties:
+
+- **Name**: the full software name
+- **Short name**: a shorter name for reporting
+- **Extension**: file extension if applicable (e.g .blend for Blender)
+- **Version**: the software version number
+- **Monthly cost**: how much the software costs per month
+- **Inventory amount**: how many licenses have been purchased
+- **Remaining amount**: how many licenses remain available
+
+## Accounting hardware items
+
+To manage hardware item costs, head to `Main Menu > Admin > Hardware Items`:
+
+
+
+Each entry has the following properties:
+
+- **Name**: the full product name
+- **Short name**: a shorter name for reporting
+- **Monthly cost**: how much the product costs per month
+- **Inventory amount**: how many products have been purchased
+- **Remaining amount**: how many products remain available
+
+## Linking software licenses and hardware items to departments
+
+In the Departments page (`Main Menu > Admin > Departments`), you can navigate to the Linked Hardware and Linked Software tabs to assign costs to departments:
+
+
+
+Simply click on the `Linked Item` to remove it, and click on an `Available Item` to add it to the department.
+
+Kitsu automatically breaks down costs per department depending on the number of people in it. It also updates the `Remaining Amount` field of accounting entries.
+
+## Budget forecast vs real costs
+
+Of course, reality isn't the same as planning. Kitsu accounts for that with a `Show real costs` button you can toggle to obtain a breakdown of how the budget forecast compares to the actual production budget:
+
+
diff --git a/docs/guides/tracking-reporting/durations-vs-estimates/index.md b/docs/guides/tracking-reporting/durations-vs-estimates/index.md
new file mode 100644
index 0000000000..f1210180e5
--- /dev/null
+++ b/docs/guides/tracking-reporting/durations-vs-estimates/index.md
@@ -0,0 +1,51 @@
+# Durations over Estimates
+
+To focus on the big picture and have a global view of the **Bid**, you can compare the estimated **Person days** versus the reality **Days Spent** on various pages.
+
+## Estimation Summary
+
+On the shots' global page, you can see the sum-up of all the estimations versus duration. You can also apply filters for more specific insights.
+
+For example, to focus on a specific sequence, filter your global page by the sequence's name. The sum-up at the bottom will update accordingly.
+
+
+
+This allows you to know the **Duration** versus **Estimation** for that particular **Sequence**.
+
+Similarly, you can filter the global asset page.
+
+For example, you can filter by a specific **Asset Type** such as **Character**. The sum-up at the bottom will update to show the estimation versus duration for that asset type.
+
+
+
+
+## Task Type Duration over Estimation
+
+To delve into details, click on the name of a task type. The sum-up at the bottom of the screen will show **Duration** versus **Estimation** for this specific task type.
+
+
+
+You can get a global view or focus on a **specific status** or **Artist's name**. As on the global page, the sum-up will update with each filter applied.
+
+
+
+
+This way, you can closely monitor the performance and efficiency of specific tasks and artists, ensuring that estimations align with actual durations and making adjustments as necessary.
+
+## Durations over Estimations for an Asset / Shot
+
+To closely examine the details, you can display **Estimation** and **Time Spent** columns (duration) for each asset and shot in Kitsu.
+
+On the global page for shots or assets, you can see the sum-up of each task's **Estimation** and **Duration**. This allows you to quickly identify discrepancies or issues.
+
+
+
+## Detailed Analysis
+
+If something appears wrong or needs further investigation, click on the asset or shot name to go to the detail page.
+
+On the detail page, at the top left of the screen, you'll find a summary of the asset's or shot's lifecycle. This includes details of each task's **Status**, **Estimation**, **Duration**, **Start and Due Date**, and **Assignation**.
+
+
+
+This comprehensive view helps you understand where the discrepancies lie and take corrective actions if necessary. By closely monitoring these details, you can ensure better alignment between estimations and actual durations, leading to more accurate future planning and resource allocation.
diff --git a/docs/guides/tracking-reporting/ensure-tasks-on-time/index.md b/docs/guides/tracking-reporting/ensure-tasks-on-time/index.md
new file mode 100644
index 0000000000..d3579a842c
--- /dev/null
+++ b/docs/guides/tracking-reporting/ensure-tasks-on-time/index.md
@@ -0,0 +1,59 @@
+# Ensure Tasks are On Time
+
+To know if a task is on time, you need two things:
+- The **Task Type** of the task
+- An **Estimation** (Bid) in days, along with an estimated **Start date** and **Due date** for the task.
+
+Once this information is entered, you can **compare estimation to reality** on the Task Type page.
+
+
+
+## Methods to Compare Estimations and Actuals
+
+There are two main ways to do this:
+1. **Filtering by Due Date Status**
+2. **Using the Gantt Diagram**
+
+::: tip
+Kitsu automatically grabs the date and status of **WIP** (Work in Progress) and **WFA** (Waiting for Approval). You can compare your **estimated start date** versus **when the Artist really starts**, and compare the **estimated due date** to **when the Artist asks for approval**.
+:::
+
+## Filtering by Due Date Status
+
+On the **Tasks** tab, the first filter you see is **Due Date Status**. Set it to **Due before today** to display all tasks with a **Due date** set **Due Before Today**.
+
+Next, to determine what is finished and what still needs to be finished. Use the **-Done** filter to exclude completed tasks.
+
+
+
+This will show you all the late tasks with the two filters applied, meaning they are only validated after the **Estimated Due Date**. The summary at the bottom of the page updates in real time based on the applied filters.
+
+You can export this page as a `CSV` file and open it with spreadsheet software.
+
+## Using the Late Status Filter
+
+The **Late Status** filter built into the page helps you immediately see which tasks took more time than estimated (**Estimation over Duration**).
+
+
+
+Filter the late tasks using the **Due date late** option. There are two ways to calculate if a task is late:
+1. **Estimated due date** versus **Feedback**
+2. **Estimated due date** versus **Done**
+
+Depending on your studio's calculation method, Kitsu will provide the answer.
+
+
+
+## Using the Gantt Diagram
+
+On the **Task Type Page**, go to the **Schedule** tab. The **Start** and **End** dates of this task type, as set on the production schedule, are visible at the top of the screen.
+
+The **Gantt Diagram** will be dark grey before and after these dates, providing a visual cue for task timing.
+
+
+
+Change the **Coloring** from **Status color** to **Late in Red**. This will show tasks in **Grey** if they are on time and **Red** if they are late.
+
+
+
+You can return to the **Tasks** tab for more details, and Kitsu will retain your filters from tab to tab.
diff --git a/docs/filter/README.md b/docs/guides/tracking-reporting/filter/index.md
similarity index 83%
rename from docs/filter/README.md
rename to docs/guides/tracking-reporting/filter/index.md
index 1310337110..14e18b7cf6 100644
--- a/docs/filter/README.md
+++ b/docs/guides/tracking-reporting/filter/index.md
@@ -1,19 +1,20 @@
-# Filters
+# Advanced Search & Filters
Filtering involves selectively retrieving data based on specific criteria or conditions. It enables users to easily hone in information they want to focus on, or extract relevant subsets of data for analysis.
Kitsu provides a series of features that allow you to easily find what you are looking for.
## The Search Bar
+
### Using the Search Bar to Create Filters
In **Kitsu**, filters are set through the **search bar**. It allows you to
**save** your search query. Once done, you can rerun your query with a
simple click.
-
+
You can find the **Search Bar**, **Filter Builder** and the **Save** option  in the following pages:
+bar](/img/getting-started/filter_save_button.png) in the following pages:
* Assets
* Shots
@@ -50,14 +51,14 @@ Kitsu expects to have thousands of elements, so to speed up the process, you mus
For example, on the assets page, type the letter `Ot`, and you get the
result of all the assets starting with an `Ot`.
-
+
You can also search for some specific **type of asset**: `Props`, `Character`,
`Environment`, `Fx` ... The result displays all the assets of this type.
For example, let's search all the **FX** assets.
-
+
Another example gets **shots page** of a specific **sequence**.
For example, you can only see the shots of the second sequence of the first episode.
@@ -65,7 +66,7 @@ For example, you can only see the shots of the second sequence of the first epis
Select the first episode on the dropdown menu, then search `sq002`; the result
gets all the shots of all the episodes from sequence SQ002.
-
+
In the same way, you can search **specific status** link to the task.
@@ -95,17 +96,18 @@ You can do a mix of all the filters:
:::
## Creating Filters
-### Utilising the Filter Builder
+
+### Using the Filter Builder
The easiest way to achieve more advanced filtering is to use the filter builder. Click on the **Filter Builder** icon show below to get started.
-
+
You can then use the interactive filter builder dialogue to create your desired filter criteria.
-
+
-::: warning
+::: warning
The first option, **Match all the following filters**, will use all the options you select on the filter builder for the filtering:
- Task Status
@@ -121,7 +123,6 @@ The second option, **Match one of the following filters**, will skip the unavail
### Task Status Filtering
-
**Task Status** helps you filter a task type by status.
- **Equal** will report all the tasks with this status on this task type
@@ -133,13 +134,13 @@ You can use the **-** button to remove one of the statuses selected.
You can use the **+** below the status to add more status.
-
+
::: tip
If you want to filter the status of several task types, click on the **+** below the task status option on the left part of the screen.
-
+
:::
@@ -151,13 +152,13 @@ The **Metadata** filter allows you to filter your page based on the information
- **Not Equal** will report all the task **except** this information
- **In** report all the tasks with all the information you've selected
-
+
::: tip
If you want to filter elements on several Metadata, you can click on the **+** below the Metadata option on the left part of the screen.
-
+
:::
@@ -190,11 +191,11 @@ Then you have the choice between:
You can filter a task type with a specific level of priority.
::: tip
-To learn more about priorities, see
-[Change Priorities](../estimation/README.md#change-priorities)
+To learn more about priorities, see
+[Change Priorities](../estimation/index.md#change-priorities)
:::
-First, select your task type, then you can choose between
+First, select your task type, then you can choose between
- **Normal** (the default level of priority)
- **High**
- **Very High**
@@ -206,7 +207,6 @@ You can only filter priority on **ONE** Task type for **ONE** level of priority.
You can not add several priority filters.
:::
-
### Using the "Ready For" status
Depending on whether you are filtering on the asset or shot global page, you can filter on the **Ready For** status.
@@ -216,62 +216,56 @@ Depending on whether you are filtering on the asset or shot global page, you can
On the shot page, you will check whether all the assets for these tasks are ready (see Create your production).
::: warning
-You can only filter **Ready for**** on **ONE** Task type
+You can only filter **Ready for**** on **ONE** Task type
You can not add several **Ready For** filters.
:::
-
## Managing Saved Filters
Kitsu allows you to save any filter queries to be re-used later. You can save them by pressing the
**Enter**, or click on the **Save** button
-.
+.
Now, under the **search bar**, you can see your saved queries as buttons.
-
+
::: tip
Notice the first icon on the left and the colored buttons.
It allows you to Create a Filter Group. This way, you can keep your saved filters organized under a colored Group.
-
+
:::
The buttons are there every time you return to this page. They help you run common queries faster.
-
-
Once you have created your filter and saved it, it will appear as a button under the search bar.
You can rename the filter with a more explicit choice of words.
-
The saved filter is quite long and hard to read. Hover your mouse over the saved filter. You will see two icons, one to edit and the other to delete.
-
+
You can now change the name displayed in the **Name** section in the pop-up window.
-
+
You can choose if you want to keep your saved queries in or out of a **Filtered Group**
-
-
+
### Deleting a Filter
If you have created a **filter button** by mistake, click on the cross next to
-it .
+it .
The result of the filter is displayed, but the button is not. Just
cancel your research by deleting the text or use the cross next to the Search
-bar 
-
+bar 
### Pre-built Filters
diff --git a/docs/guides/tracking-reporting/index.md b/docs/guides/tracking-reporting/index.md
new file mode 100644
index 0000000000..dd56f22255
--- /dev/null
+++ b/docs/guides/tracking-reporting/index.md
@@ -0,0 +1,14 @@
+# Tracking & Reporting
+
+- [Ensure Tasks are On-Time](/guides/tracking-reporting/ensure-tasks-on-time/) -
+- [Understand Why a Task Is Late](/guides/tracking-reporting/understand-why-late-task/) -
+1. [Quotas](/guides/tracking-reporting/quotas/) - Learn how to check your team efficiency against estimates
+- [Studio Overview](/guides/tracking-reporting/studio-overview/) - Ensure you're ahead of the game with your studio's productions.
+- [Studio Occupancy](/guides/tracking-reporting/studio-occupancy/) -
+- [Production Overview](/guides/tracking-reporting/production-overview/) -
+- [Timesheets](/guides/tracking-reporting/timesheets/) -
+- [Durations vs Estimates](/guides/tracking-reporting/durations-vs-estimates/) -
+- [Advanced Search & Filters](/guides/tracking-reporting/filter/) - Hone in on key information with powerful search functionality.
+- [Main Schedule](/guides/tracking-reporting/main-schedule/) -
+- [Budget](/guides/tracking-reporting/budget/) -
+- [Thumbnails](/guides/tracking-reporting/thumbnails/) - How to apply thumbnails to assets and shots.
\ No newline at end of file
diff --git a/docs/guides/tracking-reporting/main-schedule/index.md b/docs/guides/tracking-reporting/main-schedule/index.md
new file mode 100644
index 0000000000..c98c5fcbce
--- /dev/null
+++ b/docs/guides/tracking-reporting/main-schedule/index.md
@@ -0,0 +1,15 @@
+# Using the Main Schedule
+
+With the **Main Schedule**, you can access all the **Production Schedules** at once.
+
+
+
+If you unfold a production, you will see the details of each **Task Type** used in that production. By unfolding multiple productions, you can which teams are being utilized simultaneously.
+
+
+
+You can move each **Task Type Bar** to adjust the schedule to fit the studio's needs.
+
+::: warning
+Each change you make will be applied to the Production Schedule.
+:::
diff --git a/docs/guides/tracking-reporting/production-overview/index.md b/docs/guides/tracking-reporting/production-overview/index.md
new file mode 100644
index 0000000000..8d86e0bf2b
--- /dev/null
+++ b/docs/guides/tracking-reporting/production-overview/index.md
@@ -0,0 +1,115 @@
+# Production Overview
+
+As a Producer, having a comprehensive overview of the entire production process is essential.
+
+Kitsu offers various tools to help you stay informed and manage production efficiently without getting overwhelmed by notifications or losing focus.
+
+## News Feed Features
+
+The news feed section show real-time updates relating to your production, including:
+
+- **Real-Time Updates**: View all status changes as they happen, minute by minute.
+- **Summarized View**: The right part of the screen displays the total number of news items and a breakdown by status.
+- **Filtering Options**: Filter the list by Task Status, Task Type, and Person to focus on specific areas.
+- **Comment Panel**: Clicking on a line opens the comment panel on the right, providing all necessary details.
+
+
+
+### Using Filters
+
+You can customize the time frame for displaying information using the **Filters Builder** button. This is useful for focusing on specific supervisors or time periods.
+
+
+
+### Example
+
+If you want to focus on a supervisor for a specific month, select their name and pick a date in the **From** box.
+
+
+
+## Know the Current State of the Production
+
+Understanding the current state of your production is crucial. Kitsu provides detailed statistics and visualizations to help you track progress effectively.
+
+### Short / Feature Specific
+
+We're going to look at some features that are specific to Short / Feature Film workflows.
+
+#### Sequence Stats
+
+The **Sequence Stats** page offers pie charts that depict the status of your production, sequence by sequence. The color scheme of the pie charts corresponds to the status, allowing you to quickly understand the state of your production.
+
+
+
+- **All Sequences**: The first line represents the whole production.
+- **All Tasks**: The first column includes all tasks simultaneously.
+
+By focusing on the first pie chart, you can see the exact state of your production. For more details, look at the rest of the line to get a global view of each task type's state.
+
+#### Asset Types Stats
+
+Similar to Sequence Stats, the **Asset Types Stats** page provides pie charts for asset types, giving you a clear view of the asset status across the production.
+
+
+
+#### Count View
+
+You can also display data as **Counts** to see the exact number of assets, shots, or frames, along with their percentage per status.
+
+
+
+#### Exporting Data
+
+You can export this page as a `.csv` text file and import it into spreadsheet software for further analysis and reporting.
+
+By leveraging these tools, you can stay on top of the production process, ensuring everything runs smoothly and on schedule.
+
+### TV Show Specific
+
+You can access an extra information level on a TV show through the **Episodes Stats Page**.
+
+### Retakes Display
+
+The default setting for the **Episodes Stats** page is **Retakes**. This display lets you see the number of retakes (back and forth) for each episode on each task type. Only three colors are displayed:
+- **Validated as Green**
+- **Retakes as Red**
+- **In progress as Grey**
+
+
+
+If you unfold an episode, you will see the percentage of each take and the evolution of the retakes versus approval. This helps you see the progress of each episode per task.
+
+
+
+Usually, the first episodes have many back-and-forths, but it should get better over time. However, if late episodes still have many retakes, something must be fixed. It's time to discuss the issue with the director and the supervisor.
+
+### Status Display
+
+The second option for data display is **Status**. This status display works like the **Sequence** / **Asset Type** Stats page.
+
+
+
+You can also display data as **Counts**. This way, you'll see the exact number of shots/frames with the percentage per status.
+
+
+
+You can export this page as a `.csv` text file and import it into spreadsheet software.
+
+## Production Report
+
+To ease the communication with the studio, you have direct access to the production report, separated into two parts: the **Sequence Stats** and the **Asset Types Stats**
+
+
+
+The **Sequence Stats** page is updated in real-time. Every time you look at this page, you are sure to have updated information.
+
+
+
+You can choose to display the stats per number of shots or number of frames.
+
+You can also change the **Display Mode**; you can switch from the **Pie charts** View
+to the **Counts** view.
+
+
+
+It's this presentation that you can download to keep track of the production progress.
diff --git a/docs/guides/tracking-reporting/quotas/index.md b/docs/guides/tracking-reporting/quotas/index.md
new file mode 100644
index 0000000000..f11d20aa11
--- /dev/null
+++ b/docs/guides/tracking-reporting/quotas/index.md
@@ -0,0 +1,66 @@
+# Quotas
+
+**Quotas** visualize your **team speed**.
+
+A quota refers to the specific amount of work or number of tasks an artist is expected to complete within a given timeframe, ensuring that the project progresses according to schedule and meets production deadlines.
+
+You can see on average how many shots, frames, or seconds the artist needs to complete daily to finish all tasks within the **estimated number of days**.
+
+Kitsu has two ways to calculate quotas per **task type**.
+
+## Quotas Based on Timesheets
+
+The first calculation method is based on daily timesheets filled out by the artists.
+
+Quotas are calculated from when the artist fills out their first timesheet on a task until they stop.
+
+Shots are considered complete when the first feedback request is made.
+
+Quotas are then weighted according to the time spent on the task, as recorded in the timesheet by the artist.
+
+
+
+In this example, Kitsu weights the daily quota based on the timesheet entries.
+
+
+
+## Quotas Based on Status Changes
+
+If no timesheet is filled out, Kitsu uses status changes to estimate the duration:
+
+- The task is considered started when the first status change to WIP occurs.
+- The task is considered completed on the day the feedback request (WFA status) is made.
+
+This is First Take quotas, meaning that back-and-forth comments are not included in the calculation.
+
+Kitsu then distributes the completed frames across all business days between the start and end dates. It calculates the number of frames (or seconds, or tasks) completed per day/week/month per artist.
+
+
+
+You can click on a number at any time to see its details in the right panel.
+
+::: danger
+**Note**: If no timesheet is filled, Kitsu defaults to considering:
+- The task started with the first status change to WIP.
+- The task was completed on the day the feedback request was made.
+:::
+
+This method ensures that even in the absence of detailed timesheet data, there is a reliable way to track task progress and calculate quotas accurately.
+
+## Managing Department Quotas
+
+At the beginning of production, while setting estimates for each task, a supervisor can also define estimated quotas for each of their artists.
+
+Once a task is approved, the remaining line on the Estimation tab of the Task Type page will update and display the remaining number of tasks and the updated estimated quotas.
+
+You can monitor each team member to see if their estimated quotas stay within the initially established range.
+
+
+
+To check their **Actual Quotas**, go to the **Quotas** page.
+
+
+
+The first column, **Average**, is the most important. Kitsu calculates the average quotas for each artist per **Day**, **Week**, or **Month**.
+
+
\ No newline at end of file
diff --git a/docs/guides/tracking-reporting/studio-occupancy/index.md b/docs/guides/tracking-reporting/studio-occupancy/index.md
new file mode 100644
index 0000000000..b65ca409f4
--- /dev/null
+++ b/docs/guides/tracking-reporting/studio-occupancy/index.md
@@ -0,0 +1,19 @@
+# Studio Occupancy Rate
+
+The **Team Schedule** allows you to see all artists with assigned tasks. Each row represents an artist, and unfolding an artist's row will show the details of their tasks.
+
+
+
+## Focusing on Specific Timeframes
+
+You can focus on a specific timeframe by setting the **Start** and **End Date**. Adjust the zoom level to get more detailed information on the assigned tasks. You can choose to see all **Departments** or only a specific one and focus on a single **Person**.
+
+If an artist has several tasks on the same day, the tasks will be piled up, with **one line for each task**.
+
+
+
+## Modifying the Schedule
+
+You can move tasks around by grabbing them and placing them on another day. Any changes you make on the Team Schedule will be applied to the task type schedule.
+
+If an artist has a break between two tasks, the sum-up line will not break to show it. Instead, it shows the first and last tasks assigned to the artist.
diff --git a/docs/studio-report/README.md b/docs/guides/tracking-reporting/studio-overview/index.md
similarity index 52%
rename from docs/studio-report/README.md
rename to docs/guides/tracking-reporting/studio-overview/index.md
index 96ca6ace38..4a2daed0f7 100644
--- a/docs/studio-report/README.md
+++ b/docs/guides/tracking-reporting/studio-overview/index.md
@@ -1,6 +1,4 @@
-# Building Studio Reports
-
-## Studio Resource Overview
+# Studio Resource Overview
As a Producer, you need to know everything.
@@ -10,7 +8,7 @@ The perfect solution is to have all the production stats on one page, always up-
Welcome to the **All Tasks** page.
-
+
Here, you can see the status of all productions at once. You can filter the list by **Production**, **Task Status**, **Task Type**, and **Person**. Clicking on a line opens the comment panel on the right, providing all the information you need.
@@ -18,18 +16,18 @@ If you need more detailed information, especially about a specific timeframe, yo
With the **Filters Builder** button, you can define a specific time frame.
-
+
For example, if you want to focus on the workload a supervisor for a specific month, select their name and then pick a date in the **From** box.
-## Current State of All Productions
+## Current State of All Productions
To ensure your studio functions smoothly, you need to stay on top of all ongoing productions. This is where the **Productions** section can help. Access it from the global menu under the **Studio** section.
From there, click on the **Load stats** button to see the current state of your productions.
-
+
For more detailed information, visit the **Sequence Stats** and **Asset Types Stats** pages of all the productions.
@@ -39,58 +37,20 @@ The **Sequence Stats** page provides pie charts of the entire production on a si
The first line is **all sequences**, representing the whole production, and the first column, **All**, includes all the tasks simultaneously.
-
+
By focusing on this first pie chart, you can see the exact state of your production. For more details, look at the rest of the line for a global view of each task type's state.
The **Asset Types Stats** page provides the same level of detail for assets.
-
+
You can also display data as **Counts**, showing the exact number of shots/frames with the percentage per status.
-
+
You can also export this page as a `.csv` text file to import it into spreadsheet software.
Navigate from production to production using the **Navigation** menu at the top of the screen. You will stay on the same page, allowing you to check all the production stats by selecting each production.
-
-
-
-## Studio Occupancy Rate
-
-The **Team Schedule** allows you to see all artists with assigned tasks. Each row represents an artist, and unfolding an artist's row will show the details of their tasks.
-
-
-
-### Focusing on Specific Timeframes
-
-You can focus on a specific timeframe by setting the **Start** and **End Date**. Adjust the zoom level to get more detailed information on the assigned tasks. You can choose to see all **Departments** or only a specific one and focus on a single **Person**.
-
-If an artist has several tasks on the same day, the tasks will be piled up, with **one line for each task**.
-
-
-
-### Modifying the Schedule
-
-You can move tasks around by grabbing them and placing them on another day. Any changes you make on the Team Schedule will be applied to the task type schedule.
-
-If an artist has a break between two tasks, the sum-up line will not break to show it. Instead, it shows the first and last tasks assigned to the artist.
-
-
-## Utilize the Main Schedule
-
-With the **Main Schedule**, you can access all the **Production Schedules** at once.
-
-
-
-If you unfold a production, you will see the details of each **Task Type** used in that production. By unfolding multiple productions, you can which teams are being utilized simultaneously.
-
-
-
-You can move each **Task Type Bar** to adjust the schedule to fit the studio's needs.
-
-::: warning
-Each change you make will be applied to the Production Schedule.
-:::
+
diff --git a/docs/thumbnails/README.md b/docs/guides/tracking-reporting/thumbnails/index.md
similarity index 73%
rename from docs/thumbnails/README.md
rename to docs/guides/tracking-reporting/thumbnails/index.md
index ebc8bb4286..d72369001e 100644
--- a/docs/thumbnails/README.md
+++ b/docs/guides/tracking-reporting/thumbnails/index.md
@@ -1,34 +1,35 @@
# Thumbnails
+
## Add Thumbnails Manually
To define a preview as a thumbnail, the preview MUST have been uploaded as a revision.
Click on the status you want on the list page, then click the **Preview** button (1) on the right panel.
-
+
Once you click on the button, you can choose to pick the first or any frame. Once the frame is selected, the thumbnail appears, and the button turns gray.
-
+
## Add Thumbnails Automatically
If you prefer to have your thumbnails populate automatically, you can navigate to the settings page from the production using the navigation menu.
-
+
On the **Parameters** tab, select **set new preview as entity thumbnail automatically**.
-
+
Don't forget to **Save** changes when you are done. Now, as soon as you upload a preview, it will be used automatically as a thumbnail.
## Batch Upload Previews (as Thumbnails)
-Use the **Add Thumbnails** button  on the global page to import thumbnails in bulk.
+Use the **Add Thumbnails** button  on the global page to import thumbnails in bulk.
-
+
A new pop-up opens and asks you to choose which task types the thumbnails are linked to.
diff --git a/docs/guides/tracking-reporting/timesheets/index.md b/docs/guides/tracking-reporting/timesheets/index.md
new file mode 100644
index 0000000000..aea29e6321
--- /dev/null
+++ b/docs/guides/tracking-reporting/timesheets/index.md
@@ -0,0 +1,54 @@
+# Team Timesheets
+
+::: warning
+All of the previous chapters are based on the fact that **Estimation** and **Duration** are filled for each task.
+:::
+
+Everybody has to do their part. You and the supervisor will handle the estimation, while your team will fill out their timesheets.
+
+Navigate to the main menu and select the Timesheet page.
+
+
+
+### Viewing Timesheets
+
+On this page, you can view each team member's timesheet by day. This allows you to check whether they fill it out daily, took a day off, or worked extra hours.
+
+If you have a question about a timesheet entry, click on it to see the details of the production, task type, and specific task.
+
+
+
+Once everything looks good at the day level, you can change the **Detail Level** from Day to Week, Month, or Year.
+
+
+
+You can view all the productions you manage simultaneously or look at each production individually.
+
+### Exporting Timesheets
+
+As with all other pages in Kitsu, you can export the timesheet data as a CSV file and open it in spreadsheet software for further analysis.
+
+## Complete Your Timesheet
+
+If your production requires it, you can log your time spent using the **Timesheets** tab or the **Timesheets** shortcut button at the top of the screen.
+
+### How to Log Time:
+- Use the slider next to each task to record hours spent.
+- For quick input, use the **1**, **4**, or **8 hours** buttons.
+
+
+
+### Missed a Day?
+Click the date picker to backfill entries. You can also mark days as **Day Off** if you weren't working on that day.
+
+
+
+## Department Timesheets
+
+As a Supervisor, you may also be responsible for monitoring your team's hours. The Timesheet page shows how many hours they work daily, weekly, and monthly.
+
+
+
+It's important to highlight abnormal patterns such as extra hours, sick days, or lack of vacation. The timesheet view can provide a high-level overview of where artists are spending their time, which can help you take care of your team to ensure they are not burning out.
+
+
diff --git a/docs/guides/tracking-reporting/understand-why-late-task/index.md b/docs/guides/tracking-reporting/understand-why-late-task/index.md
new file mode 100644
index 0000000000..0230041335
--- /dev/null
+++ b/docs/guides/tracking-reporting/understand-why-late-task/index.md
@@ -0,0 +1,36 @@
+# Understanding Why a Task is Late
+
+Now that you know which tasks are late or will be late, you need to understand **why**. There are several reasons why a task might be late:
+
+- The artist is overwhelmed with too many tasks.
+- There is too much back-and-forth on the task.
+- The task might be underestimated, making it difficult to finish on time.
+- The previous task was already late.
+
+### Checking an Artist's Workload
+
+To check an artist's number of tasks, filter the **Task Type** page by the artist's name under the **Task** tab.
+
+
+
+You can also add the **-done** filter to see what the artist has left to do. Then add the **Due Date Status** filter to **Due previous week** or **Due this week**, depending on what you are looking for.
+
+
+
+This will show you how many tasks your artist has to complete.
+
+### Identifying Back-and-Forth
+
+To identify the number of back-and-forths, look at the Retakes column on the Tasks tab. Each **Red Dot** represents a **retake**. Click on the line to open the **Comment panel** and read the entire task history. This is the best way to understand what is happening—whether the artist misunderstood the brief or if the brief changed with each version.
+
+
+
+### Checking if the Task is Underestimated
+
+To check if the task is underestimated, go back to the global page, click on the name of the shot or asset, and see the casting and all the extra information. For example, there might be too many characters in the scene, or it might be a big action scene.
+
+
+
+### Checking the Previous Task
+
+Lastly, you can check the previous task while viewing the asset/shot in detail. Click on it to go to the dedicated **Task Type** page, where you can find detailed information about what was happening before. This can help you understand if delays in earlier tasks are affecting the current one.
diff --git a/docs/img/activitylogs.jpg b/docs/img/activitylogs.jpg
new file mode 100644
index 0000000000..88019bf89c
Binary files /dev/null and b/docs/img/activitylogs.jpg differ
diff --git a/docs/img/loginlogs.jpg b/docs/img/loginlogs.jpg
new file mode 100644
index 0000000000..b0631e95f8
Binary files /dev/null and b/docs/img/loginlogs.jpg differ
diff --git a/docs/img/openid.webp b/docs/img/openid.webp
new file mode 100644
index 0000000000..32e8818476
Binary files /dev/null and b/docs/img/openid.webp differ
diff --git a/docs/img/previewlogs.jpg b/docs/img/previewlogs.jpg
new file mode 100644
index 0000000000..73ddcf3bae
Binary files /dev/null and b/docs/img/previewlogs.jpg differ
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000000..083281c42c
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,140 @@
+---
+prev:
+ text: ''
+ link: ''
+next:
+ text: 'Getting Started'
+ link: '/start-here/getting-started'
+---
+
+
+
+
+
+# Kitsu Documentation
+
+[Kitsu](https://cg-wire.com/kitsu) is a collaboration platform for animation and VFX productions. Through its clean UI and shared database, it connects all relevant stakeholders throughout the production process, including artists, production managers, supervisors, vendors, and clients.
+
+## Start Here
+
+Here are some links to familiarize yourself with the basic concepts in Kitsu you'll need to be successful with your production:
+
+- [Getting Started](/start-here/getting-started/) - Learn key principles and common vocabulary terms used within Kitsu to better plan your production workflow.
+
+- [Quickstart for TV Shows](/recipes/for-tvshows/) - Create a TV show production with assets, shots, sequences, episodes and edits.
+- [Quickstart for Feature Films](/recipes/for-feature-films/) - Create a feature film production (approximately 1 000 entities) with assets, shots, sequences and edit.
+- [Quickstart for Shorts](/recipes/for-shorts/) - Create a short production (approximately 500 assets and shots) with assets, shots, sequences and edit.
+- [Quickstart for Video Games](/recipes/for-videogames/) - Create a Video game production with Assets, Maps, Level and Chapters.
+- [Quickstart for NFTs](/recipes/for-nfts/) - Create a NFT Collection with Assets and NFT Collections.
+- [Quickstart for Shots-Only Productions](/recipes/shots-only-production/) - Create a short production (about 500 shots) with only shots, sequences and edit.
+- [Quickstart for Assets-Only Productions](/recipes/assets-only-production/) - Create a short production (about 500 assets) with only assets.
+
+## Workflows
+
+- [For Supervisors](/workflows/for-supervisors/) -
+- [For Producers](/workflows/for-producers/) -
+- [For Artists](/workflows/for-artists/) -
+- [For Clients](/workflows/for-clients/) -
+- [For Developers](https://dev.kitsu.cloud/) -
+
+## Guides
+
+### Team Management
+
+- [Managing Departments](/guides/team-management/managing-departments/) - Discover methods for effectively managing and overseeing your team.
+- [Managing Teams](/guides/team-management/managing-teams/) -
+- [User Permission Roles](/guides/team-management/team-roles/) -
+- [Import Team](/guides/team-management/import-team/) -
+- [User Profile Settings](/guides/team-management/profile-settings/) -
+
+### Task Management
+
+- [Manage Studios](/guides/task-management/manage-studios/) -
+- [Manage Productions](/guides/task-management/manage-productions/) -
+- [Manage Episodes](/guides/task-management/manage-episodes/) -
+- [Manage Sequences](/guides/task-management/manage-sequences/) -
+- [Manage Shots](/guides/task-management/manage-shots/) -
+- [Manage Asset Types](/guides/task-management/managing-asset-types/) -
+- [Manage Task Types](/guides/task-management/managing-task-types/) -
+- [Manage Task Statuses](/guides/task-management/managing-task-statuses/) -
+- [Manage Edits](/guides/task-management/manage-edits/) -
+
+### Pre-Production
+
+- [Manage Concepts](/guides/pre-production/manage-concepts/) -
+- [Manage Assets](/guides/pre-production/manage-assets/) -
+- [Breakdown & Casting](/guides/pre-production/breakdown-casting/) -
+- [Meta-Columns](/guides/pre-production/meta-column/) - Learn how to create and organize metadata from your production.
+
+### Scheduling
+
+- [Assign Tasks](/guides/scheduling/assign-tasks/) - Learn how to assign people to a task.
+- [Find Assignments](/guides/scheduling/find-assignments/) - Learn how to stay on top of task assignments.
+- [Schedules](/guides/scheduling/schedules/) - Discover the different scheduling capabilities in Kitsu, from the studio level to the task level.
+- [Estimates](/guides/scheduling/estimates/) - Learn how to calculate the number of days estimated to do a task (bids).
+
+### Review & Publishing
+
+- [Update Task Progress](/guides/review-publishing/update-task-progress/) - How to change statuses and keep your team updated on the progress of work.
+- [Publish](/guides/review-publishing/publish/) - How to publish and share work with your team.
+- [Request Review](/guides/review-publishing/request-review/) -
+- [Review](/guides/review-publishing/review/) - Learn how to review all feedback on a task.
+- [Playlist](/guides/review-publishing/playlist/) - Quickly gather video versions and stay focused during the review.
+- [Client Playlist](/guides/review-publishing/client-playlist/) - Collect and share your work with your client in a managed environment.
+
+### Tracking & Reporting
+
+- [Ensure Tasks are On-Time](/guides/tracking-reporting/ensure-tasks-on-time/) -
+- [Understand Why a Task Is Late](/guides/tracking-reporting/understand-why-late-task/) -
+- [Quotas](/guides/tracking-reporting/quotas/) - Learn how to check your team efficiency.
+- [Studio Overview](/guides/tracking-reporting/studio-overview/) - Ensure you're ahead of the game with your studio's productions.
+- [Studio Occupancy](/guides/tracking-reporting/studio-occupancy/) -
+- [Production Overview](/guides/tracking-reporting/production-overview/) -
+- [Timesheets](/guides/tracking-reporting/timesheets/) -
+- [Durations vs Estimates](/guides/tracking-reporting/durations-vs-estimates/) -
+- [Advanced Search & Filters](/guides/tracking-reporting/filter/) - Hone in on key information with powerful search functionality.
+- [Main Schedule](/guides/tracking-reporting/main-schedule/) -
+- [Budget](/guides/tracking-reporting/budget/) -
+- [Thumbnails](/guides/tracking-reporting/thumbnails/) - How to apply thumbnails to assets and shots.
+
+### Privacy & Security
+
+- [Authentication](/guides/privacy-security/authentication/) -
+- [Logs](/guides/privacy-security/logs/) -
+
+## Recipes
+
+- [3D Background](/recipes/3d-background/) -
+
+## Resources
+
+- [Frequently Asked Questions](/resources/faq/) -
+- [Changelog](https://cgwire.canny.io/changelog) -
+
+## Tutorials
+
+Access comprehensive video tutorials on YouTube, highlighting crucial functionalities of Kitsu. Click the link below to view.
+
+[Kitsu Tutorials Channel](https://www.youtube.com/playlist?list=PLp_1gB5ZBHXqnQgZ4TCrAt7smxesaDo29)
+
+## About the Authors
+
+Kitsu is written by CG Wire, a company based in France. We help animation studios to manage their productions and build efficient pipelines.
+
+We adhere to software craftsmanship principles whenever feasible. Our passion for coding is reflected in our commitment to delivering robust quality and providing an exceptional developer experience. With our extensive expertise, we help studios navigate the complexities of production, fostering more efficient collaboration, quicker delivery, resulting in better pictures.
+
+Visit [cg-wire.com](https://cg-wire.com) for more information.
+
+[](https://cg-wire.com)
diff --git a/docs/installation/README.md b/docs/installation/README.md
deleted file mode 100644
index fddfa32e83..0000000000
--- a/docs/installation/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# Open Source Setup
-
-## Cloud Hosting
-
-If your version of Kitsu is hosted and maintained by CGWire, you don't have anything to install. Simply connect to the URL provided to you to start using Kitsu!
-
-## Self-Hosting
-
-To run properly, Kitsu requires Zou, the database API. Information related to the installation of both modules is located in the Zou installation documentation.
-
-* [Deploying Zou](https://zou.cg-wire.com/)
-* [Deploying Kitsu](https://zou.cg-wire.com/#deploying-kitsu)
-
-If you have technical skills, you can run Kitsu/Zou through Docker to try it out:
-
-```shell
-docker run -d -p 80:80 --name cgwire cgwire/cgwire
-```
-
-Then you can access Kitsu through [http://localhost](http://localhost).
-
-## Development Environment
-
-### Prerequisites
-
-Prior to setting up the Kitsu development environment, make sure you have the following elements installed:
-
-* [Node.js](https://nodejs.org) >= 20.18
-* A [Zou development instance](https://zou.cg-wire.com/development/) up and running on port 5000
-* A [Zou Events development instance](https://zou.cg-wire.com/development/) up and running on port 5001 (optional)
-
-### Using Docker Image
-
-You can use our [Docker image](https://hub.docker.com/r/cgwire/cgwire), but you will need to set two environment variables:
-
-* `KITSU_API_TARGET` (default: http://localhost:5000): The URL where the API can be reached.
-* `KITSU_EVENT_TARGET` (default: http://localhost:5001): The URL where the event stream can be reached.
-
-In that case, run the development environment with the following command:
-
-```shell
-KITSU_API_TARGET=http://localhost/api KITSU_EVENT_TARGET=http://localhost npm run dev
-```
-
-The credentials for the Docker image are: admin@example.com / mysecretpassword
-
-## Development
-
-To start modifying Kitsu, clone the repository:
-
-```shell
-git clone https://github.com/cgwire/kitsu.git
-```
-
-Then download the dependencies:
-
-```shell
-cd kitsu
-npm install
-```
-
-Finally, start the development environment and view the results at `http://localhost:8080`:
-
-```shell
-npm run dev
-```
-
-Any changes will automatically update the page.
-
-## Build
-
-To build your code, run this command:
-
-```shell
-npm run build
-```
-
-## Tests
-
-Run tests with the following command:
-
-```shell
-npm run test:unit
-```
-
-## Architecture
-
-Kitsu is based on the [Vue.js](https://vuejs.org/guide/) framework. The Vue.js documentation is exhaustive and very clear. We encourage you to read it before making significant changes to the code.
-
-The architecture is based on [Vuex](https://vuex.vuejs.org) and [vue-router](https://router.vuejs.org). Their documentation is also very good, and we recommend reading it. The main idea is that:
-
-* URL routes give the main context.
-* Views are described in components through HTML, CSS, and small pieces of JavaScript.
-* Shared state is stored inside stores, which are modified through mutations (a kind of event bus to request state changes) and actions.
-* Actions are similar to mutations but allow asynchronous operations. Mainly, actions fire mutations and send requests to the server.
-* Stores provide getters to access state properties from components.
-* Local change logic is kept inside components.
-* Getters, actions, and mutations must be testable without a browser.
diff --git a/docs/ja/README.md b/docs/ja/README.md
deleted file mode 100644
index 29846f419d..0000000000
--- a/docs/ja/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-# Kitsu ドキュメント
-
-[Kitsu](https://cg-wire.com/kitsu) は、アニメーションおよび VFX 制作のためのコラボレーションプラットフォームです。 そのクリーンな UI と共有データベースを通じて、アーティスト、制作マネージャー、スーパーバイザー、ベンダー、クライアントなど、制作プロセスに関わるすべての関係者を結びつけます。
-
-### Kitsuの紹介
-
-制作を成功させるために必要なKitsuの基本的なコンセプトを理解するためのリンクをいくつかご紹介します。
-
-* [Getting Started With Kitsu](configure-kitsu/README.md): Kitsuで使用される主な原則と一般的な用語を学び、制作ワークフローをよりよく計画しましょう。
-* [Preparing Your Team](team/README.md): チームメンバーを準備し、各メンバーの部署と権限を定義します。
-
-### 制作物の作成
-
-以下では、作成を検討している制作物の種類に合わせたガイドをご覧いただけます。
-
-* [テレビ番組制作物の作成](tvshow/README.md) アセット、ショット、シーケンス、エピソード、編集を使用してテレビ番組制作物を作成します
-* [長編映画制作物の作成](feature/README.md) アセット、ショット、シーケンス、編集を使用して長編映画制作物(約1,000エンティティ)を作成します。
-* [ショート制作の作成](short/README.md): ショート制作(約500のアセットとショット)を、アセット、ショット、シーケンス、編集で作成します。
-* [ショットのみの制作の作成](short-shot/README.md) ショート制作(約500ショット)を、ショット、シーケンス、編集のみで作成します
-* [アセットのみの制作を作成する](short-asset/README.md) アセットのみを使用した短い制作(約500アセット)を作成します。
-* [ビデオゲーム制作を作成する](videogame/README.md) アセット、マップ、レベル、チャプター(テレビ番組として)を使用したビデオゲーム制作を作成します。
-* [NFTコレクションを作成する](nft/README.md) アセットとNFTコレクションを使用したNFTコレクションを作成します。
-
-### メタカラム、フィルター、制作設定
-
-* [メタカラム](meta-column/README.md): 制作物のメタデータの作成と整理方法について学びます。
-* [フィルター](filter/README.md): 強力な検索機能で重要な情報に絞り込みます
-* [制作固有のワークフロー設定](configure-prod/README.md): さまざまな強力な設定で、特定の制作物を好みに合わせて微調整します。
-
-### 割り当て、見積もり、スケジュール
-
-このセクションでは、Kitsuの主な使用例をいくつかご紹介します。
-
-* [タスクの割り当て](assignation/README.md): チームに誰かを追加し、タスクを割り当てる方法を学びます。
-* [見積もり & チームのノルマ](estimation/README.md): タスクの完了までに必要な日数(入札)を計算する方法と、チームの効率性を確認する方法を学びます。
-* [スケジュール](schedules/README.md): スタジオレベルからタスクレベルまで、Kitsuのさまざまなスケジュール機能を確認できます。
-
-### ステータス、公開、サムネイル
-
-作業を整理し、チームにその進捗状況を通知する方法
-
-* [ステータスとフィードバック](status/README.md): ステータスの変更方法と、作業の進捗状況をチームに知らせる方法。
-* [公開](publish/README.md): 作業を公開し、チームと共有する方法。
-* [サムネイル](thumbnails/README.md): アセットとショットにサムネイルを適用する方法。
-
-### 社内レビューとクライアントのプレイリスト
-
-社内および社外レビューの整理方法:
-
-* [レビュー](review/README.md): タスクに関するすべてのフィードバックを確認する方法を学びましょう。
-* [デイリーおよびウィークリーレビュー](review-weekly/README.md): ビデオ版を素早く収集し、レビューに集中しましょう。
-* [クライアント用プレイリスト](playlist-client/README.md): 管理された環境でクライアントと作業を収集し、共有しましょう。
-
-
-### スーパーバイザーのワークフロー
-
-スーパーバイザーの場合、Kitsu を使用する際のユースケースは制作チームの場合とは異なる場合があります。
-
-* [部署の管理](supervisor-team/README.md): チームを効果的に管理し監督する方法を発見します。
-* [タスクの監督](supervisor-tasks/README.md): タスクの割り当てを常に把握する方法を学びます。
-
-### プロデューサーのワークフロー
-
-プロデューサーとして、詳細から全体像へと視点を移す能力を習得することは不可欠です。
-
-* [制作レポートの作成](production-report/README.md): 制作レポートを作成するために必要なすべてを学びましょう。
-* [スタジオレポートの作成](studio-report/README.md): スタジオの制作で常に一歩先を行くために。
-
-
-### 開発者のワークフロー
-
-開発者の方は、スタジオのパイプライン内でKitsuを拡張および統合するための可能性について、いくつかご確認ください。
-
-* [カスタムアクション](custom-actions/README.md): カスタムアクションは、現在のKitsuの選択からカスタムエンドに情報を送信するシンプルなHTTPリクエストです。
-* [Bots](bots/README.md): 主な用途は、gazu(KitsuのPythonクライアント)を使用したスクリプト作成、および当社のAPIを使用できるその他の用途です。
-* [Kitsu Publisher](publisher/README.md): 制作の進捗状況を共有し、配信を検証するために使用するウェブアプリケーションです。
-* [チャット統合](chat-integration/README.md): Discord、Slack、Mattermostなどの人気メッセージングアプリに直接Kitsuの通知を受け取ることができます。
-* [オープンソースセットアップ](installation/README.md): スタジオ環境内でローカルバージョンのKitsuをセルフデプロイする方法について学びます。
-
-
-
-
-### チュートリアル
-
-Kitsuの重要な機能に焦点を当てた、YouTubeの包括的なビデオチュートリアルにアクセスできます。下記リンクをクリックしてご覧ください。
-
-[Kitsuチュートリアルチャンネル](https://www.youtube.com/playlist?list=PLp_1gB5ZBHXqnQgZ4TCrAt7smxesaDo29)
-
-
-### 著者について
-
-Kitsuは、フランスに拠点を置くCG Wire社によって開発されました。当社は、アニメーションスタジオの制作管理と効率的なパイプライン構築を支援しています。
-
-可能な限り、ソフトウェア職人の原則に従っています。当社のコーディングに対する情熱は、堅牢な品質の提供と優れた開発者体験の提供に対する当社の取り組みに反映されています。当社の幅広い専門知識を活用し、スタジオが制作の複雑性を克服し、より効率的なコラボレーション、より迅速な納品を実現し、より優れた画像の制作を支援しています。
-
-詳細については、[cg-wire.com](https://cg-wire.com)をご覧ください。
-
-[](https://cg-wire.com)
diff --git a/docs/ja/artist/README.md b/docs/ja/artist/index.md
similarity index 100%
rename from docs/ja/artist/README.md
rename to docs/ja/artist/index.md
diff --git a/docs/ja/assignation/README.md b/docs/ja/assignation/index.md
similarity index 95%
rename from docs/ja/assignation/README.md
rename to docs/ja/assignation/index.md
index 4e65b81ccf..2bd935a8a5 100644
--- a/docs/ja/assignation/README.md
+++ b/docs/ja/assignation/index.md
@@ -15,7 +15,7 @@
## チームにユーザーを追加する
-チームの準備に関するセクション](../team/README.md)では、Kitsuにユーザーを追加する方法、そのユーザーの権限レベルを設定する方法、およびユーザーを部署にリンクする方法について説明しています。
+チームの準備に関するセクション](../team)では、Kitsuにユーザーを追加する方法、そのユーザーの権限レベルを設定する方法、およびユーザーを部署にリンクする方法について説明しています。
::: ヒント
ユーザーにタスクを割り当てるには、まずそのユーザーをプロダクションに追加する必要があります。プロダクション外のユーザーにはタスクを割り当てることができないことにご注意ください。
diff --git a/docs/ja/bots/README.md b/docs/ja/bots/README.md
deleted file mode 100644
index 39ab927b9b..0000000000
--- a/docs/ja/bots/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# ボット
-
-Kitsuのボットは、自動化されたタスクを実行できる非物理的なユーザーです。これにより、実際のユーザーとしてログインすることなく、スクリプトを実行したり、KitsuのAPIとやりとりしたりすることができます。
-
-::: ヒント
-ボットはアクティブユーザーとしてカウントされないため、契約プランに関係なく、必要な数だけ作成することができます。
-:::B
-
-## ボットを使用する理由
-
-ボットの主な用途は、Gazu や Kitsu API を使用できるその他のアプリケーションでのスクリプト作成です。ボットは、実ユーザーに限定されているものを除き、ほぼすべての API ルートにアクセスできます。
-
-主な利点:**
-- 自動化されたタスクやスクリプトの実行
-- Kitsu API とのやりとり
-- トークンを使用することでシステムセキュリティを維持
-
-## ボットの作成方法
-
-::: 警告
-初めてボットを作成すると、**JWTトークン**が発行されます。このトークンはAPIへの接続に不可欠ですので、安全に保管してください。
-:::
-
-1. **ボットページに移動します。**メインメニューの管理セクションで、ボットページに移動します。
-
-
-
-2. **新しいボットを追加:** [新しいボット] ボタンをクリックします。  ポップアップウィンドウが表示され、ボットの詳細を入力できます。
-
-- **名前:** ボットに名前を付けます。
-- **有効期限:** 必要に応じて有効期限を設定します。
-- **部署:** ボットを特定の部署にリンクします。
-- **役割:** ボットの役割を定義します。
-- **アクティブ:** ボットをアクティブにするか非アクティブにするかを選択します。
-
-
-
-3. **ボットの作成:** 詳細を入力し、**ユーザー作成**をクリックします。
-
-
-
-新しいポップアップにボットの**APIトークン**が表示されます。
-
-
-
-## ボットの管理
-
-ボットページでは、他のユーザーと同様に、ボットを管理することができます。例えば、以下の操作が可能です。
-- 役割の割り当て
-- 有効期限の設定
-- ステータスの変更(アクティブまたは非アクティブ
-
-## ボットの使用例
-
-以下は、ボットを使用してプロジェクト**MyProduction**全体を取得するためのスクリプトの例です。
-
-```js
-import gazu
-gazu.set_host(「yourkitsu.cg-wire.com/api/」)
-gazu.set_token(「my_jwt_token」)
-p = gazu.project.get_project_by_name(「MyProduction」)
-```
-
-このスクリプトは、実際のユーザーのログイン認証情報を使用せずに、ボットを使用してKitsu APIとやりとりする方法を示しています。必要に応じて、コメントを公開するボットがある場合は、そのボットに実際のユーザーと同じ権限を付与して、権限を考慮することができます。
-
-## セキュリティに関する考慮事項
-
-ボットのトークンが侵害された場合は、新しいトークンを再生成することで、古いトークンを無効にすることができ、システムのセキュリティを確保することができます。
diff --git a/docs/ja/chat-integration/README.md b/docs/ja/chat-integration/README.md
deleted file mode 100644
index 69c660c10b..0000000000
--- a/docs/ja/chat-integration/README.md
+++ /dev/null
@@ -1,183 +0,0 @@
-# チャットの統合
-
-## Discordの統合
-
-### ボットアカウントの作成
-
-1. [Discordウェブサイト](https://discord.com/)にログインしていることを確認してください。
-2. [アプリケーションページ](https://discord.com/developers/applications)に移動します。
-3. 「新規アプリケーション」ボタンをクリックします。
-4. アプリケーションに名前を付け(例:「Kitsu」)、「作成」をクリックします。
-
-
-
-5. 「Bot」タブに移動し、「Add Bot」をクリックして、Botユーザーを作成します。
-「Yes, do it!」をクリックして続行します。
-
-
-
-6. 「Username」の隣にあるアイコンをクリックすると、ボットのアイコンを追加できます。このアイコンはボットがチャットを行う際に使用されます。
-
-7. 他のユーザーにボットを招待してもらいたい場合は、「Public Bot」にチェックが入っていることを確認してください。
-
-
-
-8. ボットが他のメンバーを確認できるようにするには、「Server Members Intent」にチェックが入っていることを確認してください。
-
-
-
-9. 「Copy」ボタンをクリックしてトークンをコピーします。
-
-10. Kitsuの「設定」画面で、テキストフィールド「Discord token (optional)」にトークンを貼り付け、「Save settings」をクリックします。
-
-
-
-### ボットの招待
-
-ボットユーザーを作成したら、それをサーバーに追加する必要があります。以下の手順に従ってください。
-
-1. [Discord ウェブサイト](https://discord.com/) にログインしていることを確認してください。
-2. [アプリケーションページ](https://discord.com/developers/applications) に移動します。
-3. ボットのページをクリックします。
-4. 「OAuth2」タブから「URL Generator」に進みます。
-5. 「Scopes」で「bot」のみにチェックを入れます。
-
-
-
-6. 「Bot Permissions」で「Send Messages」のみにチェックを入れます。
-
-
-
-7. 生成されたURLを使用して、サーバーにボットを追加します。URLをブラウザにコピー&ペーストし、ボットを招待するサーバーを選択して、「Authorize(認証)」をクリックします。
-
-> **_注意:_** ボットを追加するには、そのユーザーに「Manage Server(サーバー管理)」権限が必要です。
-
-> **_注意:_** 通知を有効にするには、ユーザーはボットと同じサーバー上にいる必要があります。
-
-### Discord 通知を有効にする
-
-各ユーザーは、プロフィールで Discord にプッシュ通知を設定できます。「Discord 通知を有効にする」を「はい」に切り替え、「Discord ユーザー名」(フォーマットは username#number)を入力する必要があります。
-
-
-
-完了です!
-
-## Slack 統合
-
-Slack との連携には、Slack スペースに専用のアプリケーションを作成する必要があります。以下の手順で設定を進めてください。
-
-### Slack に Kitsu アプリケーションを作成
-
-まず、[https://api.slack.com/apps](https://api.slack.com/apps) に接続します。
-
-「新しいアプリを作成」ボタンをクリックします。
-
-
-
-名前に「Kitsu」と入力し、Kitsuインスタンスとリンクするワークスペースを選択します。
-
-
-
-
-適切な権限を設定する
-
-アプリを作成したら、リストからアプリの名前をクリックしてアプリのページに移動します。「基本情報」セクションに移動し、右下の「権限」ボタンをクリックします。
-
-
-
-スコープセクションで、必要な権限を追加します。
-
-
-
-必要な権限のスコープは `chat:write:bot` です。
-
-
-
-
-### ワークスペースにアプリをインストール
-
-ワークスペースにアプリをインストールします。「アプリのインストール」セクションに移動し、「ワークスペースにアプリをインストール」ボタンをクリックしてインストールします。
-
-
-
-インストールを確認します。
-
-
-
-これで、Kitsu Slack アプリが稼働しました。あとは、Slack ワークスペースに送信される通知に Kitsu をリンクするだけです。
-
-### トークンの取得
-
-*アプリのインストール*セクションに戻ります。Kitsu インスタンスを Slack にリンクするために必要なトークンが表示されます。
-
-
-
-### Kitsuを新しいSlackアプリケーションにリンク
-
-有効なトークンを使って、Kitsuの設定ページに移動し、トークンを入力します。
-
-
-
-### プロフィールでSlack通知を有効にする
-
-最後に、プロフィールセクションでSlack通知をオンにします。Slackのプロフィールで「その他」をクリックすると表示される、Slackで使用しているメンバーIDを入力します。
-
-
-
-
-
-Kitsuのプロフィールで、Slack通知を「オン」に設定し、Slackのニックネームを入力します。
-
-
-
-これで、Slackワークスペースで直接通知を受け取ることができます!
-
-
-
-## Mattermost 統合
-
-### 受信 Webhook、カスタムユーザー名、Webhook 用プロフィール画像を有効にする
-
-1. Mattermost サーバーにシステム管理アカウントでログインしていることを確認してください。
-2. Mattermost インストールで受信 Webhook を受信でき、Webhook 用にカスタムユーザー名とプロフィール画像を設定できるか確認してください。
-1. 「システムコンソール」 --> 「統合」 --> 「統合管理」に進みます。
-
-
-
-2. パラメータ「Enable incoming Webhooks」、「Enable integrations to override usernames」、および「Enable integrations to override profile picture icons」が「true」に設定されていることを確認します。
-
-
-
-### MattermostでWebhookを設定する
-
-1. Mattermostサーバーにシステム管理アカウントでログインしていることを確認してください。
-2. 「Integrations」 --> 「Incoming Webhooks」 --> 「Add incoming Webhook」の順にアクセスします。
-
-
-
-3. 受信Webhookを作成します。
-
-
-
-* **Title**: Kitsu
-* **Description**: Kitsu
-* **Channel**: メッセージはユーザーに送信されるので、新しいチャンネルを作成するか、既存のチャンネルを使用します。
-* **Lock to this channel**: False に設定します。
-* **Username**: Kitsu (これは Kitsu によって上書きされます)。
-* **プロフィール画像**: 重要ではありません。Kitsuによって上書きされます。
-
-4. 「保存」をクリックすると、Mattermostが新しいURLを生成します。このURLをコピーします。
-
-5. Kitsuの「設定」で、テキストフィールド「Mattermost Webhooks (オプション)」にURLを貼り付け、「設定を保存」をクリックします。
-
-
-
-> **_注意:_** 通知を有効にしたいユーザーは、これらの手順で使用したのと同じ Mattermost サーバー上に存在していなければなりません。
-
-### Mattermost 通知を有効にする
-
-各ユーザーは、プロフィールで Mattermost にプッシュ通知を行うように設定できます。「Mattermost 通知を有効にする」を「はい」に切り替え、「Mattermost ユーザー名」を入力する必要があります。
-
-
-
-完了です!
diff --git a/docs/ja/configure-kitsu/README.md b/docs/ja/configure-kitsu/index.md
similarity index 99%
rename from docs/ja/configure-kitsu/README.md
rename to docs/ja/configure-kitsu/index.md
index 3ce2ac644d..6540511374 100644
--- a/docs/ja/configure-kitsu/README.md
+++ b/docs/ja/configure-kitsu/index.md
@@ -50,7 +50,7 @@ Kitsuには2種類の**ライブラリ**があります。
メタデータ列が部署に関連付けられている場合、その列は、その部署内のユーザーのみに表示されます。メタデータ列が部署に関連付けられていない場合、その列は、すべてのユーザーに表示されます。
-::: ヒント
+::: ヒント
デフォルトでは、Kitsuは、作業を開始する際に役立ついくつかのサンプル部署を提供しています。
:::
@@ -75,7 +75,7 @@ Kitsuには2種類の**ライブラリ**があります。
変更を保存するには、**Confirm**をクリックします。
-部門の作成が完了すると、ページは次のようになります。各部門には固有の名前と色が割り当てられています。
+部門の作成が完了すると、ページは次のようになります。各部門には固有の名前と色が割り当てられています。

@@ -91,7 +91,7 @@ Kitsuには2種類の**ライブラリ**があります。

-::: ヒント
+::: ヒント
デフォルトでは、KitsuはCGI制作で使用できるいくつかのサンプルタスクタイプを提供しています。制作に関連のないものは、名前を変更したり削除したりすることができます。
:::
@@ -120,7 +120,7 @@ Kitsuには2種類の**ライブラリ**があります。
**確認**をクリックして変更を保存します。
-::: 警告
+::: 警告
新しく作成したタスクタイプはリストの一番下に表示されます
:::
@@ -132,7 +132,7 @@ Kitsuには2種類の**ライブラリ**があります。
-おめでとうございます。これで、お客様の**グローバルライブラリ**にタスクタイプが作成されました。
+おめでとうございます。これで、お客様の**グローバルライブラリ**にタスクタイプが作成されました。
::: 警告
制作を作成したら、**シーケンス**、**エピソード**、**編集**の各タスクタイプを**制作ライブラリ**に追加する必要があります。
@@ -352,7 +352,7 @@ Ready For**ステータスで変更を開始するには、トリガーを「ス
デフォルトの Kitsu ロゴをスタジオのロゴに置き換えるなど、スタジオに適用されるいくつかのグローバル設定を構成することができます。
-これを行うには、メインメニューボタン
+これを行うには、メインメニューボタン
 をクリックし、**管理**セクションで**設定**をクリックします。

@@ -370,7 +370,7 @@ Ready For**ステータスで変更を開始するには、トリガーを「ス

-最後に、さまざまなチャット統合に関する設定も見つかります。設定方法の詳細については、[Chat Integration](../chat-integration/README.md) セクションを参照してください。
+最後に、さまざまなチャット統合に関する設定も見つかります。設定方法の詳細については、[Chat Integration](../chat-integration/index.md) セクションを参照してください。
::: 警告
作業が完了したら、最後に必ず**設定を保存**してください。
diff --git a/docs/ja/configure-prod/README.md b/docs/ja/configure-prod/index.md
similarity index 100%
rename from docs/ja/configure-prod/README.md
rename to docs/ja/configure-prod/index.md
diff --git a/docs/ja/custom-actions/README.md b/docs/ja/custom-actions/README.md
deleted file mode 100644
index e417400667..0000000000
--- a/docs/ja/custom-actions/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# カスタムアクション
-
-## カスタムアクションとは?
-
-カスタムアクションとは、現在選択されているKitsuの情報をカスタムエンドポイントに送信するシンプルなHTTPリクエストです。 基本的に、ユーザーがKitsuのUIにいる場合、選択された要素のIDを含むリクエストを別のサーバーに送信することができます。
-
-### 目的
-
-目標は、Kitsu/Zouのコアコードを変更することなく、Kitsu以外のアクションを作成することです(プラグインシステムが利用可能になるまで)。基本的には、ご自身で管理するページやサービスへのウェブリクエスト、通常はPOST(GETも可能)です。リクエストをキャッチし、それを使ってアクションを実行します。
-
-例としては、
-
-- デバッグページ(フィールド名など、指定のオブジェクトのアクセス可能な情報をすべて表示する)
-- CGRUまたはFlamencoでレンダリングを起動する
-- APM用の統計ページを生成する
-- 特別なプレイリストを作成する
-- カスタムプロトコル(サービスが待機)を起動して、ビデオプレーヤー、DCCなどを開始する
-- Kabaretなどのアセットマネージャーと統合して、適切な場所でアセットを開いたり、アクションを起動する
-
-カスタムアクションは、リクエストをキャッチできるものであれば何でも可能です(例えば、Flask や Tornado.web などの Python ウェブサーバーを使用)。 カスタムアクションは、あなたが管理するシステムに Kitsu を拡張するために設計されています。
-
-現在の選択、閲覧中のページ、アクションを起動したユーザーなど、リクエストをキャッチしたものには、便利な情報が提供されます。提供された情報に基づいて応答を適応させることができます。
-
-ユーザーにフィードバックを提供する必要がない場合は、カスタムアクションをバックグラウンドで実行することもできます(新しいページを開く代わりにAJAXリクエストを使用)。
-
-
-## カスタムアクションの設定方法
-
-### 作成
-
-カスタムアクションの設定は、スタジオマネージャーのみが行うことができます。 カスタムアクションページは、管理セクションの右パネルで利用できます。
-
-カスタムアクションページにアクセスできる場合、右上にある追加ボタンから新しいアクションを作成できます。 アクションの作成には、以下の4つの情報が必要です。
-
-
-
-- **名前**:アクションの名前。
-- **URL**:ターゲットURL(Kitsuのインストールと同じドメインを使用することを強くお勧めします)。
-- **エンティティタイプ**:カスタムアクションが利用可能なエンティティの種類。
-- **AJAXを使用**:リクエストをAJAXリクエストとして送信する必要があるか、フォームとして送信する必要があるかを指定します。
-
-アクションが作成されると、アクションのトップバーからアクセスできるようになります。ユーザーがアセットまたはショットリストでタスクを選択し、「**カスタムアクションの実行**」セクションに移動すると、現在の選択に対してカスタムアクションを実行できるようになります。
-
-### カスタムアクション経由で送信されるデータ
-
-データはJSON形式で送信されます。データには、以下のフィールドを持つオブジェクトが含まれます。
-
-* `personid`:アクションを要求するユーザーのID。
-* `personemail`: アクションを要求するユーザーのメールアドレス。
-* `projectid`: 選択されたエンティティのプロジェクトID。
-* `currentpath`: Kitsuウェブアプリケーションの現在のURLパス。
-* `currentserver`: カスタムアクションを送信するKitsuのホスト。
-* `selection`: 選択されたタスクIDのリスト。
-* `entitytype`: タスクが選択されたエンティティの種類。
-
-例:
-```
-{
-「personid「: 」b01bae1e-f829-458a-a1eb-131bb66628cc「,
-「personemail」: 「admin@example.com」,
-「projectid「: 」fa4d7f04-b8e0-4518-8dbc-2f24997ca76e」,
-「currentpath「: 」/productions/fa4d7f04-b8e0-4518-8dbc-2f24997ca76e/assets「,
-「currentserver」: 「localhost」,
-「selection「: 」95c171e1-dfff-498f-93e3-548a739e3202」,
-「entitytype「: 」asset」
-}
-```
diff --git a/docs/ja/estimation/README.md b/docs/ja/estimation/index.md
similarity index 98%
rename from docs/ja/estimation/README.md
rename to docs/ja/estimation/index.md
index 9490dc365b..d3297cd66e 100644
--- a/docs/ja/estimation/README.md
+++ b/docs/ja/estimation/index.md
@@ -71,7 +71,7 @@ Kitsuは、タスクの見積もりを簡単に追跡、確認、予測できる
右側の**見積もり**(日数)を変更するたびに、**平均ノルマ**がリアルタイムで更新されます。
-**スケジュール**タブの詳細については、[タスクタイプのスケジュール](../schedules/README.md#Set-a-Task-Estimation)を参照してください。
+**スケジュール**タブの詳細については、[タスクタイプのスケジュール](../schedules/index.md#Set-a-Task-Estimation)を参照してください。
## ノルマ
### チームのスピードを把握するためのノルマの使用
diff --git a/docs/ja/faq/README.md b/docs/ja/faq/index.md
similarity index 100%
rename from docs/ja/faq/README.md
rename to docs/ja/faq/index.md
diff --git a/docs/ja/feature/README.md b/docs/ja/feature/index.md
similarity index 97%
rename from docs/ja/feature/README.md
rename to docs/ja/feature/index.md
index 398306d321..88d711403b 100644
--- a/docs/ja/feature/README.md
+++ b/docs/ja/feature/index.md
@@ -1,6 +1,6 @@
# 長編映画制作の作成
-Kitsuでワークフローを設計し、より多くの人を招待したので、今度は制作を作成します。
+Kitsuでワークフローを設計し、より多くの人を招待したので、今度は制作を作成します。
[新しい制作を作成]ボタンをクリック
します。
@@ -32,16 +32,16 @@ Kitsuでワークフローを設計し、より多くの人を招待したので
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成することができます。
-[スタジオワークフロー](../first_production/README_configure_Kitsu.md#studio-workflow) のセクションを参照してください。
+[スタジオワークフロー](../configure-kitsu/index.md#studio-workflow) のセクションを参照してください。
:::
次に、7と8はオプション部分です。アセット/ショットの一覧が記載されたスプレッドシートがすでに用意されている場合は、
**インポートCSV**のセクションを参照してください。
-[アセットのインポート](../batch-action/README.md#create-assets-from-a-csv-spreadsheet-file)
+アセットのインポート
-[ショットのインポート](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+ショットのインポート
 ボタンですべてを検証します。
@@ -73,7 +73,7 @@ Kitsuのグローバルアセットページへようこそ。
::: 詳細 メインメニューの詳細
**ワークスペース**
-- マイタスク:割り当てられたタスク
+- マイタスク:割り当てられたタスク
- マイチェック:あなたの部署に応じて、ステータスが**フィードバックリクエスト**となっているすべてのタスク
- マイプロダクション:プロダクションページの選択に戻ります。
@@ -357,11 +357,11 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。すでにデータを記入している場合は、ここで直接修正できます。
+**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。すでにデータを記入している場合は、ここで直接修正できます。

-さまざまなタスクタイプでアップロードされた**プレビューファイル**、
+さまざまなタスクタイプでアップロードされた**プレビューファイル**、

@@ -396,7 +396,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs
アセットのメインページの説明を拡張するには、最初の語句 (2) をクリックすると、説明の全文を含むポップアップが開きます。
-アセットを削除するには、FAQ : [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ : アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
@@ -580,9 +580,9 @@ Kitsu は、コメントパネルの上部にリンクされたアセットを
:::
-ショットを削除するには、FAQを参照してください。 : [ショットの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+ショットを削除するには、FAQを参照してください。 : ショットの削除方法
-シーケンスを削除するには、FAQを参照してください。 : [シーケンスの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+シーケンスを削除するには、FAQを参照してください。 : シーケンスの削除方法
@@ -696,7 +696,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。すでにデータを記入している場合は、ここで直接修正できます。
+**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。すでにデータを記入している場合は、ここで直接修正できます。

@@ -812,7 +812,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、
**CSVインポート**を使用して、フレーム範囲をすばやく更新することもできます。
-[CSVインポートでショット情報を更新](../batch-action/README.md#update-shots-information-with-csv-import)
+CSVインポートでショット情報を更新
ショット値の履歴にもアクセスできます。
@@ -844,7 +844,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-::: 警告
+::: 警告
**テキスト**、**数値**、および**チェックボックス**では、各エンティティに対して異なる情報を追加することができます。 最初に計画する必要はありません。
**値のリスト**、**タグのリスト**、および**チェックリスト**では、各エンティティに対して同じ選択肢が提供されます。さらに、これは現在入力する必要があります。
@@ -921,7 +921,7 @@ Kitsuでは、**シーケンス**レベルでタスクを追跡することも
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、それを**
プロダクションライブラリ**(設定ページ)に追加します。
@@ -975,7 +975,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、**プロダクションライブラリ**に追加します。
@@ -1126,7 +1126,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -1168,7 +1168,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
::: ヒント
**自動化**を使用して、重労働を軽減することができます。
-「準備完了」トリガーで自動化を設定できます。
+「準備完了」トリガーで自動化を設定できます。
:::
アセットの状態をいくつか「準備完了」に変更したので、ショットページで結果を確認できます。
diff --git a/docs/ja/filter/README.md b/docs/ja/filter/index.md
similarity index 99%
rename from docs/ja/filter/README.md
rename to docs/ja/filter/index.md
index 7d3ef68098..facb0f2ae9 100644
--- a/docs/ja/filter/README.md
+++ b/docs/ja/filter/index.md
@@ -105,7 +105,7 @@ Kitsuには数千もの要素が存在すると予想されるため、処理を

-::: 警告
+::: 警告
最初のオプション「**以下のすべてのフィルタに一致**」では、フィルタビルダーで選択したすべてのオプションがフィルタリングに使用されます。
- タスクのステータス
@@ -191,10 +191,10 @@ Kitsuには数千もの要素が存在すると予想されるため、処理を
ヒント
優先度についての詳細は、
-[優先度の変更](../estimation/README.md#change-priorities)
+[優先度の変更](../estimation/index.md#change-priorities)
を参照してください。
-まず、タスクタイプを選択し、次に以下のいずれかを選択します。
+まず、タスクタイプを選択し、次に以下のいずれかを選択します。
- **通常**(優先度のデフォルトレベル)
- **高**
- **非常に高い**
@@ -216,7 +216,7 @@ Kitsuには数千もの要素が存在すると予想されるため、処理を
ショットページでは、これらのタスクのすべてのアセットが準備完了であるかどうかを確認します(「制作物の作成」を参照)。
::: 警告
-**準備完了**のフィルタリングは、**1つ**のタスクタイプのみ可能です
+**準備完了**のフィルタリングは、**1つ**のタスクタイプのみ可能です
複数の**準備完了**フィルタを追加することはできません。
:::
diff --git a/docs/ja/getting-started-client/README.md b/docs/ja/getting-started-client/index.md
similarity index 100%
rename from docs/ja/getting-started-client/README.md
rename to docs/ja/getting-started-client/index.md
diff --git a/docs/ja/index.md b/docs/ja/index.md
new file mode 100644
index 0000000000..0d71da6a45
--- /dev/null
+++ b/docs/ja/index.md
@@ -0,0 +1,114 @@
+
+
+
+
+# Kitsu ドキュメント
+
+[Kitsu](https://cg-wire.com/kitsu) は、アニメーションおよび VFX 制作のためのコラボレーションプラットフォームです。 そのクリーンな UI と共有データベースを通じて、アーティスト、制作マネージャー、スーパーバイザー、ベンダー、クライアントなど、制作プロセスに関わるすべての関係者を結びつけます。
+
+### Kitsuの紹介
+
+制作を成功させるために必要なKitsuの基本的なコンセプトを理解するためのリンクをいくつかご紹介します。
+
+* [Getting Started With Kitsu](./configure-kitsu/index.md): Kitsuで使用される主な原則と一般的な用語を学び、制作ワークフローをよりよく計画しましょう。
+* [Preparing Your Team](./team/index.md): チームメンバーを準備し、各メンバーの部署と権限を定義します。
+
+### 制作物の作成
+
+以下では、作成を検討している制作物の種類に合わせたガイドをご覧いただけます。
+
+* [テレビ番組制作物の作成](./tvshow/index.md) アセット、ショット、シーケンス、エピソード、編集を使用してテレビ番組制作物を作成します
+* [長編映画制作物の作成](./feature/index.md) アセット、ショット、シーケンス、編集を使用して長編映画制作物(約1,000エンティティ)を作成します。
+* [ショート制作の作成](./short/index.md): ショート制作(約500のアセットとショット)を、アセット、ショット、シーケンス、編集で作成します。
+* [ショットのみの制作の作成](./short-shot/index.md) ショート制作(約500ショット)を、ショット、シーケンス、編集のみで作成します
+* [アセットのみの制作を作成する](./short-asset/index.md) アセットのみを使用した短い制作(約500アセット)を作成します。
+* [ビデオゲーム制作を作成する](./videogame/index.md) アセット、マップ、レベル、チャプター(テレビ番組として)を使用したビデオゲーム制作を作成します。
+* [NFTコレクションを作成する](./nft/index.md) アセットとNFTコレクションを使用したNFTコレクションを作成します。
+
+### メタカラム、フィルター、制作設定
+
+* [メタカラム](./meta-column/index.md): 制作物のメタデータの作成と整理方法について学びます。
+* [フィルター](./filter/index.md): 強力な検索機能で重要な情報に絞り込みます
+* [制作固有のワークフロー設定](./configure-prod/index.md): さまざまな強力な設定で、特定の制作物を好みに合わせて微調整します。
+
+### 割り当て、見積もり、スケジュール
+
+このセクションでは、Kitsuの主な使用例をいくつかご紹介します。
+
+* [タスクの割り当て](./assignation/index.md): チームに誰かを追加し、タスクを割り当てる方法を学びます。
+* [見積もり & チームのノルマ](./estimation/index.md): タスクの完了までに必要な日数(入札)を計算する方法と、チームの効率性を確認する方法を学びます。
+* [スケジュール](./schedules/index.md): スタジオレベルからタスクレベルまで、Kitsuのさまざまなスケジュール機能を確認できます。
+
+### ステータス、公開、サムネイル
+
+作業を整理し、チームにその進捗状況を通知する方法
+
+* [ステータスとフィードバック](./status/index.md): ステータスの変更方法と、作業の進捗状況をチームに知らせる方法。
+* [公開](./publish/index.md): 作業を公開し、チームと共有する方法。
+* [サムネイル](./thumbnails/index.md): アセットとショットにサムネイルを適用する方法。
+
+### 社内レビューとクライアントのプレイリスト
+
+社内および社外レビューの整理方法:
+
+* [レビュー](./review/index.md): タスクに関するすべてのフィードバックを確認する方法を学びましょう。
+* [デイリーおよびウィークリーレビュー](./review-weekly/index.md): ビデオ版を素早く収集し、レビューに集中しましょう。
+* [クライアント用プレイリスト](./playlist-client/index.md): 管理された環境でクライアントと作業を収集し、共有しましょう。
+
+
+### スーパーバイザーのワークフロー
+
+スーパーバイザーの場合、Kitsu を使用する際のユースケースは制作チームの場合とは異なる場合があります。
+
+* [部署の管理](./supervisor-team/index.md): チームを効果的に管理し監督する方法を発見します。
+* [タスクの監督](./supervisor-tasks/index.md): タスクの割り当てを常に把握する方法を学びます。
+
+### プロデューサーのワークフロー
+
+プロデューサーとして、詳細から全体像へと視点を移す能力を習得することは不可欠です。
+
+* [制作レポートの作成](./production-report/index.md): 制作レポートを作成するために必要なすべてを学びましょう。
+* [スタジオレポートの作成](./studio-report/index.md): スタジオの制作で常に一歩先を行くために。
+
+
+### 開発者のワークフロー
+
+開発者の方は、スタジオのパイプライン内でKitsuを拡張および統合するための可能性について、いくつかご確認ください。
+
+* [カスタムアクション](./custom-actions/index.md): カスタムアクションは、現在のKitsuの選択からカスタムエンドに情報を送信するシンプルなHTTPリクエストです。
+* [Bots](./bots/index.md): 主な用途は、gazu(KitsuのPythonクライアント)を使用したスクリプト作成、および当社のAPIを使用できるその他の用途です。
+* [Kitsu Publisher](./publisher/index.md): 制作の進捗状況を共有し、配信を検証するために使用するウェブアプリケーションです。
+* [チャット統合](./chat-integration/index.md): Discord、Slack、Mattermostなどの人気メッセージングアプリに直接Kitsuの通知を受け取ることができます。
+* [オープンソースセットアップ](./installation/index.md): スタジオ環境内でローカルバージョンのKitsuをセルフデプロイする方法について学びます。
+
+
+
+
+### チュートリアル
+
+Kitsuの重要な機能に焦点を当てた、YouTubeの包括的なビデオチュートリアルにアクセスできます。下記リンクをクリックしてご覧ください。
+
+[Kitsuチュートリアルチャンネル](https://www.youtube.com/playlist?list=PLp_1gB5ZBHXqnQgZ4TCrAt7smxesaDo29)
+
+
+### 著者について
+
+Kitsuは、フランスに拠点を置くCG Wire社によって開発されました。当社は、アニメーションスタジオの制作管理と効率的なパイプライン構築を支援しています。
+
+可能な限り、ソフトウェア職人の原則に従っています。当社のコーディングに対する情熱は、堅牢な品質の提供と優れた開発者体験の提供に対する当社の取り組みに反映されています。当社の幅広い専門知識を活用し、スタジオが制作の複雑性を克服し、より効率的なコラボレーション、より迅速な納品を実現し、より優れた画像の制作を支援しています。
+
+詳細については、[cg-wire.com](https://cg-wire.com)をご覧ください。
+
+[](https://cg-wire.com)
diff --git a/docs/ja/installation/README.md b/docs/ja/installation/README.md
deleted file mode 100644
index 7cd77c8d05..0000000000
--- a/docs/ja/installation/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# オープンソースのセットアップ
-
-## クラウドホスティング
-
-KitsuのバージョンがCGWireによってホスティングおよび管理されている場合は、インストールする必要はありません。 ご提供するURLに接続するだけで、Kitsuの使用を開始できます。
-
-## セルフホスティング
-
-Kitsuを適切に実行するには、ZouというデータベースAPIが必要です。 両方のモジュールのインストールに関する情報は、Zouのインストールドキュメントに記載されています。
-
-* [Zouのデプロイ](https://zou.cg-wire.com/)
-* [Kitsuのデプロイ](https://zou.cg-wire.com/#deploying-kitsu)
-
-技術的なスキルをお持ちの場合は、DockerでKitsu/Zouを実行して試すことができます。
-
-```shell
-docker run -d -p 80:80 --name cgwire cgwire/cgwire
-```
-
-その後、[http://localhost](http://localhost) から Kitsu にアクセスできます。
-
-## 開発環境
-
-### 前提条件
-
-Kitsu の開発環境をセットアップする前に、以下の要素がインストールされていることを確認してください。
-
-* [Node.js](https://nodejs.org) 20.18 以上
-* [Zou 開発インスタンス](https://zou.cg-wire.com/development/) がポート 5000 で稼働している
-* [Zou Events 開発インスタンス](https://zou.cg-wire.com/development/) がポート 5001 で稼働している(オプション)
-
-### Docker イメージの使用
-
-弊社が提供する [Docker イメージ](https://hub.docker.com/r/cgwire/cgwire) を使用することもできますが、その場合は以下の2つの環境変数を設定する必要があります。
-
-* `KITSU_API_TARGET` (デフォルト: http://localhost:5000): API にアクセスできる URL。
-* `KITSU_EVENT_TARGET` (デフォルト: http://localhost:5001): イベントストリームにアクセスできる URL。
-
-その場合は、次のコマンドで開発環境を実行します。
-
-```shell
-KITSU_API_TARGET=http://localhost/api KITSU_EVENT_TARGET=http://localhost npm run dev
-```
-
-Docker イメージの認証情報は次のとおりです。admin@example.com / mysecretpassword
-
-## 開発
-
-Kitsu の変更を開始するには、リポジトリをクローンします。
-
-```shell
-git clone https://github.com/cgwire/kitsu.git
-```
-
-次に、依存関係をダウンロードします。
-
-```shell
-cd kitsu
-npm install
-```
-
-最後に、開発環境を起動し、`http://localhost:8080` で結果を表示します。
-
-```shell
-npm run dev
-```
-
-変更があれば、ページが自動的に更新されます。
-
-## ビルド
-
-コードをビルドするには、次のコマンドを実行します。
-
-```shell
-npm run build
-```
-
-## テスト
-
-次のコマンドでテストを実行します。
-
-```shell
-npm run test:unit
-```
-
-## アーキテクチャ
-
-Kitsu は [Vue.js](https://vuejs.org/guide/) フレームワークをベースとしています。Vue.js のドキュメントは網羅的で非常にわかりやすいです。コードに大幅な変更を加える前に、ぜひ一読されることをお勧めします。
-
-アーキテクチャは [Vuex](https://vuex.vuejs.org) と [vue-router](https://router.vuejs.org) をベースとしています。 これらのドキュメントも非常に充実しており、ぜひお読みください。 主な考え方は以下の通りです。
-
-* URL ルートが主なコンテキストを提供します。
-* ビューは、HTML、CSS、および少量の JavaScript からなるコンポーネントで記述されます。
-* 共有状態はストア内に保存され、状態変更を要求するイベントバス(一種)であるミューテーション(mutation)とアクション(action)によって変更されます。
-* アクションはミューテーションに似ていますが、非同期処理が可能です。主に、アクションはミューテーションを実行し、サーバーにリクエストを送信します。
-* ストアは、コンポーネントから状態プロパティにアクセスするためのゲッターを提供します。
-* ローカルの変更ロジックはコンポーネント内に保持されます。
-* ゲッター、アクション、およびミューテーションは、ブラウザなしでもテスト可能でなければなりません。
diff --git a/docs/ja/meta-column/README.md b/docs/ja/meta-column/index.md
similarity index 97%
rename from docs/ja/meta-column/README.md
rename to docs/ja/meta-column/index.md
index df3fad4459..66ec049ff4 100644
--- a/docs/ja/meta-column/README.md
+++ b/docs/ja/meta-column/index.md
@@ -23,15 +23,15 @@
- **値のリスト**:
- このタイプでは、一意の要素を1つだけ選択できるオプションのリストを定義します。選択肢が限られているデータを追跡する際に最適です。例えば、カメラの動きを追跡する場合、「静止」、「パン」、「チルト」、「ズーム」などのオプションが考えられます。
-- **タグのリスト**:
-- ここでは、複数のタグを定義できます。1つの項目のみを選択できる値のリストとは異なり、このタイプではリストから複数のエントリを選択できます。
+- **タグのリスト**:
+- ここでは、複数のタグを定義できます。1つの項目のみを選択できる値のリストとは異なり、このタイプではリストから複数のエントリを選択できます。
-- **チェックリスト**:
+- **チェックリスト**:
このタイプでは、オプションのリストが提示され、それぞれにチェックボックスが付いています。 制作パイプラインにおいて独自のタスクとして扱うほどではない、ショットやアセットに関連する細かいサブタスクを追跡するのに便利です。

-:::警告
+:::警告
テキスト**および**数値**のメタデータタイプを作成する際、作成時にデフォルト値は必要ありません。
ただし、「**値のリスト**」、「**タグのリスト**」、および「**チェックリスト**」を使用する場合は、作成時に含める値を指定する必要があります。
@@ -45,7 +45,7 @@
メタデータカラムを1つまたは複数の部門にリンクすることもできます。アーティスト/スーパーバイザーは、自分のToDoページと部門フィルタリングされたビューでそれを見ることができます。
-部門をさらに作成するには、[部門の作成](../configure-kitsu/README.md#create-departments)を参照してください。
+部門をさらに作成するには、[部門の作成](../configure-kitsu/index.md#create-departments)を参照してください。
メタデータ列を1つまたは複数の部門にリンクすることができます。 リストから部門をクリックし、**追加**をクリックして確定します。
@@ -83,7 +83,7 @@

::::
-メタデータ列を編集または削除する必要がある場合は、メタデータ列の名前の隣にあるスプレッドシートのページで、矢印をクリックします。
+メタデータ列を編集または削除する必要がある場合は、メタデータ列の名前の隣にあるスプレッドシートのページで、矢印をクリックします。
::: ヒント
メタデータ列の編集や削除に加えて、ここから**ソート**をクリックして、新しい列でグローバルページを**ソート**することもできます。
@@ -101,13 +101,13 @@
これを行うには、ページの右上にある「追加情報の非表示」
 ボタンをクリックします。
-
+
情報を再度表示するには、同じボタンをクリックします。
 グレーでハイライトされません。
-
+
### メタデータカラムの表示または非表示
@@ -131,4 +131,3 @@


-
diff --git a/docs/ja/nft/README.md b/docs/ja/nft/index.md
similarity index 98%
rename from docs/ja/nft/README.md
rename to docs/ja/nft/index.md
index 12e9a7160e..5eef5b0a50 100644
--- a/docs/ja/nft/README.md
+++ b/docs/ja/nft/index.md
@@ -1,6 +1,6 @@
# NFTコレクションを作成する
-Kitsuでワークフローを設計し、より多くの人を招待したので、今度は作品を作成する番です。
+Kitsuでワークフローを設計し、より多くの人を招待したので、今度は作品を作成する番です。
**新しい作品を作成**ボタンをクリックします。
@@ -31,16 +31,16 @@ Kitsuでワークフローを設計し、より多くの人を招待したので
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成できます。
-「スタジオワークフロー」(../first_production/README_configure_Kitsu.md#studio-workflow)セクションを参照してください。
+「スタジオワークフロー」(../configure-kitsu/index.md#studio-workflow)セクションを参照してください。
:::
次に、7と8はオプション部分です。アセット/NFTコレクションの一覧が記載されたスプレッドシートがすでに用意されている場合。
詳細は「**CSVのインポート**」セクションを参照してください。
-[アセットのインポート](../batch-action/README.md#create-assets-from-a-csv-spreadsheet-file)
+アセットのインポート
-[NFTコレクションのインポート](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+NFTコレクションのインポート
ボタンですべてを確認します。
@@ -72,7 +72,7 @@ Kitsuのグローバルアセットページへようこそ。
::: 詳細 メインメニューの詳細
**ワークスペース**
-- マイタスク:割り当てられたタスク
+- マイタスク:割り当てられたタスク
- マイチェック:あなたの部署に応じて、ステータスが**フィードバックリクエスト**となっているすべてのタスク
- マイプロダクション:プロダクションページの選択に戻ります。
@@ -148,7 +148,7 @@ Kitsuのグローバルアセットページへようこそ。
アセットページから開始しますが、制作のホームページを他のエンティティに変更することができます(設定ページを参照)。
:::
-::: 警告
+::: 警告
エピソードなど、追加のナビゲーションレベルが必要になった場合は、プロダクションタイプを**テレビ番組**に変更する必要があります。
逆に、**アセット**や**NFTコレクション**が必要ない場合は、プロダクションタイプを**アセットのみ**または**NFTコレクションのみ**に切り替える必要があります。
@@ -356,7 +356,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -395,7 +395,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs
アセットのメインページの説明を拡張するには、最初の語句 (2) をクリックすると、説明の全文を含むポップアップが開きます。
-アセットを削除するには、FAQ : [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ : アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
@@ -579,9 +579,9 @@ NFTコレクションがシーケンス上で誤った場所に配置されて
:::
-NFTコレクションを削除するには、FAQを参照してください。 : [NFTコレクションの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+NFTコレクションを削除するには、FAQを参照してください。 : NFTコレクションの削除方法
-シーケンスを削除するには、FAQを参照してください。 : [シーケンスの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+シーケンスを削除するには、FAQを参照してください。 : シーケンスの削除方法
@@ -607,7 +607,7 @@ NFTコレクションの詳細を確認したい場合は、その名前をク

-**スケジュール**は、事前にタスクタイプページのデータを入力している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、事前にタスクタイプページのデータを入力している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -702,7 +702,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-::: 警告
+::: 警告
テキスト、数値、およびチェックボックスでは、各エンティティに異なる情報を追加できます。最初に計画する必要はありません。
リスト値、タグリスト、およびチェックリストでは、各エンティティに同じ選択肢が与えられます。さらに、これは現在入力する必要があります。
@@ -881,7 +881,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -923,7 +923,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、
::: ヒント
**自動化**機能を使用して、作業を自動化することができます。
-**準備完了**のトリガーで自動化を設定できます。
+**準備完了**のトリガーで自動化を設定できます。
:::
いくつかのアセットの状態を**準備完了**に変更したので、NFTコレクションページで結果を確認できます。
diff --git a/docs/ja/playlist-client/README.md b/docs/ja/playlist-client/index.md
similarity index 98%
rename from docs/ja/playlist-client/README.md
rename to docs/ja/playlist-client/index.md
index 2cc01d79d7..603c91bf17 100644
--- a/docs/ja/playlist-client/README.md
+++ b/docs/ja/playlist-client/index.md
@@ -4,7 +4,7 @@
クライアントとレビューを行うための最初のステップは、共有およびレビューしたいコンテンツのプレイリストを作成することです。このプロセスは通常のプレイリストの作成と似ていますが、Kitsuには、スタジオ外の関係者との共同作業を支援する便利な機能がいくつか含まれています。
-まず、プレイリストを作成し、レビューしたいアイテムを追加します。 作成方法については、このセクションを参照してください(../review/README.md#create-a-playlist)。
+まず、プレイリストを作成し、レビューしたいアイテムを追加します。 作成方法については、このセクションを参照してください(../review#create-a-playlist)。
主な違いは、「共有先」で「クライアント」を選択することです。これにより、適切な権限が確保され、クライアントにはこの特定のプレイリストへのアクセスのみが提供されます。
diff --git a/docs/ja/production-report/README.md b/docs/ja/production-report/index.md
similarity index 100%
rename from docs/ja/production-report/README.md
rename to docs/ja/production-report/index.md
diff --git a/docs/ja/production-report/specific_task_type_creation.txt b/docs/ja/production-report/specific_task_type_creation.txt
index c0598edc4d..3362f20b70 100644
--- a/docs/ja/production-report/specific_task_type_creation.txt
+++ b/docs/ja/production-report/specific_task_type_creation.txt
@@ -64,7 +64,7 @@ validate your choice with the "Add" button.
You can also see the sum up of the parameters of each status.
-(To add new Task Status, see [Customization of the workflow](../customization/README.md#create-a-new-task-status) )
+(To add new Task Status, see [Customization of the workflow](../customization#create-a-new-task-status) )
### Select specific Task Types for a production
@@ -75,7 +75,7 @@ Per default, Kitsu will load all the Task Types of your Task Types library into

But you can choose to use only specific Task Types, depending on the type of your production.
-(To add a new Task Type, see [Customization of the workflow](../customization/README.md#create-a-new-task-type) )
+(To add a new Task Type, see [Customization of the workflow](../customization#create-a-new-task-type) )
For example, you can create a 2D and A CGI workflow on your library and add the needed task types into this production.
diff --git a/docs/ja/publish/README.md b/docs/ja/publish/index.md
similarity index 98%
rename from docs/ja/publish/README.md
rename to docs/ja/publish/index.md
index 8f2daf186f..7f518293d8 100644
--- a/docs/ja/publish/README.md
+++ b/docs/ja/publish/index.md
@@ -18,7 +18,7 @@
コメントパネルが開いている場合、次の2つのオプションがあります。
-1) コンセプトを既存のアセットにリンクしたり、既存のリンクを削除したりすることができます。
+1) コンセプトを既存のアセットにリンクしたり、既存のリンクを削除したりすることができます。
2) コンセプトにコメントを追加したり、ステータスを変更したりすることができます。
**コンセプト**は1バージョンのみにしておくのが望ましいです。コンセプトが承認されず、さらに変更が必要な場合は、そのコンセプトをバージョンアップした方が良いでしょう。
@@ -71,7 +71,7 @@ WFA**ステータスなど、**[フィードバックリクエスト]**オプシ
また、`.glb`ファイルをワイヤーフレームとして確認したり、`.HDR`ファイルを追加して照明を確認することもできます。詳細は**カスタマイズ**セクションを参照してください。
-[パイプラインのカスタマイズ](../configure-kitsu/README.md#3d-backgrounds).
+[パイプラインのカスタマイズ](../configure-kitsu/index.md#3d-backgrounds).
pdf、.zip、.rar、.ma、.mbなどの他のファイルはブラウザで表示できないため、確認するにはダウンロードする必要があります。
@@ -93,7 +93,7 @@ pdf、.zip、.rar、.ma、.mbなどの他のファイルはブラウザで表示
次に、ステータスを選択し、**[投稿]** ボタンでプレビューを公開します。
-サムネイルとして公開を使用する方法の詳細については、[サムネイルに関するこのセクションを参照してください](../thumbnails/README.md)。
+サムネイルとして公開を使用する方法の詳細については、[サムネイルに関するこのセクションを参照してください](../thumbnails/index.md)。
## プレビューをバージョンにまとめる
diff --git a/docs/ja/publisher/README.md b/docs/ja/publisher/README.md
deleted file mode 100644
index 11e3d446c5..0000000000
--- a/docs/ja/publisher/README.md
+++ /dev/null
@@ -1,354 +0,0 @@
-# Kitsu Publisher
-
-Kitsu は、制作進行の共有と配信の検証を合理化し、関係者間のコミュニケーションを強化することで、より迅速で高品質なアウトプットを実現するウェブアプリケーションです。
-
-Kitsu Publisher はデスクトップアプリケーションで、DCC ツールと Kitsu を橋渡しし、アーティストがそれぞれのツールから直接タスクの管理、コメントの追加、プレビューの送信を行うことを可能にします。
-
-## DCC 統合 ステータス:
-
-現在サポートされているもの:
-- Blender
-- Toon Boom Harmony
-- Unreal Engine
-
-現在作業中のもの:
-- Photoshop
-- Nuke
-
-## インストール
-
-### Kitsu Publisher のインストール
-
-#### 事前要件
-
-リリース](https://github.com/cgwire/kitsu-publisher-next/releases/latest) から、お使いの OS に該当するアプリ用のインストーラー/パッケージ/ポータブル版をダウンロード(または、ご希望であればビルド: [開発環境](#development-environment) 参照)する必要があります。
-
-すべてのコマンドのファイル名にはキーワード {version} が含まれています。このバージョンを、お使いの Kitsu Publisher の現在のバージョンに置き換える必要があります。
-
-#### Linuxの場合
-
-- **debパッケージ**(Debianベースのディストリビューション用):
-- パッケージをインストールするには:
-
-```shell
-dpkg -i kitsu-publisher_{version}_amd64.deb
-```
-
-- パッケージはアプリケーションと$PATHに追加されます。
-
-- **rpmパッケージ**(RHELベースのディストリビューション用):
-- パッケージをインストールするには:
-
-```シェル
-rpm -i kitsu-publisher_{version}_x86_64.rpm
-```
-
-- パッケージはこれでアプリケーションと $PATH に追加されました。
-
-- **snap パッケージ**:
-- パッケージをインストールするには:
-
-```シェル
-snap install kitsu-publisher_{version}_amd64.snap --dangerous
-```
-
-- パッケージは現在、アプリケーションおよび $PATH にあります。
-
-- **tar.gz アーカイブ**:
-- アーカイブを展開するには:
-
-```shell
-tar -xf kitsu-publisher-{version}.tar.gz
-```
-
-- アプリケーションを実行するには:
-
-```shell
-kitsu-publisher-{version}/kitsu-publisher
-```
-
-- **AppImage**:
-- アプリケーションを実行するには:
-
-```shell.
-/Kitsu publisher-{version}.AppImage
-```
-
-
-Windowsの場合
-
-- **NSISインストーラー**:
-インストーラー `Kitsu-publisher-Setup-{version}.exe` をダブルクリックし、指示に従ってください。
-
-- **MSIインストーラー**:
-インストーラー `Kitsu-publisher-{version}-ia32.msi` をダブルクリックしてアプリをインストールします。
-
-- **ポータブルアプリケーション**:
-実行ファイル `Kitsu-publisher-{version}.exe` をダブルクリックします。
-
-- **Zipポータブルアプリケーション**:
-Zipファイル `Kitsu-publisher-{version}-ia32-win.zip` を解凍し、`Kitsu publisher.exe` をダブルクリックします。
-
-MacOSの場合
-
-- **DMGインストーラー**:
-インストーラー `Kitsu-publisher-{version}.dmg` をダブルクリックし、Kitsuのロゴを「アプリケーション」フォルダにドラッグします。
-
-- **PKGインストーラー**:
-```shell
-sudo installer -package Kitsu-publisher-{version}.pkg -target /
-```
-
-- **Zip形式のポータブルアプリケーション**:
-zip形式の「Kitsu-publisher-{version}-mac.zip」をダブルクリックし、Kitsu Publisherアイコンをダブルクリックします。
-
-
-## 開発環境
-
-### 前提条件
-
-Electronアプリを開発またはビルドするには、[Node.js](https://nodejs.org/en/)>=16.11がインストールされている必要があります。
-
-### 依存関係
-
-Electron アプリに必要なすべての依存関係をインストールするには、プロジェクトフォルダで次のコマンドを実行する必要があります。
-
-```shell
-npm install
-```
-
-### 実行
-
-Electron アプリを開発モードで実行するには、npm スクリプトを実行する必要があります。
-
-```shell
-npm run dev
-```
-
-これにより、Electron インスタンスと Vite 開発サーバーが起動します。
-
-### Electron アプリのビルド
-
-#### 事前準備
-
-- DebianベースのLinuxでは、以下のものが必要です。
-
-- 以下のパッケージをインストールします。
-
-```shell
-apt-get install build-essential libcairo2-dev libpango1.0-dev
-libjpeg-dev libgif-dev librsvg2-dev
-```
-
-- rpmのような特定のターゲットをビルドしたい場合は、以下のものをインストールする必要があります。
-
-```shell
-apt-get install rpm
-```
-
-- Windows では、次のものが必要です:
-
-- node-canvas の [wiki](https://github.com/Automattic/node-canvas/wiki/Installation:-Windows) を参照してください。
-
-- macOS では、次のものが必要です (Homebrew(https://brew.sh/) を使用):
-
-```shell
-brew install pkg-config cairo pango libpng jpeg giflib librsvg
-```
-
-#### アプリケーションのビルド
-
-npm scripts を実行する必要があります。
-
-- パッケージ化されていないディレクトリのみをビルドする場合:
-
-```shell
-npm run build
-```
-
-- すべてのターゲットをビルドする場合:
-
-```shell
-npm run build:all
-```
-
-## DCCs コネクタのインストール
-
-#### 事前準備
-
-最新リリース](https://github.com/cgwire/kitsu-publisher-next/releases/latest) から `connectors-{version}.zip` をダウンロードし、解凍します。
-
-#### Blender (バージョン>2.80)
-
-- connectors/blender ディレクトリに移動する必要があります。
-
-- Windows (PowerShell を使用):
-
-- プラグインのインストール手順に従う場合は、スクリプト「install.ps1」を右クリックして「PowerShellで実行」を選択し、プロンプトモードでスクリプトを実行します。Blenderのインストーラーで複数のインストールを行った場合、すべてのインストールに対してプラグインがインストールされます(ポータブルBlenderを選択した場合はインストールされません)。
-
-- PowerShellコマンドラインでスクリプトを実行したい場合は、次のヘルプを参照してください。
-
-```shell.
-\install.ps1 -help
-```
-
-- Linuxの場合:
-
-- Blenderがシステムパッケージ(例:debまたはrpm)でインストールされている場合:
-
-```shell
-bash ./install.sh --system
-```
-
-- Blenderが解凍されたディレクトリ(tar.xzアーカイブ)の場合:
-
-```shell
-bash ./install.sh --unpacked-directory=PATH_TO_YOUR_PORTABLE_BLENDER
-```
-
-- Blender が snap パッケージでインストールされている場合:
-
-```shell
-bash ./install.sh --snap
-```
-
-- macOS の場合:
-
-- Blender が dmg イメージまたは Homebrew でインストールされている場合:
-
-```shell
-bash ./install.sh --dmg
-```
-
-#### Toon Boom Harmony
-
-- connectors/harmony ディレクトリに移動する必要があります。
-
-- Windows(PowerShell を使用):
-
-- プラグインのインストール手順に従う場合は、スクリプト install.ps1 を右クリックして「PowerShell で実行」を選択し、プロンプトモードでスクリプトを実行します。Toon Boom Harmony のインストーラを使用して複数のインストールを行うと、すべてのインストールに対してプラグインがインストールされます。
-
-- PowerShellのコマンドラインでスクリプトを実行したい場合は、次のヘルプを参照してください。
-
-```shell.
-\install.ps1 -help
-```
-
-- macOSの場合:
-
-- 近日公開予定
-
-#### Unreal Editor (バージョン>=5)
-
-- connectors/unrealディレクトリに移動する必要があります。
-
-- Windowsの場合 (PowerShellを使用):
-
-- プラグインのインストール手順に従う場合は、スクリプト「install.ps1」を右クリックして「PowerShellで実行」を選択し、プロンプトモードでスクリプトを実行する必要があります。Unreal Editorのインストーラーを使用して複数のインストールを行うと、すべてのインストールに対してプラグインがインストールされます。
-
-- PowerShellのコマンドラインでスクリプトを実行する場合は、次のヘルプを参照してください。
-
-```shell.
-\install.ps1 -help
-```
-
-- Linuxの場合:
-
-- 近日公開予定
-
-- macOSの場合:
-
-- 近日公開予定
-
-## Kitsu Publisherでのプレビューの公開
-
-まず、Kitsu Publisherとプラグインをコンピュータにインストールする必要があります。
-
-## To-Doリストを確認する
-
-Kitsuの認証情報を使ってKitsu Publisherにログインします。Kitsuと同様のオプションを持つToDoリストが表示されます。
-
-
-
-タスクにコメントを追加したり、公開したりするには、ステータスをクリックします。
-
-
-
-コメントパネルが開き、プレビューとこのタスクの全履歴が表示されます。
-
-新しい要素として、タイムシートに直接アクセスできるようになりました。カーソルを移動させると、この特定のタスクに費やした時間数に合わせてタイムラインが調整されます。
-
-
-
-作業を公開する準備ができたら、**「レビューを追加して公開」**ボタンをクリックします。
-
-
-## プレビューを公開する プレビューを公開する
-
-プレビューを手動でアップロードするか、Kitsu Publisherに任せることもできます。 Kitsu Publisherは、開いているDCCとプロジェクトを検出します。
-
-
-
-お使いのカメラとレンダリングエンジンを選択し、スクリーンショットまたはフルアニメーションレンダリングのどちらかを選択します。
-
-ここでは、例えば「スクリーンショット」オプションを選択します。Kitsu PublisherがDCCにレンダリングを実行させ、結果を表示します。
-
-
-
-納得したら、**[確認]**をクリックし、コメントを追加してステータスを変更し、**[コメントを投稿]**をクリックしてプレビューをアップロードします。
-
-
-
-これで、Kitsuにログインした全員があなたのコメントと公開されたコメントを見ることができます。
-
-
-## パブリッシャーの設定
-
-### 保存ディレクトリの変更とスクリプトの追加
-
-アバターから設定にアクセスできます。
-
-
-
-ここでは2つのオプションがあります。1つ目は、DCCsによって作成されたエクスポートのディレクトリです。
-
-デフォルトでは、一時ディレクトリに設定されています。変更すると、この特定のフォルダがすべてのエクスポートに使用されます。ネットワークドライブを使用することもできます。
-
-2つ目のオプションは、DCCでエクスポートした後、Kitsuにアップロードする前に実行できるコマンドについてです。
-
-エクスポートされたファイルやフォルダなどに対して、直接コマンドやスクリプトを実行することができます。
-
-
-
-
-コマンドに変数を挿入することができます。 選択した変数を波括弧内に配置するだけです(例:{exportFile})。 これらの変数は実行時の環境変数にも含まれます。 以下にリストを示します。
-
-- exportsDirectory (String) : エクスポートが行われるディレクトリパス。
-- exportFile (String): エクスポートされるファイルのパス。
-- exportIsAnimation (Boolean) : エクスポートがアニメーションの場合は true、それ以外は false。
-- exportIsScreenshot (Boolean) : エクスポートがスクリーンショットの場合は true、それ以外は false。
-- DCCName (String) : DCC の名前。
-- DCCVersion (String) : DCC のバージョン。
-- currentProject (String) : DCC で開かれている現在のプロジェクトのパス。
-- cameraSelected (String) : 選択されたカメラの名前。
-- rendererSelected (String) : 選択されたレンダラーの名前。
-- extensionSelected (String) : 選択された拡張子の名前。
-- entityName (String) : エンティティの名前。
-- entityTypeName (String) : エンティティタイプの名前。
-- episodeName (String) : エピソードタイプの名前。
-- fullEntityName (String) : エンティティの完全な名前。
-- projectName (String) : プロジェクトの名前。
-- taskStatusName (String) : タスクステータスの名前。
-- taskTypeName (String) : タスクタイプの名前
-
-### エクスポートポップアップでの設定結果の表示
-
-プレビューがレンダリングされたら、ディレクトリと起動されたスクリプトを確認できます。
-
-
-
-オプションアイコンをクリックすると、インポート前に実行されたコマンドを確認できます。
-
-
-
-すべてが正しいことを確認したら、通常通りコメントを投稿します。
diff --git a/docs/ja/review-weekly/README.md b/docs/ja/review-weekly/index.md
similarity index 100%
rename from docs/ja/review-weekly/README.md
rename to docs/ja/review-weekly/index.md
diff --git a/docs/ja/review/README.md b/docs/ja/review/index.md
similarity index 97%
rename from docs/ja/review/README.md
rename to docs/ja/review/index.md
index fb76542a62..9b0e23a06c 100644
--- a/docs/ja/review/README.md
+++ b/docs/ja/review/index.md
@@ -19,7 +19,7 @@

詳細は**カスタマイズ**のセクションを参照してください。
-[パイプラインのカスタマイズ](../configure-kitsu/README.md#3d-backgrounds)
+[パイプラインのカスタマイズ](../configure-kitsu/index.md#3d-backgrounds)
使用する色を選択し、**鉛筆**ツールでプレビュー上に直接描画することができます 。
@@ -181,10 +181,10 @@

-[描画]ボタン を使用して、動画上に描画したり文字を入力したりすることができます([レビューの実行](../getting-started-production/README.md#perform-a-review)と同様)。
+[描画]ボタン を使用して、動画上に描画したり文字を入力したりすることができます(レビューの実行と同様)。
## レビュールーム
レビュールームは、効率的で同期されたデイリーズレビューセッションを行うために設計された共同作業スペースです。これにより、すべての参加者が同時に同じコンテンツを閲覧することができ、リアルタイムのフィードバックやディスカッションが容易になります。
-レビュールームについてさらに詳しく知りたい場合は、[このセクションを参照してください](../playlist-client/README.md#review-room)。
+レビュールームについてさらに詳しく知りたい場合は、[このセクションを参照してください](../playlist-client/index.md#review-room)。
diff --git a/docs/ja/schedules/README.md b/docs/ja/schedules/index.md
similarity index 100%
rename from docs/ja/schedules/README.md
rename to docs/ja/schedules/index.md
diff --git a/docs/ja/short-asset/README.md b/docs/ja/short-asset/index.md
similarity index 97%
rename from docs/ja/short-asset/README.md
rename to docs/ja/short-asset/index.md
index 8dab15e4bd..2d3c83c9b0 100644
--- a/docs/ja/short-asset/README.md
+++ b/docs/ja/short-asset/index.md
@@ -1,6 +1,6 @@
# アセットのみの制作を作成
-Kitsuでワークフローを設計し、より多くのユーザーを招待したので、今度は制作を作成します。
+Kitsuでワークフローを設計し、より多くのユーザーを招待したので、今度は制作を作成します。
**新しい制作を作成**ボタンをクリックします。
@@ -31,16 +31,16 @@ Kitsuでワークフローを設計し、より多くのユーザーを招待し
タスクタイプをいくつか見落としていたことに気づいた場合は、後でそれらを作成することができます。
-[スタジオワークフロー](../first_production/README_configure_Kitsu.md#studio-workflow) のセクションを参照してください。
+[スタジオワークフロー](../configure-kitsu/index.md#studio-workflow) のセクションを参照してください。
:::
次に、6はオプション部分です。アセットの入ったスプレッドシートがすでに用意されている場合。
詳細は**インポートCSV**のセクションを参照してください。
-[アセットのインポート](../batch-action/README.md#create-assets-from-a-csv-spreadsheet-file)
+アセットのインポート
-[Import shot](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+Import shot
 ボタンですべてを検証します。
@@ -72,7 +72,7 @@ Kitsuのグローバルアセットページへようこそ。
::: 詳細 メインメニューの詳細
**ワークスペース**
-- マイタスク:割り当てられたタスク
+- マイタスク:割り当てられたタスク
- マイチェック:あなたの部署に応じて、ステータスが**フィードバックリクエスト**となっているすべてのタスク
- マイプロダクション:プロダクションページの選択に戻ります。
@@ -145,7 +145,7 @@ Kitsuのグローバルアセットページへようこそ。
アセットページから開始しますが、制作ホームページを他のエンティティに変更することができます(設定ページを参照)。
:::
-::: 警告
+::: 警告
エピソードなど、追加のナビゲーションレベルが必要だと気づいた場合は、制作タイプを**テレビ番組**に変更する必要があります。
逆に、ショットが必要だと気づいた場合は、制作タイプを**アセットのみ**から**ショート**に変更する必要もあります。
@@ -256,7 +256,7 @@ Kitsuのグローバルアセットページへようこそ。
:::
最後のアセットを追加したら、
-「確認」をクリックします。アセットが作成され、ウィンドウが閉じます。
+「確認」をクリックします。アセットが作成され、ウィンドウが閉じます。
::: ヒント
「確認して戻る」をクリックしたものの、追加するアセットがもうないことに気づいた場合は、「閉じる」をクリックすると、ウィンドウがキャンセルされます。
@@ -353,7 +353,7 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ

-**スケジュール**は、タスクタイプのページのデータを事前に記入している場合に表示されます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、タスクタイプのページのデータを事前に記入している場合に表示されます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -392,7 +392,7 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ
アセットのメインページの説明を拡張するには、最初の語句 (2) をクリックすると、説明の全文を含むポップアップが開きます。
-アセットを削除するには、FAQ : [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ : アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
@@ -538,7 +538,7 @@ Kitsu は、コメントパネルの上部にリンクされたアセットを

-::: 警告
+::: 警告
テキスト、数値、およびチェックボックスでは、各エンティティに異なる情報を追加できます。最初に計画する必要はありません。
リスト値、タグリスト、およびチェックリストでは、各エンティティに同じ選択肢が与えられます。さらに、これは現在入力する必要があります。
@@ -614,7 +614,7 @@ Kitsuでは、**編集**レベルでタスクを追跡することができま
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、**プロダクションライブラリ**に追加します。
@@ -750,7 +750,7 @@ Kitsuでは、**編集**レベルでタスクを追跡することができま

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
diff --git a/docs/ja/short-shot/README.md b/docs/ja/short-shot/index.md
similarity index 97%
rename from docs/ja/short-shot/README.md
rename to docs/ja/short-shot/index.md
index 834fbb1050..db3e73a5c0 100644
--- a/docs/ja/short-shot/README.md
+++ b/docs/ja/short-shot/index.md
@@ -18,7 +18,7 @@ Kitsuでワークフローを設計し、さらに多くのユーザーを招待

-ショットのワークフロー(タスクタイプ)(3)と検証プロセス(タスクステータス)(4)を選択する必要があります。
+ショットのワークフロー(タスクタイプ)(3)と検証プロセス(タスクステータス)(4)を選択する必要があります。

@@ -28,7 +28,7 @@ Kitsuでワークフローを設計し、さらに多くのユーザーを招待
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成できます。
-[スタジオワークフロー](../first_production/README_configure_Kitsu.md#studio-workflow)セクションを参照してください。
+[スタジオワークフロー](../configure-kitsu/index.md#studio-workflow)セクションを参照してください。
:::
次に、5はオプションパーツです。ショットの入ったスプレッドシートをすでに持っている場合は、
@@ -36,7 +36,7 @@ Kitsuでワークフローを設計し、さらに多くのユーザーを招待
詳細は**インポートCSV**のセクションをご覧ください。
-[ショットのインポート](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+ショットのインポート
ボタンで全てを検証します。
@@ -68,7 +68,7 @@ Kitsuのグローバルアセットページへようこそ。
::: 詳細 メインメニューの詳細
**ワークスペース**
-- マイタスク:割り当てられたタスク
+- マイタスク:割り当てられたタスク
- マイチェック:所属部署に応じて、ステータスが**フィードバックリクエスト**となっているすべてのタスク
- マイプロダクション:プロダクションページの選択に戻ります。
@@ -142,7 +142,7 @@ Production] を選択できます。実際の Production の名前とページ
アセットページから開始しますが、制作ホームページを他のエンティティに変更することができます(設定ページを参照)。
:::
-::: 警告
+::: 警告
エピソードなど、追加のナビゲーションレベルが必要だと気づいた場合は、プロダクションタイプを「テレビ番組」に変更する必要があります。
逆に、オンリーショットではなくアセットが必要だと気づいた場合は、プロダクションタイプを「オンリーショット」から「ショート」に変更する必要があります。
@@ -283,9 +283,9 @@ Production] を選択できます。実際の Production の名前とページ
:::
-ショットを削除するには、FAQを参照してください。 : [ショットの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+ショットを削除するには、FAQを参照してください。 : ショットの削除方法
-シーケンスを削除するには、FAQを参照してください。 : [シーケンスの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+シーケンスを削除するには、FAQを参照してください。 : シーケンスの削除方法
@@ -399,7 +399,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -515,7 +515,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、
**CSVインポート**を使用して、フレーム範囲をすばやく更新することもできます。
-[CSVインポートでショット情報を更新](../batch-action/README.md#update-shots-information-with-csv-import)
+CSVインポートでショット情報を更新
ショット値の履歴にもアクセスできます。
@@ -547,7 +547,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-::: 警告
+::: 警告
**テキスト**、**数値**、および**チェックボックス**では、各エンティティに対して異なる情報を追加することができます。 最初に計画する必要はありません。
**値のリスト**、**タグのリスト**、および**チェックリスト**では、各エンティティに対して同じ選択肢が提供されます。さらに、これは現在入力する必要があります。
@@ -624,7 +624,7 @@ Kitsuでは、**シーケンス**レベルでタスクを追跡することも
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、それを**
プロダクションライブラリ**(設定ページ)に追加します。
@@ -677,7 +677,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、**プロダクションライブラリ**に追加します。
@@ -704,5 +704,3 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
:::
このページでは、アセットおよびショットエンティティの**Edit** を**Rename**(名前の変更)および**Delete**(削除)することができます。
-
-
diff --git a/docs/ja/short/README.md b/docs/ja/short/index.md
similarity index 98%
rename from docs/ja/short/README.md
rename to docs/ja/short/index.md
index 5eedc898d8..049b5c8b57 100644
--- a/docs/ja/short/README.md
+++ b/docs/ja/short/index.md
@@ -1,6 +1,6 @@
# ショートプロダクション(アセットとショット)を作成する
-Kitsuでワークフローを設計し、さらに多くのユーザーを招待したので、今度はプロダクションを作成する番です。
+Kitsuでワークフローを設計し、さらに多くのユーザーを招待したので、今度はプロダクションを作成する番です。
[**新しいプロダクションを作成する**]ボタンをクリックします。
@@ -31,16 +31,16 @@ Kitsuでワークフローを設計し、さらに多くのユーザーを招待
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成することができます。
-[スタジオワークフロー](../first_production/README_configure_Kitsu.md#studio-workflow) のセクションを参照してください。
+[スタジオワークフロー](../configure-kitsu/index.md#studio-workflow) のセクションを参照してください。
:::
次に、7と8はオプション部分です。アセット/ショットの一覧が記載されたスプレッドシートがすでに用意されている場合は、
**インポートCSV**のセクションを参照してください。
-[アセットのインポート](../batch-action/README.md#create-assets-from-a-csv-spreadsheet-file)
+アセットのインポート
-[ショットのインポート](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+ショットのインポート
 ボタンですべてを検証します。
@@ -148,7 +148,7 @@ Kitsu のグローバルアセットページへようこそ。
アセットページから開始しますが、制作のホームページを他のエンティティに変更することができます(設定ページを参照)。
:::
-::: 警告
+::: 警告
エピソードなど、追加のナビゲーションレベルが必要だと気づいた場合は、制作タイプをテレビ番組に変更する必要があります。
逆に、アセットやショットが必要ないと気づいた場合は、制作タイプを「アセットのみ」または「ショットのみ」に切り替える必要があります。
@@ -260,7 +260,7 @@ Kitsu のグローバルアセットページへようこそ。
:::
最後のアセットを追加したら、
-「確認」をクリックします。これによりアセットが作成され、ウィンドウが閉じます。
+「確認」をクリックします。これによりアセットが作成され、ウィンドウが閉じます。
::: ヒント
「確認して戻る」をクリックし、追加するアセットがもうないことに気づき、「閉じる」をクリックすると、ウィンドウがキャンセルされます。
@@ -357,11 +357,11 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ

-**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。すでにデータを記入している場合は、ここで直接修正できます。
+**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。すでにデータを記入している場合は、ここで直接修正できます。

-さまざまなタスクタイプでアップロードされた**プレビューファイル**、
+さまざまなタスクタイプでアップロードされた**プレビューファイル**、

@@ -396,7 +396,7 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ
アセットのメインページの説明を拡張するには、最初の語句 (2) をクリックすると、説明の全文を含むポップアップが開きます。
-アセットを削除するには、FAQ : [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ : アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
@@ -581,9 +581,9 @@ Kitsu は、リンクされたアセットをコメントパネルの上部に
:::
-ショットを削除するには、FAQを参照してください。 : [ショットの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+ショットを削除するには、FAQを参照してください。 : ショットの削除方法
-シーケンスを削除するには、FAQを参照してください。 : [シーケンスの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+シーケンスを削除するには、FAQを参照してください。 : シーケンスの削除方法
@@ -697,7 +697,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。すでにデータを記入している場合は、ここで直接修正できます。
+**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。すでにデータを記入している場合は、ここで直接修正できます。

@@ -813,7 +813,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、
**CSVインポート**を使用してフレーム範囲を素早く更新することもできます。
-[CSVインポートでショット情報を更新](../batch-action/README.md#update-shots-information-with-csv-import)
+CSVインポートでショット情報を更新
ショット値の履歴にもアクセスできます。
@@ -845,7 +845,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-::: 警告
+::: 警告
テキスト**、**数値**、および**チェックボックス**では、エンティティごとに異なる情報を追加できます。事前に計画しておく必要はありません。
リスト**、**タグ**、および**チェックリスト**では、エンティティごとに同じ選択肢が提供されます。さらに、これは現在入力する必要があります。
@@ -922,7 +922,7 @@ Kitsuでは、**シーケンス**レベルでタスクを追跡することも
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、それを**
プロダクションライブラリ**(設定ページ)に追加します。
@@ -975,7 +975,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリで**タスクタイプ**を作成したら、**プロダクションライブラリ**に追加します。
@@ -1126,7 +1126,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -1168,7 +1168,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
::: ヒント
**自動化**を使用して、重労働を軽減することができます。
-「準備完了」トリガーで自動化を設定できます。
+「準備完了」トリガーで自動化を設定できます。
:::
アセットの状態を「準備完了」に変更したので、ショットページで結果を確認できます。
diff --git a/docs/ja/status-publish-review/README.md b/docs/ja/status-publish-review/index.md
similarity index 98%
rename from docs/ja/status-publish-review/README.md
rename to docs/ja/status-publish-review/index.md
index da2667fbe9..2ce640541b 100644
--- a/docs/ja/status-publish-review/README.md
+++ b/docs/ja/status-publish-review/index.md
@@ -126,7 +126,7 @@ Kitsu は、アップロードしたコンセプトにリンク可能なすべ
**ファイルを添付**をクリックして添付ファイルを検証します。
-次に、ドロップダウンメニューから必要な**ステータス**を選択します。
+次に、ドロップダウンメニューから必要な**ステータス**を選択します。

@@ -343,7 +343,7 @@ WFA**ステータスのように、**「フィードバックリクエスト」*
また、**CSVインポート**を使用して、カスタムメタデータ列を素早く埋めることもできます。
まず、**メタデータ列**をKitsuに作成し、スプレッドシートに追加し、データを**CSVインポート**にコピー&ペーストします。
-[CSVインポートでショット情報を更新](../batch-action/README.md#update-shots-information-with-csv-import)
+CSVインポートでショット情報を更新
# プレイリスト
@@ -454,7 +454,7 @@ Kitsuは**Animation**ステージで**WFA**ステータスを持つショット

ビデオ上に描画したり、文字を入力したりすることができます(
-[レビューを行う](../getting-started-production/README.md#perform-a-review)と同じ方法で、**描画**ボタンを使用します
+[レビューを行う](../review/index.md)と同じ方法で、**描画**ボタンを使用します
## レビュールーム
diff --git a/docs/ja/status/README.md b/docs/ja/status/index.md
similarity index 100%
rename from docs/ja/status/README.md
rename to docs/ja/status/index.md
diff --git a/docs/ja/studio-report/README.md b/docs/ja/studio-report/index.md
similarity index 100%
rename from docs/ja/studio-report/README.md
rename to docs/ja/studio-report/index.md
diff --git a/docs/ja/supervisor-tasks/README.md b/docs/ja/supervisor-tasks/index.md
similarity index 100%
rename from docs/ja/supervisor-tasks/README.md
rename to docs/ja/supervisor-tasks/index.md
diff --git a/docs/ja/supervisor-team/README.md b/docs/ja/supervisor-team/index.md
similarity index 100%
rename from docs/ja/supervisor-team/README.md
rename to docs/ja/supervisor-team/index.md
diff --git a/docs/ja/team/README.md b/docs/ja/team/index.md
similarity index 100%
rename from docs/ja/team/README.md
rename to docs/ja/team/index.md
diff --git a/docs/ja/thumbnails/README.md b/docs/ja/thumbnails/index.md
similarity index 100%
rename from docs/ja/thumbnails/README.md
rename to docs/ja/thumbnails/index.md
diff --git a/docs/ja/tvshow/README.md b/docs/ja/tvshow/index.md
similarity index 98%
rename from docs/ja/tvshow/README.md
rename to docs/ja/tvshow/index.md
index 288255c5b9..db1969f93b 100644
--- a/docs/ja/tvshow/README.md
+++ b/docs/ja/tvshow/index.md
@@ -32,7 +32,7 @@ Kitsuでワークフローを設計し、チームメンバーを追加したの
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成することができます。
-[Kitsuの入門ガイド](../configure-kitsu/README.md)を参照してください。
+[Kitsuの入門ガイド](../configure-kitsu/index.md)を参照してください。
:::
次に、ステップ7と8はオプションです。アセットまたはショットの一覧がすでにスプレッドシートにある場合は、**CSVのインポート**セクションを参照してください。
@@ -218,7 +218,7 @@ WORKSPACEセクションは、アーティストには表示されない「My Ch
- **アセットタイプ**を選択するよう求められます(1)。新しいアセットタイプを追加していない場合、Kitsuは「キャラクター」、「環境」、「FX」、「小道具」などの例を提供します。まずはキャラクターから始めましょう。
::: ヒント
-アセットタイプのリストとタスクパイプラインはカスタマイズすることもできます。 [アセットタイプのワークフローを参照](../configure-kitsu/README.md#specific-asset-types-workflow)
+アセットタイプのリストとタスクパイプラインはカスタマイズすることもできます。 [アセットタイプのワークフローを参照](../configure-kitsu/index.md#specific-asset-types-workflow)
:::
このアセットをエピソードにリンクし(Kitsuではデフォルトで編集や削除ができない**Main Pack**が提供されます)、最初のエピソードとして**E01**を選択して作業を開始します。 E01の名前を変更したり削除することもできます。
@@ -348,7 +348,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs
アセットのメインページで詳細を表示するには、最初の文字 (2) をクリックすると、詳細が記載されたポップアップが開きます。
-アセットを削除するには、FAQ: [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ: アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
CSV インポートを使用すると、データをすばやく更新することができます。
@@ -393,7 +393,7 @@ CSV インポートを使用すると、データをすばやく更新するこ
アセットを作成した後で、タスクが不足していることに気づいた場合でも、追加することができます。
-まず、不足しているタスクタイプが設定ページのタスクタイプタブに追加されていることを確認してください(そうでなければ、[Kitsuの使い方](../configure-kitsu/README.md)を参照)。
+まず、不足しているタスクタイプが設定ページのタスクタイプタブに追加されていることを確認してください(そうでなければ、[Kitsuの使い方](../configure-kitsu/index.md)を参照)。
次に、アセットページに戻り、**+ タスクを追加**をクリックします。
@@ -488,7 +488,7 @@ Kitsu は、リンクされたアセットをコメントパネルの上部に
::: 警告
ショットを作成すると、設計したタスクワークフローが適用され、すべてのタスクがショットと同時に作成されます。
-[Kitsuの使い方](../configure-kitsu/README.md)を参照してください。
+[Kitsuの使い方](../configure-kitsu/index.md)を参照してください。
:::
ショットの作成用に新しいポップアップが開きます。
@@ -537,9 +537,9 @@ Kitsuは最初のエピソードとして例として**E01**を提供してい

:::
-ショットを削除するには、FAQを参照してください。[ショットの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+ショットを削除するには、FAQを参照してください。ショットの削除方法
-シーケンスを削除するには、FAQを参照してください。[シーケンスの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+シーケンスを削除するには、FAQを参照してください。シーケンスの削除方法
@@ -647,7 +647,7 @@ LGC制作のEDLの例を以下に示します。

-タスクタイプページのデータを事前に記入している場合は、**スケジュール**を利用できます。データがすでに記入されている場合は、ここで直接修正できます。
+タスクタイプページのデータを事前に記入している場合は、**スケジュール**を利用できます。データがすでに記入されている場合は、ここで直接修正できます。

@@ -715,7 +715,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、
## ショットを作成した後にタスクを追加する
ショットを作成した後にタスクが不足していることに気づいた場合でも、追加することができます。
-まず、不足しているタスクの種類がタスクの種類タブの設定ページに追加されていることを確認します(そうでなければ、http://localhost:8080/tvshow/#update-your-shots)。
+まず、不足しているタスクの種類がタスクの種類タブの設定ページに追加されていることを確認します(そうでなければ)。
次に、ショットのページに戻り、+タスクを追加をクリックします。
@@ -749,7 +749,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-4. **CSV インポート:** フレーム範囲を素早く更新するには、CSV インポートも利用できます。 [CSV インポートでショット情報を更新](README.md#update-your-shots)
+4. **CSV インポート:** フレーム範囲を素早く更新するには、CSV インポートも利用できます。 [CSV インポートでショット情報を更新](#update-your-shots)
5. **ショット履歴へのアクセス:** フレーム範囲を含むショット値の履歴を表示できます。
@@ -784,7 +784,7 @@ CSVインポート**を使用して、**NBフレーム**、**フレームIN**、

-::: 警告
+::: 警告
- **テキスト**、**数値**、および**チェックボックス**は、事前の計画なしに各エンティティに異なる情報を追加することができます。
- **値のリスト**、**タグのリスト**、および**チェックリスト**は、各エンティティに同じオプションを提供し、事前に記入する必要があります。
@@ -850,7 +850,7 @@ Kitsuでは、**シーケンス**レベルでタスクを追跡することも
このページを使用するには、まず**グローバルライブラリ**に**シーケンス**属性を持つ専用のタスクタイプを作成する必要があります。
-[新しいタスクタイプの作成方法](../configure-kitsu/README.md#studio-workflow-create-a-new-task-type)を参照してください
+[新しいタスクタイプの作成方法](../configure-kitsu/index.md#studio-workflow-create-a-new-task-type)を参照してください
グローバルライブラリに**タスクタイプ**を作成したら、それを**
プロダクションライブラリ**(設定ページ)に追加します。
@@ -895,7 +895,7 @@ Kitsuでは、**編集**レベルでタスクを追跡することができま
::: 警告
デフォルトでは、**Edit** ページは、**プロダクションライブラリ**(設定ページ)にそれ用のタスクタイプが作成されるまで表示されません。
-[新しいタスクタイプの作成方法](../configure-kitsu/README.md#studio-workflow-create-a-new-task-type)を参照してください。
+[新しいタスクタイプの作成方法](../configure-kitsu/index.md#studio-workflow-create-a-new-task-type)を参照してください。
:::
このページを使用するには、まず**グローバルライブラリ**で**編集**属性を持つ専用のタスクタイプを作成する必要があります。
@@ -1039,7 +1039,7 @@ Kitsuでは、**編集**レベルでタスクを追跡することができま

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -1080,9 +1080,9 @@ Kitsuでは、**編集**レベルでタスクを追跡することができま
::: ヒント
**自動化**を使用して、作業の大部分を自動化することができます。
-**準備完了**トリガーで自動化を設定できます。
+**準備完了**トリガーで自動化を設定できます。
-[ステータス自動化の作成方法](../configure-kitsu/README.md#automation)を参照
+[ステータス自動化の作成方法](../configure-kitsu/index.md#automation)を参照
:::
diff --git a/docs/ja/videogame/README.md b/docs/ja/videogame/index.md
similarity index 97%
rename from docs/ja/videogame/README.md
rename to docs/ja/videogame/index.md
index 00eb32efbb..fa493a2e0a 100644
--- a/docs/ja/videogame/README.md
+++ b/docs/ja/videogame/index.md
@@ -1,6 +1,6 @@
# ビデオゲームの制作
-Kitsuでワークフローを設計し、より多くの人を招待したので、今度は制作を開始します。
+Kitsuでワークフローを設計し、より多くの人を招待したので、今度は制作を開始します。
[**新しい制作を作成**]ボタンをクリックします。
@@ -31,16 +31,16 @@ Kitsuでワークフローを設計し、より多くの人を招待したので
タスクタイプをいくつか見落としていたことに気づいた場合は、後で作成することができます。
-[スタジオワークフロー](../first_production/README_configure_Kitsu.md#studio-workflow) のセクションを参照してください。
+[スタジオワークフロー](../configure-kitsu/index.md#studio-workflow) のセクションを参照してください。
:::
次に、7と8はオプション部分です。アセット/マップのスプレッドシートをすでに持っている場合は、
**インポートCSV**のセクションを参照してください。
-[アセットのインポート](../batch-action/README.md#create-assets-from-a-csv-spreadsheet-file)
+アセットのインポート
-[マップのインポート](../batch-action/README.md#create-shots-from-a-csv-spreadsheet-file)
+マップのインポート
 ボタンですべてを検証します。
@@ -68,7 +68,7 @@ Kitsuのグローバルアセットページへようこそ。
::: 詳細 メインメニューの詳細
**ワークスペース**
-- マイタスク:割り当てられたタスク
+- マイタスク:割り当てられたタスク
- マイチェック:あなたの部署に応じて、ステータスが**フィードバックリクエスト**となっているすべてのタスク
- マイプロダクション:プロダクションページの選択に戻ります。
@@ -144,7 +144,7 @@ Kitsuのグローバルアセットページへようこそ。
アセットページから開始しますが、制作のホームページを他のエンティティに変更することができます(設定ページを参照)。
:::
-::: 警告
+::: 警告
チャプターとして追加のナビゲーションレベルが必要だと気づいた場合は、制作タイプを**TV Show**に変更する必要があります。
逆に、**assets**や**maps**が必要ないことに気づいた場合は、制作タイプを**Only Assets**または**Only Maps**に切り替える必要があります。
@@ -255,7 +255,7 @@ Kitsuのグローバルアセットページへようこそ。
:::
最後のアセットを追加したら、
-「確認」をクリックします。これによりアセットが作成され、ウィンドウが閉じます。
+「確認」をクリックします。これによりアセットが作成され、ウィンドウが閉じます。
::: ヒント
「確認して戻る」をクリックし、追加するアセットがもうないことに気づき、「閉じる」をクリックすると、ウィンドウがキャンセルされます。
@@ -352,7 +352,7 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ

-**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、タスクタイプページのデータを事前に記入していれば利用できます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -391,7 +391,7 @@ Kitsuでは、それらをインポートする方法が2つあります。1つ
アセットのメインページの説明を拡張するには、最初の語句 (2) をクリックすると、説明の全文を含むポップアップが開きます。
-アセットを削除するには、FAQ : [アセットの削除方法](../faq-deletion/README.md##how-to-delete-an-asset)を参照してください。
+アセットを削除するには、FAQ : アセットの削除方法を参照してください。
::: 詳細 CSV インポートによるアセットの更新
@@ -413,7 +413,7 @@ CSV インポートを使用すると、データをすばやく更新するこ

-次に、Kitsuのアセットページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのアセットページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -575,9 +575,9 @@ Kitsu は、コメントパネルの上部にリンクされたアセットを
:::
-マップを削除するには、FAQを参照してください。 : [マップの削除方法](../faq-deletion/README.md#how-to-delete-a-shot)
+マップを削除するには、FAQを参照してください。 : マップの削除方法
-レベルを削除するには、FAQを参照してください。 : [レベルの削除方法](../faq-deletion/README.md#how-to-delete-a-sequence)
+レベルを削除するには、FAQを参照してください。 : レベルの削除方法
@@ -691,7 +691,7 @@ Kitsuでは、インポートする方法が2つあります。1つ目は、`.cs

-**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。
+**スケジュール**は、タスクタイプページのデータを事前に記入している場合に利用できます。データがすでに記入されている場合は、ここで直接修正することができます。

@@ -807,7 +807,7 @@ CSV インポート**を使用して、**NB フレーム**、**フレーム IN**
**CSVインポート**を使用してフレーム範囲を素早く更新することもできます。
-[CSVインポートでマップ情報を更新](../batch-action/README.md#update-shots-information-with-csv-import)
+CSVインポートでマップ情報を更新
マップ値の履歴にもアクセスできます。
@@ -839,7 +839,7 @@ CSV インポート**を使用して、**NB フレーム**、**フレーム IN**

-::: 警告
+::: 警告
テキスト**、**数値**、および**チェックボックス**では、エンティティごとに異なる情報を追加できます。事前に計画しておく必要はありません。
リスト**、**タグ**、および**チェックリスト**では、エンティティごとに同じ選択肢が提供されます。さらに、これは現在入力する必要があります。
@@ -916,7 +916,7 @@ Kitsuでは、**レベル**レベルでタスクを追跡することもでき
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
グローバルライブラリに**タスクタイプ**を作成したら、それを**
プロダクションライブラリ**(設定ページ)に追加します。
@@ -969,7 +969,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
新しい **タスクタイプ** を作成するには、**新しいタスクタイプの作成** セクションを参照してください。
-[新しいタスクタイプの作成](../configure-kitsu/README.md#タスクの種類)
+[新しいタスクタイプの作成](../configure-kitsu/index.md#タスクの種類)
**グローバルライブラリ**に**タスクタイプ**を作成したら、**プロダクションライブラリ**に追加します。
@@ -1120,7 +1120,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。

-次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
+次に、Kitsuのブレークダウンページに戻り、**インポート**アイコンをクリックします
。
ポップアップウィンドウ「**CSVからデータをインポート**」が開きますので、「**CSVデータを貼り付け**」タブをクリックします。
@@ -1162,7 +1162,7 @@ Kitsuでは、**編集**レベルでタスクを追跡できます。
::: ヒント
**自動化**を使用して、重労働を軽減することができます。
-**準備完了**トリガーで自動化を設定できます。
+**準備完了**トリガーで自動化を設定できます。
:::
アセットの状態をいくつか**準備完了**に変更したので、マップページで結果を確認できます。
diff --git a/docs/logo.png b/docs/logo.png
new file mode 100644
index 0000000000..880bb6b6f6
Binary files /dev/null and b/docs/logo.png differ
diff --git a/docs/nft/README.md b/docs/nft/README.md
deleted file mode 100644
index 51f60bd97d..0000000000
--- a/docs/nft/README.md
+++ /dev/null
@@ -1,958 +0,0 @@
-# Create a NFT Collection
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, choose **short** as the **type**, and then select your production style (2D, 3D).
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your production's start and end dates.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), NFT Collection task type (4), task status (5), and asset types (6).
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio-workflows) section.
-:::
-
-Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/NFT Collection.
-
-See the **import CSV** section for more details.
-
-[Import asset](../nft/README.md#create-an-asset)
-
-[Import NFT Collection](../nft/README.md#create-a-nft-collection)
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
-
-On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between production. The name of the actual production and actual page are always displayed.
-
-You can use the dropdown menu to navigate from production to production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Assets
-- NFT Collections
-- Sequence
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the production
-- Concepts
-- Breakdown
-- Playlists
-- News feed
-
-The third section is about statistics
-- Sequence Stats
-- Asset Type Stats
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-::: warning
-If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
-
-If, on the contrary, you realize you don't need the **assets** or the **NFT Collections**, you also need to switch your production type to **Only Assets** or **Only NFT Collections**.
-:::
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (asset, NFT Collection, sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or NFT Collections), the total number of estimated days, and the total number of days already spent.
-
-
-
-## Create an Asset
-### Create your first asset
-So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
-
-On the asset page, click on **Add assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
-:::
-
-A pop-up window opens:
-
-It asks you to choose the **Asset Type** (1).
-If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
-Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the tasks pipeline. See the guide (
-[Customization of the workflow](../configure-kitsu/README.md#asset-types)) for more details
-:::
-
-We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
-
-Click on **Confirm and stay** if you have multiple assets to create.
-
-
-
-
-You can change the asset type and keep adding assets.
-
-::: tip
-The newly created asset appears in the background whenever you click on **Confirm and stay**.
-:::
-
-After adding your last asset, click
-on **Confirm**. It will create the asset and close the window.
-
-::: tip
-If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
-:::
-
-
-
-You will also see the tasks that are selected for your assets workflow are created at the same time.
-
-
-If you need to add more **Assets**, click the **+ Create assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-### See the Details of an Asset
-
-To see an asset's detail, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-**concept** linked to this asset,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-## Add more tasks after creating the assets
-
-
-If you realize **after** creating the assets that the task is missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go back to the asset page and click on **+ Add tasks**
-
-
-
-
-
-
- ### Update your assets
-You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
-
-You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
- (1) on the right side of
-the line.
-
-
-
-To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-:::
-
-
-::: details Update Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-## Create a Concept
-### Upload a Concept
-
-To create a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it.
-You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not validated, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, click on it. The linked assets' names will appear at the top of the screen under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-## Create a NFT Collection
-### Create your first NFT Collection
-
-It's time to create **NFT Collections** for your production.
-
-::: warning
-NFT Collections are linked to Sequences in Kitsu.
-You must create a sequence and then populate it with NFT Collections.
-:::
-
-You need to go to the **NFT Collections** page: you can use the
-dropdown menu and click on the **NFT CollectionS**.
-
-
-
-Click on the **Add NFT Collections** button to start with the NFT Collection creation.
-
-
-
-::: warning
-When you create an NFT Collection, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the NFT Collection.
-:::
-
-A new pop-up opens for the creation of the NFT Collections.
-You can now create the sequences and the NFT Collections.
-
-Enter the first sequence, for instance, sq01,
-then **add**.
-
-Now, you can see your sequence has been created. To add NFT Collections to this sequence, you need to select it and create your NFT Collections.
-
-For example, type sh0010 on the NFT Collections column, then again **add**.
-You can also define padding for your NFT Collections.
-
-::: tip
-If you want to name your NFT Collections 10 on ten as SH0010, SH0020, SH0030, etc, set the **NFT Collection Padding** as 10
-:::
-
-
-
-You can now see that new NFT Collections are listed and linked by their sequence.
-You have created the first NFT Collection of the first sequence.
-
-Now, let's add more NFT Collections than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **add** to
-create more NFT Collections.
-
-
-
-To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
-Your second sequence is selected, and you can now add NFT Collections.
-
-::: tip
-If a NFT Collection is misplaced on a sequence, you have to edit the NFT Collection
-, and change the
-sequence.
-
-
-
-:::
-
-
-
-### See the Details of an NFT Collection
-
-If you want to see the details of an NFT Collection, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-## Add more tasks after creating the NFT Collections
-If you realize after creating the NFT Collections that tasks are missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go to the NFT Collection page and click + Add tasks.
-
-
-### Update your NFT Collections
-
-At any point, you can update your NFT Collections, change their name and sequence, modify their description, and any custom information you added to the global page.
-
-You can edit NFT Collections by going to the NFT Collection page, hovering over the NFT Collection you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main NFT Collection page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update NFT Collections Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the NFT Collection page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated NFT Collections will be in blue
-
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your NFT Collections into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the asset's global page or the NFT Collection's global page, click on the arrow to the right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page if you need to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-
-
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the NFT Collections. With the
-breakdown, you have all the details of the assets you need to add to create your
-NFT Collection and we are sure we will omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the episode/sequence/NFT Collection menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
-the middle section, your selection for the NFT Collection (2).
-
-
-
-So now you have to select the NFT Collection you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also select multiple NFT Collections at once. Click on the first NFT Collection, hold the **shift** key, and click on the last NFT Collection of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple NFT Collections, your selection is applied to the numerous NFT Collections.
-
-Copy an NFT Collection filled with assets and paste this asset selection into another NFT Collection.
-
-You can see a **+1** or **+10** when you pass over the asset. It's the number
-of times you add this asset, and you can click on it as many times as you need.
-
-
-
-You can also link all your assets to episodes on a TV show without specifying a sequence or NFT Collection.
-
-
-
-This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
-
-You can now see the asset in the middle of the screen (2). Next
-to the asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this NFT Collection (2). From there, click on
-**-1**. When you finish this NFT Collection, continue with the other NFT Collections.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the storyboard, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
-
-On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
-
-
-
-You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
-
-
-
-You can complete the asset breakdown page the same way you did the NFT Collections. First, select one or more assets on the left and then add the elements on the right.
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
-
-## Introduction to Asset State: Ready For
-
-Most of the time, you don't need to wait for an asset's tasks to be approved to use it on an NFT Collection task.
-
-For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
-Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
-
-That's exactly what the asset state **Ready For** is doing: let you know the state of the tasks of an asset and compare its usability for the NFT collection tasks.
-
-Now that we have filled out our breakdown, we know which asset is used on every NFT Collection.
-
-First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the NFT Collection task.
-
-
-
-::: tip
-You can use the **automations** to do the heavy lifting for you.
-
-You can set automation with the **ready for** trigger.
-:::
-
-Now that we have changed some asset states to **Ready for**, we can see the result on the NFT Collection page.
-
-You can notice that some white boxes are now **Green**: all the assets cast in this NFT Collection are ready for this specific task.
-
-
-
-If you see the white box, Kitsu will display how many assets are ready for this task.
-
-
-
-::: tip
-If you don't see any boxes, no assets are casted for this NFT Collection.
-:::
-
-Then, you can click on the NFT Collection's name to go to its detail page.
-Then, you will see all the assets cast in this NFT Collection and their status.
-
-
-
-It's the fastest way to know if you can start an NFT Collection for a specific task.
-
diff --git a/docs/playlist-client/README.md b/docs/playlist-client/README.md
deleted file mode 100644
index e9f94e975b..0000000000
--- a/docs/playlist-client/README.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# Client Playlists
-
-## Creating Client Playlists
-
-The first step in preparing a review with your client is to create a playlist of the content you wish to share and review. The process is similar to creating a regular playlist but Kitsu includes some nice features to aid with collaborate from parties outside your studio.
-
-To get started, you'll need to create your playlist and add the items you want to review. [See this section here for a reminder on how to do this](../review/README.md#create-a-playlist).
-
-The main difference is to ensure under **To Be Shared With** you select **The Client**. This will ensure the proper permissions and only provide the client access to this specific playlist.
-
-
-
-## Reviewing Client Playlists
-
-Once you have created a playlist, you can notify your client that it is ready for review.
-
-
-
-::: warning
-Your client will only have access to the production if they are part of the team, and they will only see the **client playlist**. Please note there is currently no way to segregate clients within the same production,
-:::
-
-The client has several options to control the playlist.
-
-::: danger Client Permissions
-- Clients can see all versions of all task types.
-- Clients can only see comments they have made and any replies to these comments. They cannot see your internal comments.
-- Clients can only see when a revision has been published, but cannot see who published it.
-- Clients can only see and use statuses with the **Is client Allowed** tag.
-:::
-
-
-
-Clients can (from left to right):
-* Play or Pause the video.
-* Loop on one element.
-* Switch between LD (low definition) and HD (high definition).
-* Change the speed: double speed (x2), full speed (x1), half speed (x0.50), or quarter speed (x0.25).
-* Display annotations during playback.
-* Mute or unmute the audio.
-* Display the audio waveform.
-* Change the task type of all the elements in the playlist.
-* Use the compare tool.
-* Use text and drawing options, and delete selections.
-* Display the comment section.
-* Hide elements of the playlist.
-* Download the playlist as a **Zip** file with all the separate elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots).
-* Enter fullscreen.
-
-::: tip
-The client can navigate frame by frame on the preview using the left and right arrows on the keyboard.
-:::
-
-The client can also:
-* Navigate from element to element by clicking on it.
-* See the color status and length of each element compared to the total.
-* See the position of the selected element compared to the total with the green dot.
-
-## Playback Controls
-
-For each playlisted shot/asset, the client can choose the **task** and the **version** they want to see.
-
-
-
-
-They can also play two tasks of a shot side by side by clicking on the **Compare** button  and choosing the second task type.
-
-
-
-::: tip
-The primary purpose of the playlist is to help the client review the shots and assets. They can comment on the shots directly from the preview.
-:::
-
-To comment, they need to click on the **comment** button.
-
-
-
-This will open the right panel, showing their comments and status history, but without access to internal comments and statuses.
-
-They can draw or type on the video with the **draw** button  and write a comment at the same time.
-
-
-
-You can see the drawing comments on the video (indicated by the red dot below the timeline).
-
-::: warning
-Only the supervisor and production manager can see the client's comments. Artists will only see the status.
-
-The supervisor and production manager can copy the client's comments, modify them if necessary, and publish them for the team.
-
-
-:::
-
-## Review Room
-
-The Review Room is a collaborative space designed for efficient and synchronized dailies review sessions. It ensures that all participants are viewing the same content simultaneously, facilitating real-time feedback and discussion.
-
-You can join the **Review Room** by clicking the button at the top of the playlist. The review room will synchronize all the participants.
-
-Everyone in the review room will see the play, pause, shot, and frame selections in real-time.
-
-Additionally, the Review Room supports synchronized drawing annotations. This feature allows participants to draw directly on the frames being reviewed, with all annotations visible to everyone in the session. This capability enhances communication and clarity, making it easier to point out specific details, suggest changes, and highlight important aspects of the work.
-
-
-
diff --git a/docs/production-report/README.md b/docs/production-report/README.md
deleted file mode 100644
index d8210bccd4..0000000000
--- a/docs/production-report/README.md
+++ /dev/null
@@ -1,325 +0,0 @@
-# Building Production Reports
-
-## Production Overview
-
-As a Producer, having a comprehensive overview of the entire production process is essential.
-
-Kitsu offers various tools to help you stay informed and manage production efficiently without getting overwhelmed by notifications or losing focus.
-
-### News Feed Features
-The news feed section show real-time updates relating to your production, including:
-
-- **Real-Time Updates**: View all status changes as they happen, minute by minute.
-- **Summarized View**: The right part of the screen displays the total number of news items and a breakdown by status.
-- **Filtering Options**: Filter the list by Task Status, Task Type, and Person to focus on specific areas.
-- **Comment Panel**: Clicking on a line opens the comment panel on the right, providing all necessary details.
-
-
-
-#### Using Filters
-
-You can customize the time frame for displaying information using the **Filters Builder** button. This is useful for focusing on specific supervisors or time periods.
-
-
-
-#### Example
-
-If you want to focus on a supervisor for a specific month, select their name and pick a date in the **From** box.
-
-
-
-
-## Know the Current State of the Production
-Understanding the current state of your production is crucial. Kitsu provides detailed statistics and visualizations to help you track progress effectively.
-
-
-### Short / Feature Specific
-We're going to look at some features that are specific to Short / Feature Film workflows.
-
-#### Sequence Stats
-
-The **Sequence Stats** page offers pie charts that depict the status of your production, sequence by sequence. The color scheme of the pie charts corresponds to the status, allowing you to quickly understand the state of your production.
-
-
-
-- **All Sequences**: The first line represents the whole production.
-- **All Tasks**: The first column includes all tasks simultaneously.
-
-By focusing on the first pie chart, you can see the exact state of your production. For more details, look at the rest of the line to get a global view of each task type's state.
-
-#### Asset Types Stats
-
-Similar to Sequence Stats, the **Asset Types Stats** page provides pie charts for asset types, giving you a clear view of the asset status across the production.
-
-
-
-#### Count View
-
-You can also display data as **Counts** to see the exact number of assets, shots, or frames, along with their percentage per status.
-
-
-
-#### Exporting Data
-
-You can export this page as a `.csv` text file and import it into spreadsheet software for further analysis and reporting.
-
-By leveraging these tools, you can stay on top of the production process, ensuring everything runs smoothly and on schedule.
-
-
-### TV Show Specific
-
-You can access an extra information level on a TV show through the **Episodes Stats Page**.
-
-### Retakes Display
-The default setting for the **Episodes Stats** page is **Retakes**. This display lets you see the number of retakes (back and forth) for each episode on each task type. Only three colors are displayed:
-- **Validated as Green**
-- **Retakes as Red**
-- **In progress as Grey**
-
-
-
-If you unfold an episode, you will see the percentage of each take and the evolution of the retakes versus approval. This helps you see the progress of each episode per task.
-
-
-
-Usually, the first episodes have many back-and-forths, but it should get better over time. However, if late episodes still have many retakes, something must be fixed. It's time to discuss the issue with the director and the supervisor.
-
-### Status Display
-
-The second option for data display is **Status**. This status display works like the **Sequence** / **Asset Type** Stats page.
-
-
-
-You can also display data as **Counts**. This way, you'll see the exact number of shots/frames with the percentage per status.
-
-
-
-You can export this page as a `.csv` text file and import it into spreadsheet software.
-
-
-## Ensure Tasks are On Time
-
-To know if a task is on time, you need two things:
-- The **Task Type** of the task
-- An **Estimation** (Bid) in days, along with an estimated **Start date** and **Due date** for the task.
-
-Once this information is entered, you can **compare estimation to reality** on the Task Type page.
-
-
-
-### Methods to Compare Estimations and Actuals
-
-There are two main ways to do this:
-1. **Filtering by Due Date Status**
-2. **Using the Gantt Diagram**
-
-::: tip
-Kitsu automatically grabs the date and status of **WIP** (Work in Progress) and **WFA** (Waiting for Approval). You can compare your **estimated start date** versus **when the Artist really starts**, and compare the **estimated due date** to **when the Artist asks for approval**.
-:::
-
-### Filtering by Due Date Status
-
-On the **Tasks** tab, the first filter you see is **Due Date Status**. Set it to **Due before today** to display all tasks with a **Due date** set **Due Before Today**.
-
-Next, to determine what is finished and what still needs to be finished. Use the **-Done** filter to exclude completed tasks.
-
-
-
-This will show you all the late tasks with the two filters applied, meaning they are only validated after the **Estimated Due Date**. The summary at the bottom of the page updates in real time based on the applied filters.
-
-You can export this page as a `CSV` file and open it with spreadsheet software.
-
-### Using the Late Status Filter
-
-The **Late Status** filter built into the page helps you immediately see which tasks took more time than estimated (**Estimation over Duration**).
-
-
-
-Filter the late tasks using the **Due date late** option. There are two ways to calculate if a task is late:
-1. **Estimated due date** versus **Feedback**
-2. **Estimated due date** versus **Done**
-
-Depending on your studio's calculation method, Kitsu will provide the answer.
-
-
-
-### Using the Gantt Diagram
-
-On the **Task Type Page**, go to the **Schedule** tab. The **Start** and **End** dates of this task type, as set on the production schedule, are visible at the top of the screen.
-
-The **Gantt Diagram** will be dark grey before and after these dates, providing a visual cue for task timing.
-
-
-
-Change the **Coloring** from **Status color** to **Late in Red**. This will show tasks in **Grey** if they are on time and **Red** if they are late.
-
-
-
-You can return to the **Tasks** tab for more details, and Kitsu will retain your filters from tab to tab.
-
-
-## Understanding Why a Task is Late
-
-Now that you know which tasks are late or will be late, you need to understand **why**. There are several reasons why a task might be late:
-
-- The artist is overwhelmed with too many tasks.
-- There is too much back-and-forth on the task.
-- The task might be underestimated, making it difficult to finish on time.
-- The previous task was already late.
-
-### Checking an Artist's Workload
-
-To check an artist's number of tasks, filter the **Task Type** page by the artist's name under the **Task** tab.
-
-
-
-You can also add the **-done** filter to see what the artist has left to do. Then add the **Due Date Status** filter to **Due previous week** or **Due this week**, depending on what you are looking for.
-
-
-
-This will show you how many tasks your artist has to complete.
-
-### Identifying Back-and-Forth
-
-To identify the number of back-and-forths, look at the Retakes column on the Tasks tab. Each **Red Dot** represents a **retake**. Click on the line to open the **Comment panel** and read the entire task history. This is the best way to understand what is happening—whether the artist misunderstood the brief or if the brief changed with each version.
-
-
-
-### Checking if the Task is Underestimated
-
-To check if the task is underestimated, go back to the global page, click on the name of the shot or asset, and see the casting and all the extra information. For example, there might be too many characters in the scene, or it might be a big action scene.
-
-
-
-### Checking the Previous Task
-
-Lastly, you can check the previous task while viewing the asset/shot in detail. Click on it to go to the dedicated **Task Type** page, where you can find detailed information about what was happening before. This can help you understand if delays in earlier tasks are affecting the current one.
-
-
-
-## Durations over Estimates
-
-To focus on the big picture and have a global view of the **Bid**, you can compare the estimated **Person days** versus the reality **Days Spent** on various pages.
-
-### Estimation Summary
-
-On the shots' global page, you can see the sum-up of all the estimations versus duration. You can also apply filters for more specific insights.
-
-For example, to focus on a specific sequence, filter your global page by the sequence's name. The sum-up at the bottom will update accordingly.
-
-
-
-This allows you to know the **Duration** versus **Estimation** for that particular **Sequence**.
-
-Similarly, you can filter the global asset page.
-
-For example, you can filter by a specific **Asset Type** such as **Character**. The sum-up at the bottom will update to show the estimation versus duration for that asset type.
-
-
-
-
-### Task Type Duration over Estimation
-
-To delve into details, click on the name of a task type. The sum-up at the bottom of the screen will show **Duration** versus **Estimation** for this specific task type.
-
-
-
-You can get a global view or focus on a **specific status** or **Artist's name**. As on the global page, the sum-up will update with each filter applied.
-
-
-
-
-This way, you can closely monitor the performance and efficiency of specific tasks and artists, ensuring that estimations align with actual durations and making adjustments as necessary.
-
-
-### Durations over Estimations for an Asset / Shot
-
-To closely examine the details, you can display **Estimation** and **Time Spent** columns (duration) for each asset and shot in Kitsu.
-
-On the global page for shots or assets, you can see the sum-up of each task's **Estimation** and **Duration**. This allows you to quickly identify discrepancies or issues.
-
-
-
-### Detailed Analysis
-
-If something appears wrong or needs further investigation, click on the asset or shot name to go to the detail page.
-
-On the detail page, at the top left of the screen, you'll find a summary of the asset's or shot's lifecycle. This includes details of each task's **Status**, **Estimation**, **Duration**, **Start and Due Date**, and **Assignation**.
-
-
-
-This comprehensive view helps you understand where the discrepancies lie and take corrective actions if necessary. By closely monitoring these details, you can ensure better alignment between estimations and actual durations, leading to more accurate future planning and resource allocation.
-
-
-
-## Checking Quotas
-
-Kitsu provides two methods for calculating quotas per **shot Task Type**.
-
-### Method 1: Timesheet-Based Calculation
-
-This method weights quotas according to the time spent on tasks as recorded in the timesheets.
-
-- **Task Completion**: Shots are considered completed upon the first feedback request. The quotas are then weighted based on the time recorded in the timesheet.
-
-
-
-In this example, Kitsu calculates the daily quota using timesheet data.
-
-
-
-### Method 2: Status-Based Calculation
-
-If no timesheet data is available, Kitsu uses status changes to calculate quotas.
-
-- **Task Start**: The task is considered to have started when its status changes to WIP.
-- **Task Completion**: The task is considered completed on the day the feedback request is made.
-
-### Detailed Quota Calculation
-
-Kitsu splits the completed frames among all business days between the task's start and end dates, attributing the number of frames (or seconds, or tasks) submitted per day/week/month to each artist.
-
-
-
-At any point, you can click on a number to see detailed information in the right panel.
-
-
-
-::: danger
-**Note**: If no timesheet is filled, Kitsu defaults to considering:
-- The task started with the first status change to WIP.
-- The task was completed on the day the feedback request was made.
-:::
-
-This method ensures that even in the absence of detailed timesheet data, there is a reliable way to track task progress and calculate quotas accurately.
-
-
-## Team Timesheets
-
-::: warning
-All of the previous chapters are based on the fact that **Estimation** and **Duration** are filled for each task.
-:::
-
-Everybody has to do their part. You and the supervisor will handle the estimation, while your team will fill out their timesheets.
-
-Navigate to the main menu and select the Timesheet page.
-
-
-
-### Viewing Timesheets
-
-On this page, you can view each team member's timesheet by day. This allows you to check whether they fill it out daily, took a day off, or worked extra hours.
-
-If you have a question about a timesheet entry, click on it to see the details of the production, task type, and specific task.
-
-
-
-Once everything looks good at the day level, you can change the **Detail Level** from Day to Week, Month, or Year.
-
-
-
-You can view all the productions you manage simultaneously or look at each production individually.
-
-### Exporting Timesheets
-
-As with all other pages in Kitsu, you can export the timesheet data as a CSV file and open it in spreadsheet software for further analysis.
diff --git a/docs/production-report/specific_task_type_creation.txt b/docs/production-report/specific_task_type_creation.txt
deleted file mode 100644
index c0598edc4d..0000000000
--- a/docs/production-report/specific_task_type_creation.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-Now, you are into your production on the asset page.
-
-
-
-You need to click on the avatar of the production to access its different pages.
-
-The first step you need to do is to set the **settings** of your production.
-
-Use the navigation menu and go to the **Settings** page.
-
-
-
-### Add a Brief
-
-On the first tab of the **Settings** page, Kitsu asks you about a brief. It's a good way to keep track of the first
-brief of the production and being able to get back to it later.
-
-/!\ **Only Studio manager permission have access to the Settings page** /!\
-
-
-
-
-### Define Production's Parameters
-
-The second tab is the more **important**. You need to define your production's parameters to be sure that everything will go smoothly.
-
-
-
-- 1/ You can change the name of the production
-
-- 2/ You can define the start and end date of the production to set the schedule
-
-- 3/ You can change the Type of the production: Short, TV Show, Feature Film
-
-- 4/ You can add the number of episodes of your TV Show for information
-
-- 5/ You need to set the FPS of the video preview. Kitsu will use this FPS to encode them. **Per default, Kitsu will encode everything at 24 FPS**
-
-- 6/ You can enter the ratio for information only
-
-- 7/ You need to set the resolution of the video preview. **Kitsu will use this resolution to encode the videos**.
-
-- 8/ You can add a picture to identify your production better.
-
-Validate everything with the **Save** button.
-
-
-
-
-### Select a specific Task Status for a production
-
-
-Per default, Kitsu will load all the Task Status of your status library into your production.
-
-But you can choose to use only specific status.
-
-
-
-On the "Task Status" tab, you can choose which status you want to use on this production,
-validate your choice with the "Add" button.
-
-
-
-
-You can also see the sum up of the parameters of each status.
-
-(To add new Task Status, see [Customization of the workflow](../customization/README.md#create-a-new-task-status) )
-
-
-### Select specific Task Types for a production
-
-
-Per default, Kitsu will load all the Task Types of your Task Types library into your production.
-
-
-
-But you can choose to use only specific Task Types, depending on the type of your production.
-(To add a new Task Type, see [Customization of the workflow](../customization/README.md#create-a-new-task-type) )
-
-For example, you can create a 2D and A CGI workflow on your library and add the needed task types into this production.
-
-
-On the "Task Types" tab, you can choose which Task Types you want to use on this production,
-validate your choice with the "Add" button.
-
-You can also enter the start date and the due date for each task type.
-
-Once you add assets and shots to your production; your schedule will be set automatically.
-
-
-
-
-### Select specific Asset Types for a production
-
-
-Per default, Kitsu will load all the Asset Types of your status library into your production.
-
-But you can choose to use only specific Asset Types, depending on the type of your production.
-
-
-
-On the "Asset Types" tab, you can choose which Asset Types you want to use on this production,
-validate your choice with the "Add" button.
-
-
-
diff --git a/docs/public/illustration_developer_documentation.png b/docs/public/illustration_developer_documentation.png
new file mode 100644
index 0000000000..7031a4d023
Binary files /dev/null and b/docs/public/illustration_developer_documentation.png differ
diff --git a/docs/public/kitsu.png b/docs/public/kitsu.png
new file mode 100644
index 0000000000..2a8339d6d0
Binary files /dev/null and b/docs/public/kitsu.png differ
diff --git a/docs/publish/README.md b/docs/publish/README.md
deleted file mode 100644
index 400681a759..0000000000
--- a/docs/publish/README.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# Publishes
-
-## Publishing a Concept
-
-To publish a **Concept**, navigate to the **Concepts** page from the project navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button. You can upload one or several concepts simultaneously.
-
-
-
-After the upload is complete, previews will be generated and visible from your concepts page.
-
-
-
-Click on the thumbnail to see an enlarged preview of your concept, or click on the status to open the **Comment Panel** on the right.
-
-With the comment panel open, you have two options:
-
-1) You can link a concept with an existing asset / delete and existing link.
-2) You can comment and change the status of the concept.
-
-It is good practice to only have one version per **Concept**. If the concept is not approved and requires additional changes, then it's better to version-up that concept.
-
-
-
-## Linking a Concept to an Asset
-
-Once concepts are uploaded, you can link them to assets.
-
-The name of the linked asset is displayed below the thumbnail of the concept, and above the status. If no asset is linked, this area will be blank.
-
-Click on the status of the concept to open the comment panel on the right.
-
-
-
-From here you can adjust what the concept is linked to, or delete it. In our example below, the concept is not currently linked to an asset.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the uploaded concept.
-
-
-
-Select the assets from the list that you want to link to. The linked asset names will then appear at the top of the screen and will also display under the concept's thumbnail.
-
-
-
-Once a concept is linked to an asset, it can be seen and referenced from the asset's detail page. Return to the asset page and click on the asset which you just linked to your concept.
-
-
-
-By default, the casting detail is displayed on the second part of the screen. Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them by status.
-
-
-
-
-## Publish a Preview as a Version
-To publish a preview, picture, or video, access the task's comment panel and select the **PUBLISH REVISION** tab.
-
-Kitsu automatically switches to the **Publish Revision** tab when using a status with the **IS FEEDBACK REQUEST** option, such as the **WFA** Status.
-
-
-
-You can add one or several previews to any comments. These can be a picture (`.png`, `.jpg`, `.jpeg`, `.gif`), a video (`.mp4`, `.mov`, `.wmv`), or a `.glb` file. Additionally, you can review all the previews from the browser or mix everything.
-
-You can also review a `.glb` file as a wireframe or add a `.HDR` file to check the lighting. See the **Customization** section for more details.
-
-[Pipeline Customization](../configure-kitsu/README.md#3d-backgrounds)
-
-Other files like `.pdf`, `.zip`, `.rar`, `.ma`, or `.mb` cannot be viewed in the browser and need to be downloaded to be reviewed.
-
-Then, click on the **Add preview revision to publish** button. The explorer opens, allowing you to choose your file or several files.
-
-
-
-You can also **copy-paste a screenshot** from your clipboard into this upload dialogue, without needing to download it first. Once your file is selected, you will see its name near the **Add files to publish** button.
-
-
-
-You can also **drag & drop** files that you wish to upload into the comment section to automatically start the upload process.
-
-
-
-On top of your preview, you can add a **Comment**. Click the **Leave a Comment** button to unfold the comment section.
-
-
-
-You can then select your status and publish your preview with the **Post** Button.
-
-For more information on using publishes as thumbnails, [see this section here on thumbnails](../thumbnails/README.md).
-
-
-## Combining Previews Into a Version
-
-You can add multiple images simultaneously, or once you have uploaded an image, you can add another one.
-
-
-
-The **Add preview** pop-up asks you to choose a file. You can navigate through the pictures uploaded.
-
-You can change the preview order by clicking the number and then dragging and dropping them.
-
-
-
-To delete an additional preview, enlarge the comment panel, click on the number of versions, and then click on the .
-
-
\ No newline at end of file
diff --git a/docs/publisher/README.md b/docs/publisher/README.md
deleted file mode 100644
index 60463305af..0000000000
--- a/docs/publisher/README.md
+++ /dev/null
@@ -1,354 +0,0 @@
-# Kitsu Publisher
-
-Kitsu is a web application designed to streamline production progress sharing and delivery validation, enhancing communication among stakeholders for faster, higher-quality outputs.
-
-The Kitsu Publisher is a desktop application that bridges DCC tools with Kitsu, allowing artists to manage their tasks, add comments, and send previews directly from their tools.
-
-## DCC Integrations Status:
-
-Currently supported:
-- Blender
-- Toon Boom Harmony
-- Unreal Engine
-
-Work in progress:
-- Photoshop
-- Nuke
-
-## Installation
-
-### Installation of the Kitsu Publisher
-
-#### Pre-Requisites
-
-You need to download (or to build if you want to: see [Development Environment](#development-environment)) your preferred installer/package/portable for the app corresponding to your OS in the [releases](https://github.com/cgwire/kitsu-publisher-next/releases/latest).
-
-All commands have the keyword {version} in the filenames, you need to replace the version with the current version of the Kitsu Publisher.
-
-#### On Linux
-
-- **deb package** (for Debian-based distributions):
- - To install the package:
-
- ```shell
- dpkg -i kitsu-publisher_{version}_amd64.deb
- ```
-
- - The package is now in your applications and in your $PATH.
-
-- **rpm package** (for RHEL-based distributions):
- - To install the package:
-
- ```shell
- rpm -i kitsu-publisher_{version}_x86_64.rpm
- ```
-
- - The package is now in your applications and in your $PATH.
-
-- **snap package**:
- - To install the package:
-
- ```shell
- snap install kitsu-publisher_{version}_amd64.snap --dangerous
- ```
-
- - The package is now in your applications and in your $PATH.
-
-- **tar.gz archive**:
- - To extract the archive:
-
- ```shell
- tar -xf kitsu-publisher-{version}.tar.gz
- ```
-
- - To run the app:
-
- ```shell
- kitsu-publisher-{version}/kitsu-publisher
- ```
-
-- **AppImage**:
- - to run the app:
-
- ```shell
- ./Kitsu publisher-{version}.AppImage
- ```
-
-
-#### On Windows
-
-- **NSIS Installer**:
- Double-click the installer `Kitsu-publisher-Setup-{version}.exe` and follow the instructions.
-
-- **MSI Installer**:
- Double-click the installer `Kitsu-publisher-{version}-ia32.msi` to install the app.
-
-- **Portable application**:
- Double-click the executable `Kitsu-publisher-{version}.exe`.
-
-- **Zip portable application**:
- Extract the zip `Kitsu-publisher-{version}-ia32-win.zip`, and double-click `Kitsu publisher.exe`.
-
-#### On MacOS
-
-- **DMG Installer**:
- Double-click the installer `Kitsu-publisher-{version}.dmg`, drag the Kitsu logo to the "Applications" folder.
-
-- **PKG Installer**:
- ```shell
- sudo installer -package Kitsu-publisher-{version}.pkg -target /
- ```
-
-- **Zip portable application**:
- Double-click the zip `Kitsu-publisher-{version}-mac.zip`, then double-click the Kitsu Publisher icon.
-
-
-## Development Environment
-
-### Pre-Requisites
-
-To develop or to build the Electron app you need [Node.js](https://nodejs.org/en/)>=16.11 installed.
-
-### Dependencies
-
-To install all the dependencies needed by the Electron app you have to run in the project folder:
-
-```shell
-npm install
-```
-
-### Run
-
-To run the Electron app in development mode you have to run an npm script:
-
-```shell
-npm run dev
-```
-
-It will spawn an electron instance and a Vite development server.
-
-### Build the Electron App
-
-#### Pre-Requisites
-
-- On debian based Linux you need:
-
- - To install these packages:
-
- ```shell
- apt-get install build-essential libcairo2-dev libpango1.0-dev \
- libjpeg-dev libgif-dev librsvg2-dev
- ```
-
- - If you want to build specific target like rpm you need to install:
-
- ```shell
- apt-get install rpm
- ```
-
-- On Windows you need:
-
- - See the [wiki](https://github.com/Automattic/node-canvas/wiki/Installation:-Windows) of node-canvas.
-
-- On macOS you need (with [Homebrew](https://brew.sh/)):
-
- ```shell
- brew install pkg-config cairo pango libpng jpeg giflib librsvg
- ```
-
-#### Building the App
-
-You need to run npm scripts:
-
-- If you only want to build an unpackaged directory:
-
- ```shell
- npm run build
- ```
-
-- If you want to build for all targets:
-
- ```shell
- npm run build:all
- ```
-
-## Installation of the DCCs connectors
-
-#### Pre-requisites
-
-Download the `connectors-{version}.zip` from the [latest releases](https://github.com/cgwire/kitsu-publisher-next/releases/latest) and unzip it.
-
-#### Blender (version>2.80)
-
-- You need to go inside the connectors/blender directory.
-
-- On Windows (with PowerShell):
-
- - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Blender it will install the plugin for all the installations (not if you select a portable Blender).
-
- - If you want to run the script with PowerShell command line it's possible, look at the help with:
-
- ```shell
- .\install.ps1 -help
- ```
-
-- On Linux:
-
- - If Blender is installed with a system package (for example: deb or rpm):
-
- ```shell
- bash ./install.sh --system
- ```
-
- - If Blender is an unpacked directory (tar.xz archive):
-
- ```shell
- bash ./install.sh --unpacked-directory=PATH_TO_YOUR_PORTABLE_BLENDER
- ```
-
- - If Blender is installed with a snap package:
-
- ```shell
- bash ./install.sh --snap
- ```
-
-- On macOS:
-
- - If Blender is installed with a dmg image or Homebrew:
-
- ```shell
- bash ./install.sh --dmg
- ```
-
-#### Toon Boom Harmony
-
-- You need to go inside the connectors/harmony directory.
-
-- On Windows (with PowerShell):
-
- - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Toon Boom Harmony it will install the plugin for all the installations.
-
- - If you want to run the script with PowerShell command line it's possible, look at the help with:
-
- ```shell
- .\install.ps1 -help
- ```
-
-- On macOS:
-
- - coming soon
-
-#### Unreal Editor (version>=5)
-
-- You need to go inside the connectors/unreal directory.
-
-- On Windows (with PowerShell):
-
- - If you want to be guided through the installation of the plugin, you have to right-click on the script install.ps1 and select "Run with PowerShell" to run the script in prompt mode. If you have multiple installations from installer of Unreal Editor it will install the plugin for all the installations.
-
- - If you want to run the script with PowerShell command line it's possible, look at the help with:
-
- ```shell
- .\install.ps1 -help
- ```
-
-- On Linux:
-
- - coming soon
-
-- On macOS:
-
- - coming soon
-
-## Publishing Previews with the Kitsu Publisher
-
-You must first have the Kitsu publisher and the plugin installed on your computer.
-
-## Consult Your To-Do List
-
-Log in to the Kitsu Publisher using your Kitsu credentials. You will see your to-do list with similar options as in Kitsu.
-
-
-
-To comment or publish on a task, click on the status.
-
-
-
-The comment panel will open with the previews and the whole history of this task.
-
-The first new element is that you have direct access to your timesheet. You can move the cursor to adapt the timeline to the number of hours spent on this specific task.
-
-
-
-When you are ready to publish your work, click on the **Add a review to publish** button.
-
-
-## Publish a Preview From the Publisher
-
-You can either upload the preview manually or let the Kitsu Publisher do it for you. Kitsu Publisher will detect the open DCC and project.
-
-
-
-Select your camera and render engine, and choose between a screenshot or full animation render.
-
-Here, for example, we select the **Screenshot** option. Kitsu publisher will ask your DCC to do the render for you and display the result.
-
-
-
-Once satisfied, click **Confirm**, add your comment, change the status, and click **Post Comment** to upload the preview.
-
-
-
-Now everybody logged in to Kitsu will see your comment and publish.
-
-
-## Setup the Publisher
-
-### Change the Save Directory and Add Scripts
-
-You can access settings via your avatar.
-
-
-
-You have two options here: the first one is the directory for exports made by the DCCs.
-
-Per default, it's set to your temporary directory. You can change it, and then this specific folder will be used for all the exports. You can also use a network drive.
-
-The second option is about the command you can launch after the exports made by the DCCs but before the upload into Kitsu.
-
-You can launch a command or a script directly on the exported file, the folder, etc.
-
-
-
-
-You can insert variables in your command. You just have to put the chosen variable under curly brackets (for example: {exportFile}). These variables are also in the environment variables at runtime. They are listed below:
-
-- exportsDirectory (String) : the directory path where the exports are made.
-- exportFile (String): the path of the file that will be exported.
-- exportIsAnimation (Boolean) : true if the export is an animation else false.
-- exportIsScreenshot (Boolean) : true if the export is a screenshot else false.
-- DCCName (String) : the name of the DCC.
-- DCCVersion (String) : the version of the DCC.
-- currentProject (String) : the path of the current project opened in the DCC.
-- cameraSelected (String) : the name of the Camera selected.
-- rendererSelected (String) : the name of the renderer selected.
-- extensionSelected (String) : the name of the extension selected.
-- entityName (String) : the name of the entity.
-- entityTypeName (String) : the name of the entity type.
-- episodeName (String) : the name of the episode type.
-- fullEntityName (String) : the full name of the entity.
-- projectName (String) : the name of the project.
-- taskStatusName (String) : the name of the task status.
-- taskTypeName (String) : the name of the task type
-
-### View the Result of the Setting on the Export Pop-Up
-
-Once your preview is rendered, you can check the directory and the scripts launched.
-
-
-
-Click on the options icon to see the command executed before the import.
-
-
-
-Confirm if everything is correct, then post your comment as usual.
diff --git a/docs/recipes/3d-background/index.md b/docs/recipes/3d-background/index.md
new file mode 100644
index 0000000000..08b5628bd0
--- /dev/null
+++ b/docs/recipes/3d-background/index.md
@@ -0,0 +1,65 @@
+---
+prev: false
+next: false
+---
+
+# 3D Backgrounds
+
+## Create a Global Library of HDR Files
+
+The 3D Backgrounds feature enhances your review of 3D files (`.GLB`) by incorporating an `.HDR` background to make things easier to review.
+
+The `.GLB` file format is a binary container that encompasses various 3D assets and resources. These assets may comprise 3D models, textures, materials, and animations.
+
+::: warning Definition
+It means you can review your 3D files with lighting information.
+:::
+
+In this section, you can create your own. `.HDR` files library that you can use in your production.
+
+Go to the main menu , and select **3D Backgrounds**.
+
+
+
+
+From here, you can add a `.HDR` Background by clicking the **+Add a new background** button.
+
+
+
+
+From this point, you'll need to select your `.HDR` background, provide a name for it, and decide whether you want this `.HDR` to serve as the default background.
+
+::: tip
+Checking the `Is Default` option means this HDR will be applied across your entire production instead of the default grey background.
+:::
+
+
+
+Once you have uploaded all your `.HDR` files, Kitsu will display them as a list.
+
+
+
+
+Your new **3D Background** is now created in your **Global Library**.
+
+::: warning
+You must add them to your **Production Library** once you have created your production.
+:::
+
+## Select Specific Preview Background for a Production
+
+On the **Navigation Menu**, choose on the dropdown menu the **Setting**.
+
+
+
+On the **Preview Backgrounds** tab, you can choose which HDR file you want to add or remove on this production,
+
+
+
+Validate your choice with the **add** button.
+
+
+
+You can review your 3D file with an HDR background.
+
+
diff --git a/docs/recipes/assets-only-production/index.md b/docs/recipes/assets-only-production/index.md
new file mode 100644
index 0000000000..da9943df19
--- /dev/null
+++ b/docs/recipes/assets-only-production/index.md
@@ -0,0 +1,64 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for Assets-Only Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Creating Custom Metadata Columns
+
+
+
+
+
+## 7. Create an Edit
+
+
+
+
+
+## 8. Create a Breakdown List
+
+
+
+
+
+## 9. Casting from the Asset Library
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/for-feature-films/index.md b/docs/recipes/for-feature-films/index.md
new file mode 100644
index 0000000000..18868c4fb0
--- /dev/null
+++ b/docs/recipes/for-feature-films/index.md
@@ -0,0 +1,108 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for Feature Film Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our first asset.
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Create a Shot
+
+
+
+
+
+## 7. Create Shots from an EDL File
+
+
+
+
+
+## 8. Update your shots
+
+
+
+
+
+## 9. Add more tasks after creating the shots
+
+
+
+
+
+## 10. Adding Frame Numbers and Ranges to Shots
+
+
+
+
+
+## 11. Creating Custom Metadata Columns
+
+
+
+
+
+## 12. Create a Sequence
+
+
+
+
+
+## 13. Create an Edit
+
+
+
+
+
+## 14. Create a Breakdown List
+
+
+
+
+
+## 15. Casting from the Asset Library
+
+
+
+
+
+## 16. Introduction to Asset State: Ready For
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/for-nfts/index.md b/docs/recipes/for-nfts/index.md
new file mode 100644
index 0000000000..77fb207729
--- /dev/null
+++ b/docs/recipes/for-nfts/index.md
@@ -0,0 +1,88 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for NFT Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Create a NFT Collection
+
+
+
+
+
+## 7. Create NFT Collections from an EDL File
+
+
+
+
+
+## 8. Update your NFT Collections
+
+
+
+
+
+## 9. Add more tasks after creating the NFT Collections
+
+
+
+
+
+## 10. Creating Custom Metadata Columns
+
+
+
+
+
+## 11. Create a Breakdown List
+
+
+
+
+
+## 12. Casting from the Asset Library
+
+
+
+
+
+## 13. Introduction to Asset State: Ready For
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/for-shorts/index.md b/docs/recipes/for-shorts/index.md
new file mode 100644
index 0000000000..f73e587d92
--- /dev/null
+++ b/docs/recipes/for-shorts/index.md
@@ -0,0 +1,106 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for Shorts Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Create a Shot
+
+
+
+
+
+## 7. Create Shots from an EDL File
+
+
+
+
+
+## 8. Update your shots
+
+
+
+
+
+## 9. Add more tasks after creating the shots
+
+
+
+
+
+## 10. Adding Frame Numbers and Ranges to Shots
+
+
+
+
+
+## 11. Creating Custom Metadata Columns
+
+
+
+
+
+## 12. Create a Sequence
+
+
+
+
+
+## 13. Create an Edit
+
+
+
+
+
+## 14. Create a Breakdown List
+
+
+
+
+
+## 15. Casting from the Asset Library
+
+
+
+
+
+## 16. Introduction to Asset State: Ready For
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/for-tvshows/index.md b/docs/recipes/for-tvshows/index.md
new file mode 100644
index 0000000000..097b997967
--- /dev/null
+++ b/docs/recipes/for-tvshows/index.md
@@ -0,0 +1,106 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for TV Show Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Create a Shot
+
+
+
+
+
+## 7. Create Shots from an EDL File
+
+
+
+
+
+## 8. Update your shots
+
+
+
+
+
+## 9. Add more tasks after creating the shots
+
+
+
+
+
+## 10. Adding Frame Numbers and Ranges to Shots
+
+
+
+
+
+## 11. Creating Custom Metadata Columns
+
+
+
+
+
+## 12. Create a Sequence
+
+
+
+
+
+## 13. Create an Edit
+
+
+
+
+
+## 14. Create a Breakdown List
+
+
+
+
+
+## 15. Casting from the Asset Library
+
+
+
+
+
+## 16. Introduction to Asset State: Ready For
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/for-videogames/index.md b/docs/recipes/for-videogames/index.md
new file mode 100644
index 0000000000..5f6d963573
--- /dev/null
+++ b/docs/recipes/for-videogames/index.md
@@ -0,0 +1,106 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for Video Game Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create an Asset
+
+
+
+
+
+## 3. Update Your Assets
+
+
+
+
+
+## 4. Add More Tasks After Creating the Assets
+
+
+
+
+
+## 5. Create a Concept
+
+
+
+
+
+## 6. Create a Map
+
+
+
+
+
+## 7. Create Maps from an EDL File
+
+
+
+
+
+## 8. Update your maps
+
+
+
+
+
+## 9. Add more tasks after creating the maps
+
+
+
+
+
+## 10. Adding Frame Numbers and Ranges to Maps
+
+
+
+
+
+## 11. Creating Custom Metadata Columns
+
+
+
+
+
+## 12. Create a Level
+
+
+
+
+
+## 13. Create an Edit
+
+
+
+
+
+## 14. Create a Breakdown List
+
+
+
+
+
+## 15. Casting from the Asset Library
+
+
+
+
+
+## 16. Introduction to Asset State: Ready For
+
+
+
+
\ No newline at end of file
diff --git a/docs/recipes/shots-only-production/index.md b/docs/recipes/shots-only-production/index.md
new file mode 100644
index 0000000000..bd54877cbd
--- /dev/null
+++ b/docs/recipes/shots-only-production/index.md
@@ -0,0 +1,64 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Quickstart for Shots-Only Productions
+
+## 1. Create a new production
+
+
+
+
+
+## 2. Create a Shot
+
+
+
+
+
+## 3. Create Shots from an EDL File
+
+
+
+
+
+## 4. Update your shots
+
+
+
+
+
+## 5. Add more tasks after creating the shots
+
+
+
+
+
+## 6. Adding Frame Numbers and Ranges to Shots
+
+
+
+
+
+## 7. Creating Custom Metadata Columns
+
+
+
+
+
+## 8. Create a Sequence
+
+
+
+
+
+## 9. Create an Edit
+
+
+
+
\ No newline at end of file
diff --git a/docs/faq/README.md b/docs/resources/faq/index.md
similarity index 74%
rename from docs/faq/README.md
rename to docs/resources/faq/index.md
index 706332f3e0..a5d08eaba4 100644
--- a/docs/faq/README.md
+++ b/docs/resources/faq/index.md
@@ -1,159 +1,159 @@
-# Frequently Asked Questions
-
-This FAQ guide provides quick solutions to common Kitsu issues, such as login problems, task management, and production organization. Explore the sections below for step-by-step instructions and helpful tips. For further support, check the detailed [Kitsu documentation](../configure-kitsu/) or contact support.
-
----
-
-## Login Issues
-
-### I can't log in to Kitsu anymore
-The first thing to check is the **web address** you are using to log in.
-
-- If the web address is **account.cg-wire.com/signin** and you see the CGWire logo, you are on the **wrong page**.
-
- 
-
- The **account page** is only for managing subscriptions, invoices, etc. You won't have access unless you've registered for a subscription.
-
-- The correct web address for your Kitsu instance should look like **your-studio-name.cg-wire.com**. On this page, you'll be prompted to log in, and you should see the Kitsu logo.
-
- 
-
-If you're unsure of the correct link:
-- Check the invitation email you received.
-- Contact your studio manager for assistance.
-
----
-
-## Task Management
-
-### I created a new Task Type, but I don't see it in my production
-If you've created a new task type ([see documentation](../configure-kitsu/#task-types)) but it isn’t appearing in your production, it’s likely because task types need to be explicitly added to your **Production Library** after being created in the **Studio Library**.
-
-#### Understanding the Difference:
-- **Studio Library**: This is where all task types are initially created and stored for your studio.
-- **Production Library**: Each production has its own library, and task types must be added here before they can be used within that production.
-
-
-#### Steps to Add Task Types to Your Production
-1. Go to your production **Settings** page from the navigation menu.
- 
-
-2. Navigate to the **Task Types** tab.
- 
-
-3. Select the appropriate entity tab (e.g., assets, shots, sequences, episodes, edits).
-4. Find your task type in the list on the right and click to add it.
-
-Once added, go back to your entity page and click **Add Task Type**.
-
-
-:::warning
-**Permissions**:
- If you can't see the **Settings** option in the main menu, you may not have the necessary permissions. Please contact your studio administrator if you do not have this option.
-:::
-
----
-
-### My Task Type columns are not in the right order
-If task type columns appear out of order, you can adjust them:
-
-- **Studio-wide order**:
- 1. Go to the main menu under the **ADMIN** section and click **Task Types**.
- 
- 2. Drag and drop task types into the desired order.
- 
-
-- **Production-specific order**:
- 1. Go to the **Settings** page for your production.
- 2. Navigate to the **Task Types** tab and adjust the order by dragging and dropping.
-
----
-
-### Task Type columns are missing
-If some task type columns are missing on the entity page:
-
-1. Check the department filter and ensure it is set to **All Departments**.
- 
-
-2. Ensure the **Show additional information** button is highlighted.
- 
-
-3. If columns are reduced, they won't display unless additional information is shown.
-
----
-
-## Team and Assignments
-
-### I can't assign anyone to a task
-If the list of assignees in the comment panel is empty, it means the people you've added to the **People** page haven't been added to the production.
-
-#### Steps to Add People to a Production
-1. Navigate to the **Team** page from the production menu.
- 
-
-2. The **Team** page will be empty, but you'll see a list of people on the right.
- 
-
-3. Add people individually or by department.
-
-Once added, they'll have access to the production, and you can assign them tasks.
-
----
-
-### All assignments have disappeared
-If assignees' avatars are no longer visible:
-
-1. Ensure you haven’t accidentally clicked the **Hide Assignments** button.
- 
-
-2. Click the button again to make the avatars reappear.
-
----
-
-## Production Management
-
-### How to Delete or Archive a Production
-
-If you no longer need access to a production, you can choose to archive or delete it.
-
-- **Archiving**: This will remove the production from the navigation menu but keep it accessible for reference.
-- **Deleting**: This is a permanent, non-reversible action that will completely remove the production from your Kitsu instance.
-
-#### Steps to Archive a Production
-1. Go to the main menu and select **Productions** under the **STUDIO** section.
- 
-
-2. Locate the production you want to archive and click the edit button.
- 
-
-3. Change the **Status** from **Open** to **Closed** and confirm.
- 
-
-The production is now archived and will no longer appear in the navigation menu.
-
----
-
-#### Steps to Delete a Production
-Only archived productions can be deleted. If you're sure you want to permanently remove a production:
-
-1. From the **Productions** list, hover over the archived (closed) production. A trash icon will appear.
-2. Click the trash icon, and a confirmation dialog will open.
-3. Type the name of the production to confirm the deletion.
-
-
-
-:::warning
-Deleting a production is permanent and cannot be undone. Only proceed if you’re certain the data is no longer needed.
-:::
-
----
-
-## Miscellaneous
-
-### Where can I see the storage I'm using?
-Currently, Kitsu does not display storage usage directly in the interface or on your account page. This means you won't find a section in the app showing how much storage your productions or assets are consuming.
-
-If you need to check your storage usage:
-- Contact your system administrator or IT team if Kitsu is hosted on your studio's servers.
-- If you're using a cloud-hosted Kitsu instance, email **support@cg-wire.com** with your studio name and account details, where our team can provide you with the necessary information.
\ No newline at end of file
+# Frequently Asked Questions
+
+This FAQ guide provides quick solutions to common Kitsu issues, such as login problems, task management, and production organization. Explore the sections below for step-by-step instructions and helpful tips. For further support, check the detailed [Kitsu documentation](../configure-kitsu/) or contact support.
+
+---
+
+## Login Issues
+
+### I can't log in to Kitsu anymore
+The first thing to check is the **web address** you are using to log in.
+
+- If the web address is **account.cg-wire.com/signin** and you see the CGWire logo, you are on the **wrong page**.
+
+ 
+
+ The **account page** is only for managing subscriptions, invoices, etc. You won't have access unless you've registered for a subscription.
+
+- The correct web address for your Kitsu instance should look like **your-studio-name.cg-wire.com**. On this page, you'll be prompted to log in, and you should see the Kitsu logo.
+
+ 
+
+If you're unsure of the correct link:
+- Check the invitation email you received.
+- Contact your studio manager for assistance.
+
+---
+
+## Task Management
+
+### I created a new Task Type, but I don't see it in my production
+If you've created a new task type ([see documentation](../configure-kitsu/#task-types)) but it isn’t appearing in your production, it’s likely because task types need to be explicitly added to your **Production Library** after being created in the **Studio Library**.
+
+#### Understanding the Difference:
+- **Studio Library**: This is where all task types are initially created and stored for your studio.
+- **Production Library**: Each production has its own library, and task types must be added here before they can be used within that production.
+
+
+#### Steps to Add Task Types to Your Production
+1. Go to your production **Settings** page from the navigation menu.
+ 
+
+2. Navigate to the **Task Types** tab.
+ 
+
+3. Select the appropriate entity tab (e.g., assets, shots, sequences, episodes, edits).
+4. Find your task type in the list on the right and click to add it.
+
+Once added, go back to your entity page and click **Add Task Type**.
+
+
+:::warning
+**Permissions**:
+ If you can't see the **Settings** option in the main menu, you may not have the necessary permissions. Please contact your studio administrator if you do not have this option.
+:::
+
+---
+
+### My Task Type columns are not in the right order
+If task type columns appear out of order, you can adjust them:
+
+- **Studio-wide order**:
+ 1. Go to the main menu under the **ADMIN** section and click **Task Types**.
+ 
+ 2. Drag and drop task types into the desired order.
+ 
+
+- **Production-specific order**:
+ 1. Go to the **Settings** page for your production.
+ 2. Navigate to the **Task Types** tab and adjust the order by dragging and dropping.
+
+---
+
+### Task Type columns are missing
+If some task type columns are missing on the entity page:
+
+1. Check the department filter and ensure it is set to **All Departments**.
+ 
+
+2. Ensure the **Show additional information** button is highlighted.
+ 
+
+3. If columns are reduced, they won't display unless additional information is shown.
+
+---
+
+## Team and Assignments
+
+### I can't assign anyone to a task
+If the list of assignees in the comment panel is empty, it means the people you've added to the **People** page haven't been added to the production.
+
+#### Steps to Add People to a Production
+1. Navigate to the **Team** page from the production menu.
+ 
+
+2. The **Team** page will be empty, but you'll see a list of people on the right.
+ 
+
+3. Add people individually or by department.
+
+Once added, they'll have access to the production, and you can assign them tasks.
+
+---
+
+### All assignments have disappeared
+If assignees' avatars are no longer visible:
+
+1. Ensure you haven’t accidentally clicked the **Hide Assignments** button.
+ 
+
+2. Click the button again to make the avatars reappear.
+
+---
+
+## Production Management
+
+### How to Delete or Archive a Production
+
+If you no longer need access to a production, you can choose to archive or delete it.
+
+- **Archiving**: This will remove the production from the navigation menu but keep it accessible for reference.
+- **Deleting**: This is a permanent, non-reversible action that will completely remove the production from your Kitsu instance.
+
+#### Steps to Archive a Production
+1. Go to the main menu and select **Productions** under the **STUDIO** section.
+ 
+
+2. Locate the production you want to archive and click the edit button.
+ 
+
+3. Change the **Status** from **Open** to **Closed** and confirm.
+ 
+
+The production is now archived and will no longer appear in the navigation menu.
+
+---
+
+#### Steps to Delete a Production
+Only archived productions can be deleted. If you're sure you want to permanently remove a production:
+
+1. From the **Productions** list, hover over the archived (closed) production. A trash icon will appear.
+2. Click the trash icon, and a confirmation dialog will open.
+3. Type the name of the production to confirm the deletion.
+
+
+
+:::warning
+Deleting a production is permanent and cannot be undone. Only proceed if you’re certain the data is no longer needed.
+:::
+
+---
+
+## Miscellaneous
+
+### Where can I see the storage I'm using?
+Currently, Kitsu does not display storage usage directly in the interface or on your account page. This means you won't find a section in the app showing how much storage your productions or assets are consuming.
+
+If you need to check your storage usage:
+- Contact your system administrator or IT team if Kitsu is hosted on your studio's servers.
+- If you're using a cloud-hosted Kitsu instance, email **support@cg-wire.com** with your studio name and account details, where our team can provide you with the necessary information.
diff --git a/docs/review-weekly/README.md b/docs/review-weekly/README.md
deleted file mode 100644
index 74e9f7de7d..0000000000
--- a/docs/review-weekly/README.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Daily & Weekly review
-
-For your dailies or weeklies, you can create a **Playlist**
-
-## Create a Playlist for your internal review
-
-
-You can find the **Playlists** page on the drop-down menu.
-
-
-
-The **playlist** page is separated into two parts:
-
-- (1) The playlist list where you can **create** a playlist or load an existing one.
-- (2) The last created playlists and the last modified playlists
-
-
-
-Start by creating a **Playlist**
-. Your default name
-is the date and the hour. You can change it immediately. You can choose if the playlist
-will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist.
-You can also add a **Task Type** tag to the playlist.
-
-
-
-Once the playlist is created, via the search/filter bar, you can select which shots to add
-to your playlist.
-
-You can also choose to **add the whole movie**, and it will add all the shots of the movie.
-
-You can select **Daily pending**, which will add all the **WFA** tasks of the day.
-
-Otherwise, you can **Add the whole sequence** if you want to focus only on a particular sequence.
-
-You can use the same **filter** than on the global shot/asset page. For example, you can select all the
-WFA is short for the animation stage.
-You have to type **animation=wfa** in the search bar. Valid your selection with the **Add selection** button.
-Kitsu will select the shots with the **WFA** status at the **Animation** stage. Still, Kitsu will automatically load **the latest uploaded version**.
-
-The shots appear on the top part of the screen. Every change are
-automatically saved.
-
-
-
-
-
-
-## Review and Validations
-
-Once you have created a playlist, you have several options:
-
-
-
-
-* Play or Pause
-* Navigate from element to element
-* See the position of the selected element compared to the total number of elements
-* Mute or unmute the sound
-* Change the speed, double speed (x2), full speed (x1), half of the speed (x0.50), or a quarter of the speed (x0.25)
-* Loop on one element
-* Display the sound wave
-* Display annotations during the play
-* TC of the element compared to the TC of the whole playlist
-* Number of frames
-* Navigate frame per frame on the preview. You can also do it with the arrow on the Keyboard.
-* Compare tool
-
-
-* Undo and Redo option for the drawing comment
-* Text and drawing option, and delete selection
-
-
-* Change the task type of all the elements of the playlist
-* Display the comment section
-* Hide the elements of the playlist
-* Switch between LD (low definition) to HD (High definition)
-* Download the playlist as a **Zip** files with all the separated elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
-* Fullscreen
-
-
-
-For each playlisted shot/asset, you can choose the **task** and the
-**version** you want to see.
-
-
-
-
-You can also play two tasks of a shot side by side.
-
-Click on the **Compare** button  and choose the second task type.
-
-
-
-
-
-The primary purpose of the playlist is to help you review the shots and assets.
-
-You can comment on the shots directly from the preview.
-
-Click on the **comment** button.
-
-
-
-You now have access to the right panel, which has a history of the comments and their status.
-
-You can see the drawing comment on the video (the red dot below the timeline).
-
-
-
-You can draw or type on the video with the **draw** button 
diff --git a/docs/review/README.md b/docs/review/README.md
deleted file mode 100644
index 928879a1a5..0000000000
--- a/docs/review/README.md
+++ /dev/null
@@ -1,190 +0,0 @@
-# Reviews
-
-## Reviewing Tasks
-
-When an artist needs someone to **review** their work, they can change the status of their task to .
-
-Click on the status to open the right hand panel and start the review.
-
-You can watch the version from the right panel, enlarge it by grabbing the side of the panel, or even enter fullscreen by clicking this icon .
-
-
-
-In the same way, you can also review 3D files (`.glb` file) as a wireframe or add a `.HDR` file to check the lighting.
-
-You can move around the 3D file by dragging and dropping your cursor and zooming in or out with the scroll wheel.
-
-
-
-
-
-See the **Customization** section for more details.
-[Pipeline Customization](../configure-kitsu/README.md#3d-backgrounds)
-
-You can select a color to use and then draw directly on the preview with the **Pencil** tool .
-
-
-
-### Drawing Annotations
-
-You can also annotate the frame with **text**.
-
-
-
-If you'd like to temporarily **hide annotations**, click the **Fountain Pen** button.
-
-
-### Tagging Frames
-If you would like to refer back to a specific frame in your comments, you can easily tag a frame by typing `@`, which opens a sub-menu with the team list, and then start typing **frame**.
-
-This will then add a timestamp of the current frame to this comment, and clicking on that timestamp will jump to said frame.
-
-
-
-### Exporting Annotations
-You can also export your drawings on each frame by attaching the **screenshots as attachments**.
-
-Click on the **Add attachment** button.
-
-
-
-You can also choose to **Attach snapshots from your annotation** in the attachment options. This lets you take annotated frames and add them as attachments of the comment, which can be useful if you want to highlight specific annotations in your feedback.
-
-
-
-Once you click the button, Kitsu will grab all the frames with annotations and display the result. You can publish them with **Confirm**.
-
-
-
-### Deleting Annotations
-If you need to delete a line, click the pencil icon again. The cursor changes to a multi-directional cross , and you can then select your line and move it around.
-
-
-
-Select the line with the directional cross, then press the **delete** icon .
-
-### Comparing Images
-By entering **Full-Screen**, you can compare two task types or versions side by side by clicking on the **Compare** button .
-
-
-
-From here, you can change the status to  if you want the artist to make changes.
-
-Alternatively, you can change it to  to notify the artist that their work is approved.
-
-## Reviewing Concepts
-
-Once your artists upload a concept, you can review it with the supervisor or the director.
-
-To review the concept, use the navigation menu at the top of the screen and select the concept page.
-
-
-
-You can see all the uploaded concepts, their statuses, assignments, and linked assets.
-
-
-
-To review a concept, click on the status to open the comment panel. You can enlarge the comment panel or go fullscreen.
-
-Then, proceed to write a comment, select the status **Approved** or **Rejected**, and confirm with the **Post** button.
-
-
-
-You can filter the page with the **Status** filter to display all the concepts with a **Neutral** status. You can also filter by artist and change the sort order.
-
-
-
-## Playlists
-
-### Create a Playlist
-
-A playlist is list of curated versions / previews compiled for review and approval. You can find the **Playlists** page in the drop-down menu.
-
-
-
-The **Playlist** page is separated into two parts:
-
-- (1) A list of your playlists where you can **create** a news ones or load an existing one.
-- (2) The last created playlists and the last modified playlists.
-
-
-
-Start by creating a **Playlist** using the  button. The playlist name defaults to the current date & time, but you can change this. You can choose if the playlist will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist. You can also add a **Task Type** tag to the playlist.
-
-
-
-### Populating a Playlist
-
-Once the playlist is created, use the search/filter bar to select which shots to add to your playlist.
-
-You will also see options for adding the an **entire episode** / **entire sequence** if you want to add large chunks of the project at once.
-
-You can select **Daily pending**, which will add all the **WFA** tasks of the day.
-
-You can use the same **filters** as the global shot/asset page. For example, you can select all the **WFA** (short for "work for animation") tasks at the **Animation** stage by typing **animation=wfa** in the search bar. Validate your selection with the **Add selection** button. Kitsu will select the shots with the **WFA** status at the **Animation** stage and automatically load the **latest uploaded version**.
-
-The shots appear in the top part of the screen. Every change is automatically saved.
-
-
-
-## Review Controls
-
-Once you have created a playlist, you have several options:
-
-
-
-* Play or Pause
-* Jump between elements in your playlist
-* See the position of the selected element compared to the total number of elements
-* Mute or unmute the audio
-* Change the speed: double speed (x2), full speed (x1), half speed (x0.50), or quarter speed (x0.25)
-* Continuously loop a single element
-* Display audio waveforms
-* Display annotations during playback
-* Show timecode (TC) of the element compared to the TC of the whole playlist
-* Display the number of frames
-* Navigate frame by frame on the preview (you can also use the left & right arrow keys on the keyboard)
-* Access the cmpare tool
-
-* Undo and redo options annotations
-* Text and drawing options (including delete selection)
-
-* Change the task type of all the elements in the playlist
-* Display the comments section
-* Hide elements in the playlist
-* Switch between LD (low definition) and HD (high definition)
-* Download the playlist as a **Zip** file with all the separate elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
-* Enter fullscreen mode
-
-For each shot/asset in the playlist, you can choose the **task** and the **version** you want to see.
-
-
-
-
-You can also play two tasks of a shot side by side.
-
-Click on the **Compare** button  and choose the second task type.
-
-
-
-You can comment on the shots directly from the preview.
-
-Click on the **comment** button.
-
-
-
-
-
-You now have access to the right panel, which shows a history of the comments and their statuses.
-
-You can see the drawing comment on the video (the red dot below the timeline).
-
-
-
-You can draw or type on the video (similar to [Perform a review](../status-publish-review/README.md#perform-a-review)) using the **draw** button .
-
-## Review Room
-
-The Review Room is a collaborative space designed for efficient and synchronized dailies review sessions. It ensures that all participants are viewing the same content simultaneously, facilitating real-time feedback and discussion.
-
-To learn more about the Review Room, [visit this section here](../playlist-client/README.md#review-room).
\ No newline at end of file
diff --git a/docs/short-asset/README.md b/docs/short-asset/README.md
deleted file mode 100644
index 5232535f10..0000000000
--- a/docs/short-asset/README.md
+++ /dev/null
@@ -1,789 +0,0 @@
-# Create an ASSET-only Production
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, and choose **only Asset** as the **type**, then select the style of your production (2D, 3D).
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your production's start and end dates.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), task status (4), and asset types (5).
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you will be able to create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio-workflows) section.
-:::
-
-Then, 6 is the option part. If you already have a spreadsheet with your Asset.
-
-See the **import CSV** section for more details.
-
-[Import asset](../short-asset/README.md#create-an-asset)
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
-
-On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between production. The name of the actual production and actual page are always displayed.
-
-You can use the dropdown menu to navigate from production to production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Assets
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the production
-- Concepts
-- Breakdown
-- Playlists
-- News feed
-
-The third section is about statistics
-- Asset Type Stats
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-::: warning
-If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
-
-If, on the contrary, you realize you need the **shots**, you also need to switch your production type from **Only Assets** to **Short**.
-:::
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (Asset, shot, sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
-
-
-
-## Create an Asset
-### Create your first Asset
-So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first Asset.
-
-On the asset page, click on **Add assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the Asset**.
-:::
-
-A pop-up window opens:
-
-It asks you to choose the **Asset Type** (1).
-If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
-Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the tasks pipeline. See the guide (
-[Customization of the workflow](../configure-kitsu/README.md#asset-types)) for more details
-:::
-
-We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the Asset.
-
-Click on **Confirm and stay** if you have multiple assets to create.
-
-
-
-
-You can change the asset type and keep adding assets.
-
-::: tip
-The newly created Asset appears in the background whenever you click on **Confirm and stay**.
-:::
-
-After adding your last Asset, click
-on **Confirm**. It will create the Asset and close the window.
-
-::: tip
-If you click on **Confirm and stay ** but realize you don't have more assets to add, click on **Close**, and the winwill bew is canceled.
-:::
-
-
-
-You will also see the tasks that are selected for your assets workflow are created at the same time.
-
-
-If you need to add more **Assets**, click the **+ Create assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-### See the Details of an Asset
-
-To see an asset's detail, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-**concept** linked to this Asset,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this Asset.
-
-
-
-
-
-## Add more tasks after creating the assets
-
-
-If you realize **after** creating the assets that the task is missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go back to the asset page and click on **+ Add tasks**
-
-
-
-
-
-
- ### Update your assets
-At any point, you can update your assets, change their name and asset type, modify their description, and any custom information you added to the global page.
-
-You can edit assets by going to the asset page, hovering over the Asset you want to modify, and then clicking on the **edit** button
- (1) on the right side of
-the line.
-
-
-
-To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then the lines that will be updated
-will be highlighted in blue.
-
-
-
-:::
-
-
-::: details Update Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-## Create a Concept
-### Upload a Concept
-
-To create a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it.
-You can also comment and change the status of the Asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, you have to click on it. The linked assets' names will appear at the top of the screen and under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this Asset. You can filter them per status.
-
-
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the global page of the Asset or the shot, click on the arrow to the right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page if you need to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-## Create an Edit
-
-You can track tasks at the **Edit** Level in Kitsu.
-
-It's especially useful when
-You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
-
-::: warning
-Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
-:::
-
-
-
-To use this page, you need to first create a dedicated task type on your **Global Library**
- with the **Edit** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
-
-
-
-
-
-This new page behaves like the Asset and Shot global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page, as you can for the Asset and shot entities.
-
-
-
-
-
-
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the Asset. With the
-breakdown, you have all the details of the assets you need to add to create your
-main Asset and we are sure we will omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the asset menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (3). Moreover, in
-the middle section, your selection for the Asset (2).
-
-
-
-So now you have to select the Asset you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also select multiple assets at once. Click on the first Asset, hold the **shift** key, and click on the last Asset of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple assets, your selection is applied to the numerous assets.
-
-Copy an asset filled with assets and paste this asset selection into another asset.
-
-You can see a **+1** or **+10** when you pass over the Asset. It's the number
-of times you add this Asset, and you can click on it as many times as you need.
-
-
-
-
-
-You can now see the Asset in the middle of the screen (2). Next
-to the Asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
-**-1**. When you finish this shot, go on with the other shots.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the task, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu, and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
diff --git a/docs/short-shot/README.md b/docs/short-shot/README.md
deleted file mode 100644
index 6beadfcb95..0000000000
--- a/docs/short-shot/README.md
+++ /dev/null
@@ -1,703 +0,0 @@
-# Create a SHOTS-only Production
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your Production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, select **only shots** as the **type**, and select the style that best suits your Production.
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your Production's start and end dates.
-
-
-
-
-You need to select your shots workflow (Task Type) (3) and your validation process (Task Status) (4),
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio-workflows) section.
-:::
-
-Then, 5 is the option parts. If you already have a spreadsheet with your shot.
-
-See the **import CSV** section for more details.
-
-[Import shot](../short-shot/README.md#create-shots-from-an-edl-file
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-By clicking on the top left button, Kitsu (or your Studio logo), you will open the **Main Menu**.
-
-On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between Production. The name of the actual Production and page are always displayed.
-
-You can use the dropdown menu to navigate from Production to Production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this Production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Shots
-- Sequence
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the Production
-- Concepts
-- Playlists
-- News feed
-
-The third section is about statistics
-- Sequence Stats
-
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your Production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-::: warning
-If you realize you need an extra level of navigation, such as **Episodes**, you need to change your production Type to a **TV Show**.
-
-If, on the contrary, you realize you need the assets instead of the Only Shots, you need to switch your production type from Only Shots to Short.
-:::
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
-
-
-
-## Create a Shot
-### Create your first shot
-
-It's time to create **shots** for your Production.
-
-::: warning
-Shots are linked to Sequences in Kitsu.
-This means you need to first create a sequence and then populate this sequence with shots.
-:::
-
-You need to go to the **Shots** page: you can use the
-dropdown menu and click on the **SHOTS**.
-
-
-
-Click on the **Add shots** button to start with the shot creation.
-
-
-
-::: warning
-When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
-:::
-
-A new pop-up opens for the creation of the shots.
-You can now create the sequences and the shots.
-
-Enter the first sequence, for instance, sq01,
-then **add**.
-
-Now, you can see your sequence has been created. To add shots to this sequence, you need to select it and create your shots.
-
-For example, type sh0010 on the shots column, then again **add**.
-You can also define padding for your shots.
-
-::: tip
-If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
-:::
-
-
-
-You can now see that new shots are listed and linked by their sequence.
-You have created the first shot of the first sequence.
-
-Now, let's add more shots than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **add** to
-create more shots.
-
-
-
-To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
-Your second sequence is selected, and you can now add shots.
-
-::: tip
-If a shot is misplaced on a sequence, you have to edit the shot
-, and change the
-sequence.
-
-
-
-:::
-
-
-
-
-## Create Shots from an EDL File
-You may already have your shots list ready in an **EDL** file.
-With Kitsu, you can import your **EDL** file directly to create the sequence, shot, number of frames, Frame in and frame out, and more.
-
-On the **Global Shot Page**, you will see an **Import EDL** button.
-
-
-
-You can select the naming convention of the video file used during the editing on the pop-up.
-
-
-
-It means the video clip on the editing is named as project_sequence_shot.extension.
-
-Here is an example of an EDL for the LGC production.
-
-
-
-The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
-
-You can import the EDL file once you are set with the naming convention.
-
-Then click on **Upload EDL**
-
-Then Kitsu will create the shots.
-
-
-:::
-
-::: details Create Shots from a CSV Spreadsheet File
-You may already have your shots list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, return to the shot page on Kitsu and click the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-::: details Create Shots by Copying / Pasting a Spreadsheet File
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-### See the Details of a Shot
-
-If you want to see the details of a shot, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-## Add more tasks after creating the shots
-If you realize after creating the shots that the task is missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go back to the shot page and click on + Add tasks.
-
-
-### Update your shots
-
-You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
-
-You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Shots Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation** , and the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated shots will be in blue
-
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-
-## Add the number of Frames and Frame ranges to the shots
-
-At this stage of the Production, the animatic should be done. This means you have
-the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
-add this information to the spreadsheet. This way, you are sure that all
-the frames are calculated and none are missing or over-computed.
-
-::: warning
-If you have created your shots and sequence by hand,
-the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
-The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
-:::
-
-
-
-You need to edit the shots to fill in the frame range information. Click on the
-edit button  on the right
-side of the shot line.
-
-
-
-On the new window, you can enter the shots **In** and **Out**. Then, save by clicking the **Confirm** button.
-
-
-
-
-
-Now, the frame range appears on the general spreadsheet of the shot page.
-
-
-
-Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
-directly from the global shot page.
-
-Click on the case you want to fill in and add the data.
-
-::: tip
-If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
-:::
-
-
-
-
-You can also use the **CSV Import** to update your frame range quickly.
- [Update Shots information with CSV Import](../short-shot/README.md#update-your-shots)
-
-You can also access the history of shot values.
-
-
-
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page if you need to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-
-## Create a Sequence
-
-In Kitsu, you can also track tasks at the **Sequence** Level.
-It's especially useful when
-you have macro tasks to track, like Story and color Board, Color Grading, etc.
-
-Use the navigation menu to go to the **Sequences** page.
-
-
-
-::: warning
-This new page behaves like the asset and shot global page.
-
-To use this page, You first need to create dedicated task types on your **Global Library**
- with the **Sequence** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library** (setting page).
-:::
-
-Once your task types are ready on the settings page, you need to create a sequence (the same as the assets or shots).
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-
-::: tip
-You can create a sequence directly from here (+New sequence button) or create a sequence linked to your shots from the global shot page.
-:::
-
-
-You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
-
-If you click on the name of a sequence, you will see the detail page of this sequence.
-
-
-
-On the detailed page, you have access to the sequence casting.
-You can see all the assets used in the whole sequence.
-
-You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
-
-
-
-## Create an Edit
-
-You can track tasks at the **Edit** Level in Kitsu.
-
-It's especially useful when
-You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
-
-::: warning
-Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
-:::
-
-
-
-To use this page, you need to first create a dedicated task type on your **Global Library**
- with the **Edit** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
-
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
-
-
-
diff --git a/docs/short/README.md b/docs/short/README.md
deleted file mode 100644
index b68ff791c9..0000000000
--- a/docs/short/README.md
+++ /dev/null
@@ -1,1205 +0,0 @@
-# Create a Short Production (assets and shots)
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, choose **short** as the **type**, and select your production style (2D, 3D).
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your production's start and end dates.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio-workflows) section.
-:::
-
-Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/shot.
-
-See the **import CSV** section for more details.
-
-[Import asset](../short/README.md#create-an-asset)
-
-[Import shot](../short/README.md#create-shots-from-an-edl-file)
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-You will open the main menu by clicking on the top left button, Kitsu (or your Studio logo).
-
-You will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings on the main menu.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between production. The name of the actual production and actual page are always displayed.
-
-You can use the dropdown menu to navigate from production to production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Assets
-- Shots
-- Sequence
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the production
-- Concepts
-- Breakdown
-- Playlists
-- News feed
-
-The third section is about statistics
-- Sequence Stats
-- Asset Type Stats
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-::: warning
-If you realize you need an extra level of navigation, such as Episodes, you need to change your production Type to a TV Show.
-
-If, on the contrary, you realize you don't need the **assets** or the **shots**, you also need to switch your production type to **Only Assets** or **Only Shots**.
-:::
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The spreadsheet's first line and column header always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
-
-
-
-
-## Create an Asset
-### Create your first asset
-So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our first asset.
-
-On the asset page, click on **Add assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
-:::
-
-A pop-up window opens:
-
-It asks you to choose the **Asset Type** (1).
-If you didn't add a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props, etc.
-Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the tasks pipeline. See the guide (
-[Customization of the workflow](../configure-kitsu/README.md#asset-types)) for more details
-:::
-
-We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
-
-Click on **Confirm and stay** if you have multiple assets to create.
-
-
-
-
-You can change the asset type and keep adding assets.
-
-::: tip
-The newly created asset appears in the background whenever you click on **Confirm and stay**.
-:::
-
-After adding your last asset, click
-on **Confirm**. It will create the asset and close the window.
-
-::: tip
-If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
-:::
-
-
-
-You will also see the tasks that are selected for your assets workflow are created at the same time.
-
-
-If you need to add more **Assets**, click the **+ Create assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-### See the Details of an Asset
-
-To see an asset's detail, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-**concept** linked to this asset,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-## Add more tasks after creating the assets
-
-
-If you realize **after** creating the assets that the task is missing, you can still add them.
-
-First, ensure the missing task type is added to the settings page under the task type tab.
-
-Then go back to the asset page and click on **+ Add tasks**
-
-
-
-
-
-
- ### Update your assets
-You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
-
-You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
- (1) on the right side of
-the line.
-
-
-
-To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-:::
-
-
-::: details Update Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-You have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-## Create a Concept
-### Upload a concept
-
-To create a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it.
-You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-At the top of the comment panel, you have two options: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, click on it. The names of the linked assets will appear at the top of the screen under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-
-## Create a Shot
-### Create your first shot
-
-It's time to create **shots** for your production.
-
-::: warning
-Shots are linked to Sequences in Kitsu.
-This means you must create a sequence and then populate this sequence with shots.
-:::
-
-You need to go to the **Shots** page: you can use the
-dropdown menu and click on the **SHOTS**.
-
-
-
-Click on the **Add shots** button to start with the shot creation.
-
-
-
-::: warning
-When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
-:::
-
-A new pop-up opens for the creation of the shots.
-You can now create the sequences and the shots.
-
-Enter the first sequence, for instance, sq01,
-then **add**.
-
-Now, you can see your sequence has been created. To add shots to this sequence, select it and create your shots.
-
-For example, type sh0010 on the shots column, then again **add**.
-You can also define padding for your shots.
-
-::: tip
-If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
-:::
-
-
-
-You can now see that new shots are listed and linked by their sequence.
-You have created the first shot of the first sequence.
-
-Now, let's add more shots than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **add** to
-create more shots.
-
-
-
-To add more sequences, go to the left part, type the name of your new sequence, and then click on **add**.
-Your second sequence is selected, and you can now add shots.
-
-::: tip
-If a shot is misplaced on a sequence, you have to edit the shot
-, and change the
-sequence.
-
-
-
-:::
-
-
-
-
-## Create Shots from an EDL File
-You may already have your shots list ready in an **EDL** file.
-With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, Frame in and out, and more.
-
-On the **Global Shot Page**, you will see an **Import EDL** button.
-
-
-
-You can select the naming convention of the video file used during the editing on the pop-up.
-
-
-
-It means the video clip on the editing is named as project_sequence_shot.extension.
-
-Here is an example of an EDL for the LGC production.
-
-
-
-The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
-
-You can import the EDL file once you have the naming convention.
-
-Then click on **Upload EDL**
-
-Then Kitsu will create the shots.
-
-
-:::
-
-::: details Create Shots from a CSV Spreadsheet File
-You may already have your shots list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, return to the shot page on Kitsu and click the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-::: details Create Shots by Copying / Pasting a Spreadsheet File
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-### See the Details of a Shot
-
-If you want to see the details of a shot, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If you have already filled out the data, you can modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-## Add more tasks after creating the shots
-If you realize after creating the shots that the task is missing, you can still add them.
-
-First, ensure the missing task type is added to the settings page under the task type tab.
-
-Then go back to the shot page and click on + Add tasks.
-
-
-### Update your shots
-
-You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
-
-You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Shots Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation**the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated shots will be in blue.
-
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-All your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-
-## Add the number of Frames and Frame ranges to the shots
-
-At this stage of the production, the animatic should be done. This means you have
-the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each shot. You can
-add this information to the spreadsheet. This way, you are sure that all
-the frames are calculated and none are missing or over-computed.
-
-::: warning
-If you have created your shots and sequence by hand,
-the **Frame** column will be hidden. You must edit at least one shot and fill in the number of frames to display the **Frame** column.
-The column will be displayed if you have created your shots and imported the number of frames with a CSV/spreadsheet.
-:::
-
-
-
-You need to edit the shots to fill in the frame range information. Click on the
-edit button  on the right
-side of the shot line.
-
-
-
-You can enter the shots **In** and **Out ** in the new window. Then, save by clicking the **Confirm** button.
-
-
-
-
-
-Now, the frame range appears on the general spreadsheet of the shot page.
-
-
-
-Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
-directly from the global shot page.
-
-Click on the case you want to fill in and add the data.
-
-::: tip
-If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
-:::
-
-
-
-
-You can also use the **CSV Import** to update your frame range quickly.
- [Update Shots information with CSV Import](../short/README.md#update-your-shots)
-
-You can also access the history of shot values.
-
-
-
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the global page of the asset or the shot, click on the arrow on the direct right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page if you need to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-
-## Create a Sequence
-
-In Kitsu, you can also track tasks at the **Sequence** Level.
-It's especially useful when
-you have macro tasks to track, like Story and color Board, Color Grading, etc.
-
-Use the navigation menu to go to the **Sequences** page.
-
-
-
-::: warning
-This new page behaves like the asset and shot global page.
-
-To use this page, You first need to create dedicated task types on your **Global Library**
- with the **Sequence** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library** (setting page).
-:::
-
-Once you have your task types ready on the settings page, you need to create a sequence (the same as the assets or shots).
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-
-::: tip
-You can create a sequence directly from here (+New sequence button) or create a sequence linked to your shots from the global shot page.
-:::
-
-
-You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
-
-If you click on the name of a sequence, you will see the detail page of this sequence.
-
-
-
-On the detailed page, you have access to the sequence casting.
-You can see all the assets used in the whole sequence.
-
-You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
-
-
-
-## Create an Edit
-
-You can track tasks at the **Edit** Level in Kitsu.
-
-It's especially useful when
-You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
-
-::: warning
-Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
-:::
-
-
-
-To use this page, you need to first create a dedicated task type on your **Global Library**
- with the **Edit** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
-
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page for the asset and shot entity.
-
-
-
-
-
-
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the shots. With the
-breakdown, you have all the details of the assets you need to add to create your
-shot, and we are sure to omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
-the middle section, it is your selection for the shot (2).
-
-
-
-So now you have to select the shot you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple shots, your selection is applied to the numerous shots.
-
-Copy a shot filled with assets and paste this asset selection into another shot.
-
-You can see a **+1** or **+10** when you pass over the asset. It's the number
-of times you add this asset, and you can click on it as many times as you need.
-
-
-
-You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
-
-
-
-This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
-
-You can now see the asset in the middle of the screen (2). Next
-to the asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
-**-1**. When you finish this shot, go on with the other shots.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the storyboard, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
-
-On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
-
-
-
-You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
-
-
-
-You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click on the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
-
-## Introduction to Asset State: Ready For
-
-Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
-
-For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
-Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
-
-That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
-
-Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
-
-First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
-
-
-
-::: tip
-You can use the **automations** to do the heavy lifting.
-
-You can set automation with the **ready for** trigger.
-:::
-
-We can see the result in the shot page now that we have changed some asset states **Ready for**.
-
-You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
-
-
-
-If you see the white box, Kitsu will display how many assets are ready for this task.
-
-
-
-::: tip
-If you don't see any boxes, no assets are cast for this shot.
-:::
-
-Then, you can click on the shot's name to go to its detail page.
-Then, you will see all the assets cast in this shot and their status.
-
-
-
-It's the fastest way to know if you can start a shot for a specific task.
-
diff --git a/docs/start-here/getting-started/index.md b/docs/start-here/getting-started/index.md
new file mode 100644
index 0000000000..6b9837128d
--- /dev/null
+++ b/docs/start-here/getting-started/index.md
@@ -0,0 +1,305 @@
+
+
+# Getting Started With Kitsu
+
+With Kitsu, users can track various production projects, encompassing 2D and 3D production, VFX, video games, and other related endeavors.
+
+The content tracked by Kitsu can be as simple as still-frame advertisements, to extensive 3-hour feature films, accommodating projects with varying numbers of elements
+
+But before jumping into our production, we must first configure our **Studio Workflow**.
+
+## 1. Studio Workflows
+
+### Understanding Studio Workflows
+
+::: warning Definition
+A workflow is defined as the structured coordination of tasks constituting the operational processes within a production.
+:::
+
+For example, within a CGI production, tasks such as modeling, rigging, and shading are undertaken to finalize an asset.
+
+::: warning Definition
+- Processes such as modeling, shading, etc., are referred to as a **Task Type**.
+- An individual objects such as asset, shot, etc., are called **Entities**.
+- A **task** can be defined as a specific action or activity that needs to be done. Tasks can be attributed to **entities** and will usually be categorized with a **task type**.
+:::
+
+Entities with corresponding tasks form foundation of your asset workflow. Each task will then be assigned to an artist. Once you have determined your assets workflow, you will do the same for the shots, sequences, etc.
+
+Once the workflow for tasks is defined, the next step involves establishing an **Approval Workflow**, which entails defining all the statuses utilized for communication within the team. Statuses will also be useful for tracking the progress of your production.
+
+The **Workflow** of your production is the sum of your Tasks and Status.
+
+### Global Library VS Production Library
+
+In Kitsu, you have two kinds of **libraries**:
+- The first is the **Global Library** at the studio level.
+Only the Studio manager has access to it.
+
+- The second is the **Production Library**, where you will pick elements created in the global library to fill out.
+
+The idea is to keep each production separated with a specific workflow.
+
+
+Your **Global Library** is where you can create and modify departments, task types, task statuses, asset types, and status automation. You can create as many elements as needed, name them as you wish, and select the best colors and options to suit your needs.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Once your **Global Library** is populated, you can fill out the **Production Library** with the newly created elements from the **Global Library**.
+
+## 2. Main Kitsu Settings
+
+### Configuring Kitsu
+
+Several global settings can be configured that apply to your studio, such as replacing the default Kitsu logo with your studio's logo.
+
+To do this, click on the main menu button
+, then under the **Admin** section, click on the **Settings**.
+
+
+
+### Studio Settings
+
+Click on the **Set studio logo** and select an image to use. This will replace the Kitsu logo on your site and in various places across the app. You can also change the **Studio Name** to be used in your Kitsu instance.
+
+
+The remaining settings on this page are global settings that affect every production. Some of these include:
+
+- How many hours per day should your team be working.
+- You can opt to use original file names for downloads.
+- Display images in HD quality by default. Use this option only if you have a very fast internet connection.
+- Regarding the timesheet, you can also restrict artists from modifying timesheets older than one week.
+
+
+
+Finally, you will also find settings relating to various chat integrations. Please refer to [Chat Integration](../chat-integration/index.md) section for more information on how to configure this.
+
+::: warning
+Remember to **Save Settings** at the end once you are finished.
+:::
+
+## 3. Preparing Your Team
+
+Now that you have defined your workflow, it's time to organize your team so you have people to assign tasks to.
+
+We will learn how to add users to Kitsu, link them to departments, grant them permissions, and finally, add them to a production team so that they can begin working.
+
+
+
+
+
+## 4. Quick UI Tour
+
+### Introduction to the Kitsu Global Page
+
+Welcome to Kitsu's global asset page.
+
+Let's take a look around.
+
+
+
+On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
+
+**From left to right:**
+
+
+### Main Menu
+
+You will open the main menu by clicking on the top left button, Kitsu (or your Studio logo).
+
+You will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings on the main menu.
+
+::: details Main Menu Details
+**WORKSPACE**
+- My Tasks: your assigned tasks
+- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
+- My Productions: Get back to the selection on the production page.
+
+
+**STUDIO**
+- Productions
+- People
+- Timesheets
+- Main Schedule
+- Team Schedule
+- All tasks
+- News Feed
+- Entity Search
+
+
+**ADMIN**
+- Departments
+- Task Types
+- Asset Types
+- Custom Actions
+- Automation
+- 3D Backgrounds
+- Bots
+- Settings
+- Logs
+
+::: warning Permission Visibility
+The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
+
+Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
+:::
+
+### Navigation
+
+You will see the navigation dropdown menu on the right of the main menu icon.
+
+
+
+
+You can choose between production. The name of the actual production and actual page are always displayed.
+
+You can use the dropdown menu to navigate from production to production (if you have several).
+
+Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
+
+
+::: details Navigation details
+The first section is about the tracking of your tasks
+- Assets
+- Shots
+- Sequence
+- Edits (If you have created specific tasks)
+
+The second section is more about the side of the production
+- Concepts
+- Breakdown
+- Playlists
+- News feed
+
+The third section is about statistics
+- Sequence Stats
+- Asset Type Stats
+
+The fourth section is related to Team Management
+- Schedule
+- Quotas
+- Team
+
+The fifth section is about the settings of your production
+- Settings
+
+::: tip
+You start with the asset page, but you can change your production homepage to other entities (see setting page)
+:::
+
+::: warning
+If you realize you need an extra level of navigation, such as Episodes, you need to change your production Type to a TV Show.
+
+If, on the contrary, you realize you don't need the **assets** or the **shots**, you also need to switch your production type to **Only Assets** or **Only Shots**.
+:::
+
+### Global Search, News, Notification and Documentation
+
+You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
+
+
+The next icon  is a direct link to our news and feedback page.
+
+You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
+
+Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
+
+The last icon before your avatar is the documentation button.
+, that you are reading right now!
+
+
+### Personal Settings
+
+You can click on your avatar to open your menu (setting, documentation, etc.).
+
+.
+
+### The Tasks Spreadsheet
+
+#### Entity spreadsheet
+
+The second part of the screen is common to all the entities (asset, shot, sequence, Edit). This is the global tasks spreadsheet.
+
+Here, you see the status, assignation, priority, etc, for each task.
+
+::: tip
+The spreadsheet's first line and column header always appear at the top of the page, even if you scroll down.
+
+You can also **Stick** other columns to keep them visible at all times.
+:::
+
+#### Filters
+
+The first element on the left is the filter box. You can type anything you want for simple filtering, sequence, asset type, etc.
+
+If you need more advanced filtering, please use the filter builder button.
+
+
+
+You can then save all the filters and use them as your pages.
+
+#### Simplify the display
+
+On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
+
+
+#### Import / Export
+
+batch import thumbnail , and finally import  or export  data.
+
+#### Metadata column
+
+Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
+
+#### Customize the view
+
+On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
+
+.
+
+### Sum-up of your view
+
+The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
+
+You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
+
+## 5. Create a New Production
+
+Now that you have designed your global workflow and invited more people, it's time to create your production:
+
+- [Quickstart for TV Shows](/recipes/for-tvshows/)
+- [Quickstart for Feature Films](/recipes/for-feature-films/)
+- [Quickstart for Shorts](/recipes/for-shorts/)
+- [Quickstart for Video Games](/recipes/for-videogames/)
+- [Quickstart for NFTs](/recipes/for-nfts/)
+- [Quickstart for Shots-Only Productions](/recipes/shots-only-productions/)
+- [Quickstart for Assets-Only Productions](/recipes/assets-only-productions/)
+
+## 6. Next Steps
+
+- [About Team Roles](/guides/team-management/team-roles/) - An overview of the different team roles and corresponding permissions available in Kitsu.
+- [Kitsu for Supervisors](/workflows/for-supervisors/) - A list of the main workflows for supervisors.
+- [Kitsu for Producers](/workflows/for-producers/) - A list of the main workflows for producers.
+- [Kitsu for Artists](/workflows/for-artists/) - A list of the main workflows for artists.
+- [Kitsu for Clients](/workflows/for-clients/) - A list of the main workflows for clients.
+- [Kitsu for Developers](https://dev.kitsu.cloud/) - A list of resources for developers.
diff --git a/docs/status-publish-review/README.md b/docs/status-publish-review/README.md
deleted file mode 100644
index 449d729810..0000000000
--- a/docs/status-publish-review/README.md
+++ /dev/null
@@ -1,484 +0,0 @@
-# Status, publish and review
-
-
-
-## Publish a Concept
-
-To publish a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-You have two options on the comment panel: link a concept with an existing asset or delete the concept.
-You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-## Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-On the comment panel, you have two options on top of the panel: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-On top of the comment panel, Kitsu will list the linked assets. For now, there are **No Links**.
-
-
-
-
-To link an asset, you have to click on it. You will see the name of the assets linked on the top of the screen, but also under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, you can see the concepts on the detail page of an asset.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-
-## Change Status and Add a Comment
-
-To change the status of a task and write a comment, you need to click on the
-status of the task.
-
-
-
-It makes a panel appear on the right, and here, you can write a comment, change the status, and attach a file.
-
-
-
-The **Commen Panel** is split into 2 tabs :
-- POST COMMENT
-- PUBLISH REVISION
-
-To change the **Status**, stay in **POST COMMENT** tab.
-
-The comment uses the **Markdown** language. If you need specific syntax, feel free to look at the markdown guide website: https://www.markdownguide.org/basic-syntax/
-
-
-On the **Leave a Comment...** section, you can **tag** someone on the team in the comments. Type the `@`and it opens a sub-menu with the list of the team.
-
-
-
-You can also **tag** a full department by typing '@' and the department's name.
-
-
-
-You can add a **checklist** to your comments.
-
-You need to click on the **Add checklist** button, and the first item of the checklist appears.
-
-
-
-Type your comments, hit the **Enter** key to add another line to your checklist, or click the **Add Checklist** button again.
-
-
-
-Besides your comment, you can also attach a file as a picture. Click on the **Add attachment** button.
-
-
-
-Select a **file from your hard drive** or past a **screenshot** here.
-
-
-
-
-Validate the attachment by clicking on **Add file as attachment**.
-
-
-Then select the **Status** that you need on the dropdown menu.
-
-
-
-Then click the **Post** button to post it to the world.
-
-
-## Publish a Preview as a Version
-
-To publish a preview, picture, or video, select the **PUBLISH REVISION** tab on the comment panel of the task.
-
-Kitsu will automatically switch to the **Publish Revision** tab when you use status with the option **IS FEEDBACK REQUEST**, like the **WFA** Status.
-
-
-
-
-You can add one or several previews to any comments. It can be a picture (`.png`, `.jpg`, `.jpeg`, `.gif`), a video (`.mp4`, `.mov`, `.wmv`),
-or an `.glb` file. You can review all the previews from the browser or mix everything.
-
-For the `.glb` file you can also review it as wireframe, or add a `.HDR` file to check the lighting. Other files like `.pdf`, `.zip`, `.rar`, `.ma`, or `.mb`, however, need to be
-downloaded to be reviewed.
-
-
-Then, click on the **Add preview revision to publish** button. The explorer opens and lets you choose your file or several files.
-
-
-
-You can also **copy-paste a screenshot** to this screen.
-
-You will see a preview of the attached files.
-
-
-
-
-Once your file is selected, you will see its name near the **Attach preview** button.
-
-
-
-You can also **drag & drop** the file in the comment section.
-
-
-
-
-On top of your preview, you can add a **Comment**.
-
-Click the **Leave a Comment** button to unfold the comment section.
-
-
-
-
-You can select your status and publish your preview with the **Post** Button.
-
-
-
-
-## Add a Thumbnail
-
-To define a preview as a thumbnail, the preview MUST have been uploaded as a revision.
-
-To publish a preview, picture, or video, select the **PUBLISH REVISION** tab on the comment panel of the task.
-
-You can use the preview as a **thumbnail** on the asset or shot task. It
-helps to recognize the assets/shots on the main pages.
-On the list page, click on the status you want, then on the right panel, click the **Preview** button (1).
-
-
-
-Once you have clicked on the button, you can choose if you want to pick the first or any frame; once the frame is selected, you see the thumbnail appear, and the button turns gray.
-
-
-
-
-## Perform a Review
-
-When an artist needs a **review**, he changes the status of his task, too .
-
-Click on status to open the right panel and start the review.
-
-You can watch the version from the right panel, enlarge it by grabbing the side of the panel, or even go fullscreen .
-
-
-
-For the 3D file (`.glb` file) you can also review it as wireframe, or add a `.HDR` file to check the lighting.
-
-You can move around the 3d file with a drag and move with your cursor, and zoom in or out with the scroll.
-
-
-
-
-
-You can draw directly on the preview with the **Pencil** tool and select a color .
-
-
-
-You can also add **text** on the frame.
-
-
-
-
-If you need to see the preview without your comment, **hide your annotation**, you can click on the **Fountain Pen** button.
-
-
-
-You can tag a frame (whatever version you are in), type the `@`and it opens a sub-menu with the team list, and start typing **frame**.
-
-
-
-
-You can also export your drawings on each frame by attaching the **screenshots as attachments**.
-
-Click on the **Add attachment** button.
-
-
-
-You can also choose to **Attach snapshots from your annotation** on the attachment option.
-
-
-
-Once you click the button, Kitsu will grab all the frames with annotation and display the result. You can publish them with **Confirm**.
-
-
-
-
-If you need to delete your line, click the **pencil** icon again, and the cursor changes to a multi-directional cross , and then you can select your line and move it around.
-
-
-
-Select the line with the directional cross, then press the **delete** icon 
-
-
-If you go into **Full-Screen**, you can compare two task types or versions side by side when you click on the **Compare** button
-.
-
-
-
-From there, you can change the status too if you want the Artist to perform some changes.
-
-
-Alternatively, you can change it to  to notify the Artist that his work is approved.
-
-
-## Review a Concept
-
-Once your artists upload the concept, you can review it with the supervisor or the director.
-
-To review the concept, you use the navigation menu at the top of the screen and select the concept page.
-
-
-
-You can see all the concepts uploaded, the status, assignation, and linked assets.
-
-
-
-
-To review a concept, click the status part to open the comment panel. You can enlarge the comment panel or go fullscreen.
-
-Then, write a comment, select the status **Approved** or **Rejected**, and validate with the **Post** button.
-
-
-
-You can filter the page with the **Status** filter to display all the **Neutral** status concepts.
-
-
-
-You can also filter per artist and change the order sort.
-
-## Add Multiple Previews as one Version
-
-You can add multiple images simultaneously, or once you have uploaded an image, you can add another one.
-
-
-
-The **Add preview** pop-up asks you to choose a file.
-
-You can navigate through the pictures uploaded.
-
-You can change the preview order by clicking the number and then dragging and dropping them.
-
-
-
-
-To delete an additional preview, you need to enlarge the comment panel by dragging it and clicking on the number of versions.
-
-
-
-And then click on the 
-
-
-
-
-## Change Status per Batch
-
-Alternatively, you can do it per **batch**.
-
-You can select multiple shots or assets by pressing the **ctrl** or
-**shift** key.
-
-Then, go to the **Change status** section on the action menu.
-
-
-
-Choose the new status for your selected tasks (1). You can also add a comment for all the selected tasks (2)
-You validate the new status with the **Confirm** button.
-
-
-
-
-The shots are not sorted by name but by the metadata column information.
-
-
-
-You can also select in the menu if you want to edit the name of the metadata column and its information or if you want to delete it.
-
-You can also use the **CSV Import** to fill your custom metadata column quickly.
-First, you must create your **Metadata column** into Kitsu, add it to your spreadsheet, and copy-paste your data into the **CSV Import**.
-
-[Update Shots information with CSV Import](../feature/README.md#update-your-shots)
-
-
-# Playlists
-
-## Create a Playlist
-
-
-You can find the **Playlists** page on the drop-down menu.
-
-
-
-The **playlist** page is separated into two parts:
-
-- (1) The playlist list where you can **create** a playlist or load an existing one.
-- (2) The last created playlists and the last modified playlists
-
-
-
-Start by creating a **Playlist**
-. Your default name
-is the date and the hour. You can change it immediately. You can choose if the playlist
-will be shared with the **studio** or the **client** and if it's a **shot** or **asset** playlist.
-You can also add a **Task Type** tag to the playlist.
-
-
-
-Once the playlist created, via the search/filter bar, you can select which shots to add
-to your playlist.
-
-You can also choose to **add whole movie**, and it will add all the shots of the movie.
-
-You can select **Daily pending**, which will add all the **WFA** tasks of the day.
-
-Otherwise, you can **Add the whole sequence** if you want to focus only on a particular sequence.
-
-You can use the same **filter** than on the global shot/asset page. For example, you can select all the
-WFA short for the animation stage.
-You have to type **animation=wfa** in the search bar. Valid your selection with the **Add selection** button.
-Kitsu will select the shots that have the **WFA** status at the **Animation** stage, but Kitsu will automatically load **the latest uploaded version**.
-
-The shots appear on the top part of the screen. Every change are
-automatically saved.
-
-
-
-
-
-
-## Review and Validations
-
-Once you have created a playlist; you have several options:
-
-
-
-
-* Play or Pause
-* Navigate from element to element
-* See the position of the selected element compare to the total number of elements
-* Mute or unmute the sound
-* Change the speed, double speed (x2), full speed (x1), half of the speed (x0.50), or a quarter of the speed (x0.25)
-* Loop on one element
-* Display the sound wave
-* Display annotations during the play
-* TC of the element compared to the TC of the whole playlist
-* Number of frame
-* Navigate frame per frame on the preview. You can also do it with the arrow on the Keyboard.
-* Compare tool
-
-
-* Undo and Redo option for the drawing comment
-* Text and drawing option, and delete selection
-
-
-* Change the task type of all the elements of the playlist
-* Display the comment section
-* Hide the elements of the playlist
-* Switch between LD (low definition) to HD (High definition)
-* Download the playlist as a **Zip** files with all the separated elements, a **.csv** text file, or **Build .mp4** to create the whole movie (only for shots)
-* Fullscreen
-
-
-
-For each playlisted shot/asset, you can choose the **task** and the
-**version** you want to see.
-
-
-
-
-You can also play side by side two tasks of a shot.
-
-Click on the **Compare** button  and choose the second task type.
-
-
-
-
-
-The primary purpose of the playlist is to help you with the review of the shots and assets.
-
-You can comment on the shots directly from the preview.
-
-Click on the **comment** button.
-
-
-
-You now have access to the right panel, with all the history of the comments and status.
-
-You can see the drawing comment on the video (the red dot below the timeline).
-
-
-
-You can draw or type on the video (same than
-[Perform a review](../getting-started-production/README.md#perform-a-review)), with the **draw** button 
-
-
-## Review Room
-
-On top of the playlist you have a button to **Join Review Room**. The review room will synchronize all the participants.
-
-Everybody in the review room will see in real time the play and pause, the shots and frame selection.
-
-The people in the review room will also see the drawing annotation synchronized.
-
-
-
-## Batch Upload Previews (as Thumbnails)
-
-You can use the **Add Thumbnails** button  on the global page to massively import thumbnails.
-
-
-
-
-A new pop-up opens and asks you to choose which task types the thumbnails are linked.
-
-**Thumbnails batch import accept images files and video files**.
-
-For the video files, only the first frame is used as the thumbnail.
-
-You have to name your thumbnails as sequence_shot.
-
diff --git a/docs/supervisor-tasks/README.md b/docs/supervisor-tasks/README.md
deleted file mode 100644
index 9623d1283a..0000000000
--- a/docs/supervisor-tasks/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Task Supervision
-
-## Check Your Tasks
-
-A supervisor will typically have tasks assigned to them in addition to supervising your department. This means you need to split your time between completing your work and managing your team. Here's how to effectively manage what tasks you need to do.
-
-When you log into Kitsu, you'll notice the **My Tasks** button at the top of the screen. This provides direct access to your **to-do list**. By default, the list is sorted by priority, so the task at the top are the ones recommended address first.
-
-On the My Tasks page, you can filter the task list by Production, Task Type, Status, and other criteria.
-
-
-
-To view more details about a task, click on its **Status** to open the comment panel. Here, you can comment on the task and publish a new revision if needed.
-
-
-
-You can also use the Board to quickly update the status of multiple tasks by dragging and dropping into each status column.
-
-
-
-## Reviewing Previews
-
-Now that everyone in your team knows what to do, you need to review their work. Typically, when an artist finishes a task, they will call you for a review. Frequent interruptions can be unproductive and make it difficult to maintain focus. To avoid this, set a specific timeframe for reviews. This approach benefits both you and your team by providing a structured schedule. Artists will know when they can expect feedback and can plan their work accordingly, while you can dedicate uninterrupted time to your own tasks.
-
-Click the **My Checks** button at the top of the screen to see a list of all your department's **WFA** tasks.
-
-
-
-This list covers all relevant **Productions**, **Task Types**, and **Task Statuses**. As with other pages in Kitsu, you can click on a **Status** to open the **Comment Panel** on the right and review tasks one by one.
-
-Alternatively, you can use the **Build playlist from list** button to create a playlist with all the tasks on the list. This playlist has the same options as other views, allowing you to open the comment panel, compare versions and task types, and add annotations.
-
-
-
-
-Another option is to go to the **Task Type Page** and change the **Display as contact sheet**. For example, you can filter by **Due Date Status** and select **Due this week**.
-
-
-
-From here, you can click on the contact sheet to open the comment panel or select several tasks to create a playlist.
-
-## Reviewing Concepts
-
-When your artists upload a concept, you can review it through the navigation menu at the top of the screen by selecting the **Concepts** page.
-
-
-
-On this page, you can see all uploaded concepts along with their status, assignment, and linked assets.
-
-
-
-To review a concept, click on its status to open the comment panel. You can enlarge the comment panel or enter fullscreen. You can then write a comment, set the status as **Approved** or **Rejected**, and confirm your changes with the **Post** button.
-
-
-
-You can narrow down the page using the **Status** filter to display all concepts with a **Neutral** status.
-
-
-
-Additionally, you can filter by artist and change the sort order to better hone in on the data you need to review.
\ No newline at end of file
diff --git a/docs/supervisor-team/README.md b/docs/supervisor-team/README.md
deleted file mode 100644
index 0dc63b1d60..0000000000
--- a/docs/supervisor-team/README.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Managing Your Department
-
-A supervisor's role is to oversee the creative and technical aspects of visual effects production, ensuring that the final output meets the project's artistic vision, quality standards, and deadlines. A key aspect of this is to ensure your team knows what they are working on.
-
-## Assigning Tasks & Bidding Estimates
-
-From the global shots / asset page, your view is automatically filtered by **My Department**. This shows you tasks from your departments **Task Type** and the **Custom Columns** linked to your department.
-
-
-
-When you assign one or several tasks to someone, you will notice that you only have access to people from your department. This makes it faster to find the right artist for the task.
-
-
-
-Now that you have assigned tasks to all your artists, it's time to fill in the **Estimates** for each task.
-
-Click on the name of a **Task Type** column to open its dedicated page. On this page, you can access three tabs: **Tasks**, **Schedule**, and **Estimation**. We will focus on the last one.
-
-
-
-The **Estimation** page is split into two parts. On the left, you have all the tasks sorted by artist, along with their number of frames and seconds. On the right, you have a summary of your team, with one line per artist showing the total number of assigned tasks, total number of frames and seconds, and the updated total number of estimated days.
-
-With this information, Kitsu can calculate different estimated **Quotas**: **per Second**, **per Frame**, and **per Task**.
-
-You can now fill the **Estimation** column on the left and see the result on the right. As soon as you fill in an **Estimation** for a task, the artist's row will update on the right.
-
-
-
-This allows you to ensure the distribution of tasks among your team members is equal and helps to understand their estimated quotas for production. You should consider artist's experience and the difficulty of each task when doing this.
-
-## Daily Supervision Tasks
-
-Once the assignments and estimates are done, you can focus on the day-to-day operations. To easily see an overview of tasks from your department, you can click on your task type name from any page.
-
-Once on the detail page, your first action is to click on the **Display tasks as a contact sheet**  button.
-
-
-
-Now, you can easily hone in on tasks that require your attention using the built-in filters. For example, say you want to see only the tasks that are yet not complete yet. In this case, you can filter our tasks with the **-done** status, along with adding a **Due Date Status** filter, to show tasks that are **Due This Week**.
-
-
-
-You can easily enable / disable filters to quickly hone in on the right information.
-
-::: tip
-If you need more information about a task, click on it's name to open the comment panel on the right.
-
-
-:::
-
-## Managing Your Department's Schedule
-
-As a Supervisor, you can access your team's schedule from the main menu under the **Studio > Team Schedule** section.
-
-From this page, you can see all the artists in your current department working on your project. You can expand a person's schedule to see the details of their tasks.
-
-From there, you can:
-- Move tasks to change their start and due dates.
-- Adjust the length of tasks.
-- Drag and drop tasks to reassign them to different team members.
-- See days off.
-
-
-
-## Managing Department Quotas
-
-A quota refers to the specific amount of work or number of tasks an artist is expected to complete within a given timeframe, ensuring that the project progresses according to schedule and meets production deadlines.
-
-At the beginning of production, while setting estimates for each task, you can also define estimated quotas for each of your artists. Once a task is approved, the remaining line on the Estimation tab of the Task Type page will update and display the remaining number of tasks and the updated estimated quotas.
-
-You can monitor each team member to see if their estimated quotas stay within the initially established range.
-
-
-
-To check their **Actual Quotas**, go to the **Quotas** page.
-
-
-
-Kitsu has two ways to calculate quotas. The first is based on daily timesheets filled out by the artists. Quotas are calculated from when the artist fills out their first timesheet on a task until they stop.
-
-The second way is based on status. The calculation starts with the **WIP** status and ends with the **WFA** status. This is **First Take** quotas, meaning that back-and-forth comments are not included in the calculation.
-
-
-
-The first column, **Average**, is the most important. Kitsu calculates the average quotas for each artist per **Day**, **Week**, or **Month**.
-
-## Department Timesheets
-
-As a Supervisor, you may also be responsible for monitoring your team's hours. The Timesheet page shows how many hours they work daily, weekly, and monthly.
-
-
-
-It's important to highlight abnormal patterns such as extra hours, sick days, or lack of vacation. The timesheet view can provide a high-level overview of where artists are spending their time, which can help you take care of your team to ensure they are not burning out.
-
-
\ No newline at end of file
diff --git a/docs/team/README.md b/docs/team/README.md
deleted file mode 100644
index d622038142..0000000000
--- a/docs/team/README.md
+++ /dev/null
@@ -1,266 +0,0 @@
-# Preparing Your Team
-
-Now that you have defined your workflow, it's time to organize your team so you have people to assign tasks to.
-
-We will learn how to add users to Kitsu, link them to departments, grant them permissions, and finally, add them to a production team so that they can begin working.
-
-## Creating Users
-### Creating Users and Linking Them to Departments
-
-To assign tasks to people, you first need to create an account for them in Kitsu.
-
-
-::: warning Definition
-As with other aspects in Kitsu, there are two libraries for users:
-- The **People Page** (Global Library) is used to determine users' permissions, contracts, and departments they belong to.
-- The **Team Page** (Production Library) is used to define who is working on a project and provide access to the production.
-:::
-
-
-Go to the **Main Menu** , and under the **STUDIO**
-section, choose **People** page.
-
-
-
-Then, click on the  button.
-
-
-
-
-You will then be prompted to enter the following information: (please note from of the fields are required in order to create the user)
-- 1) First Name (**MANDATORY**)
-- 2) Last Name
-- 3) Email (**MANDATORY**)
-- 4) Phone Number
-
-::: danger Important!
-An email address is **mandatory** and must be unique in order to create an account.
-:::
-
-- 5) You can specify one or multiple **Departments** to link a user to.
-
-Being assigned to a Departments will also affect what shows up on the **My Checks** page, displaying only tasks related to your department.
-
-Finally, the timesheet page will be filtered to only tasks within your department as well.
-
-::: details Some more details about Departements
-Once a user is linked to a department, various options will become available to them. For example, they will have direct access to their department's view on the global homepage.
-
-The department supervisor will be able to comment on all tasks within their department and assign tasks only to people from the same department(s).
-
-
-:::
-
-- 6) Role: This is where you will define the permission role of the user (this will be explained below).
-
-- 7) Active
-
-This section lets you choose whether to activate users immediately. If the user needs immediate access to Kitsu, set this to **yes**. However, there might be instances where you want to create a user but are not ready to give them access to Kitsu (for example, if you want to schedule tasks for an artist who is due to start work in two weeks). In this case, you can create and schedule the user, then simply enable them once they start.
-
-::: danger Important!
-Each user requires an individual account to log in to Kitsu.
-:::
-
-## Permission Roles
-### Understanding Permission Roles
-
-::: warning Definition
-A permission role defines a set of access rights and privileges granted to a user within a system or application, dictating what actions they can perform and what resources they can access.
-:::
-
-Roles are very important, so it's useful to understand what each of them does and which ones might be relevant to specific team members. Click into each of the sections below to learn more about each permission role.
-
-- **Artist**
-::: details Artist Permissions
-Artists can only access the productions they are part of. They can comment on tasks, upload media, and change statuses only on tasks that have been assigned to them. Their access is limited to a predefined set of statuses as determined by the Studio Manager.
-
-**They can:**
-* Create personal filters on the global page and Task Type page.
-* Edit their own comments.
-* Check the checklist on their assigned tasks.
-* Create playlists-on-the-fly for shots or assets, but won't be able to save these playlists.
-
-**They cannot:**
-* See client comments.
-* Access anything inside of projects that they haven't been assigned to.
-
-When an artist logs in to Kitsu, the first page they will see is their **My Tasks** page.
-
-
-:::
-
-- **Supervisor**
-::: details Supervisor Permissions
-Department supervisors inherit Artist permissions.
-
-Department supervisors have read and write access to their department(s) they work on:
-assets, shots, tasks, assignments, statistics, breakdown, and playlists.
-
-**They can:**
-* Assign tasks to their team artists (same department).
-* Post comments on all tasks or their department(s).
-* Check a checklist in their own department.
-* Pin a comment.
-* Edit their own comments.
-* Add/edit a playlist for the studio or the client.
-* See client comments and validations.
-* See comments from other departments.
-* View the timesheets of their team department(s).
-
-**They cannot:**
-* Access the studio team, the main timesheets, and the production list
-* Define task types, task statuses, and asset types.
-* Comment on other departments than theirs; they can't assign artists from other departments.
-:::
-
-- **Production Manager**
-::: details Production Manager Permissions
-Production managers inherit Department supervisor permissions.
-
-Production managers have read and write access to the productions they are assigned to, including
-assets, shots, tasks, assignments, statistics, breakdowns, and playlists.
-
-**They can:**
-
-* Create assets and shots, either manually or through a CSV batch import.
-* Post comments on any tasks within the production.
-* Edit any comment within the production.
-* Check any checklist within the production.
-* Pin any comment within the production.
-* Add a task column.
-* Delete or add a task.
-* Add/edit a playlist for the studio or the client.
-* See client comments and validations.
-
-**They cannot:**
-
-* Access the studio page, the main timesheets, and the production list.
-* Define task types, task statuses, and asset types.
-:::
-
-- **Studio Manager**
-::: details Studio Manager / Administrator Permissions
-A Studio Manager acts in the same way as an Administrator, having read and write access to all productions and settings within Kitsu. Some of their privileges include:
-
-#### Create and edit a production
-
-The Studio Manager can create a new production, define its type, FPS, ratio, and resolution, and add a cover picture. They can also edit and delete any production.
-
-#### Manage the studio
-
-The Studio Manager has access to everything in the studio, including:
-
-* Read / write access across all the productions
-* Access to the global timesheets page
-* The ability to view all people in the studio
-* Access to the main schedule
-
-In the People page, The Studio Manager **defines the permission role of each user**.
-
-They can also:
-
-* Customize global aspects of Kitsu: for example adding and modifying task types, task statuses, and asset types.
-* Set permission roles
-* Customize high-level studio information, such as customizing the studio name adding the company logo, and defining the number of hours per day of work etc.
-* Choose to use the original filename for downloading media.
-
-#### Manage productions
-
-They have full access to all productions on your Kitsu site. Additionally:
-
-* They have the same permissions as the supervisor.
-* They can add / delete a task column.
-* They are allowed to create custom metadata columns.
-:::
-
-
-- **Vendor**
-::: details Vendor Permissions
-Vendors have similar permissions to artists. The main difference is that while an artist can still see tasks in their production (though they can only edit tasks assigned to them), a vendor can only see and edit tasks that they are specifically assigned to. Everything else that is not assigned is hidden.
-:::
-
-- **Client**
-::: details Clients Permissions
-The client can only see the production of which they are part of.
-
-**They can:**
-
-* Access the global page of the assets/shots.
-* Access the stats pages.
-* Access Client playlists with limited access to task status when they post a comment
-
-**Note**
-* Only Supervisors and the Studio Manager can see the Client retake or validation status.
-
-
-**They cannot:**
-
-* See task assignments
-* See comments that they didn't write
-:::
-
-
-::: details Add Employees from a CSV Spreadsheet File
-
-You may already have your employee list ready in a spreadsheet file. With Kitsu, you have two ways to import them: importing a `.csv` file directly or copy-pasting your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the People page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** will open. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the column names using the preview of your data.
-
-**Note:** The **Role** column is not mandatory.
-
-
-
-Once everything looks good, click on the **Confirm** button to import your data into Kitsu.
-
-Now, you have all your people imported into Kitsu.
-
-
-
-:::
-
-## Two-Factor Authentication
-### Add Additional Security to Your Studio
-
-**Two-Factor Authentication** provides an additional layer for security for users logging in to Kitsu. It can be enabled on a per-user basis, so you can decide for which users it is enforced.
-
-To enable this, click on their avatar at the top right of the screen, then select **Profile**.
-At the bottom of the page, they will find various **Two-Factor Authentication** options.
-
-### Available Two-Factor Authentication Methods
-- **TOTP**: This lets you use a Two-Factors Authentication app as a secondary password for your account. Selecting this option will present you with a QR, that once scanned into your 2FA app of choice, will prompt you for a one-time code each time you login.
-- **OTP Via Email** Similar to TOTP, but instead of using an app the 2FA code is sent to your email address
-- **FIDO Device** A FIDO device refers to a hardware security key that supports the FIDO (Fast IDentity Online) standard for two-factor authentication (2FA). If you own one of these devices, you can input it's name here to be used for Two-Factor-Authentication
-
-
-
-
-
-## Adding Users to the Team
-Once you have created your production, you need to add users to the production's team to allow them access. Being part of a team also allows tasks to be assigned to you.
-
-::: tip
-You don't need to add the Studio Manager role to a team to give them read permission (since this role will have access to it anyways). However, if you want to assign them tasks, they will need to be added to the team.
-:::
-
-To add users to a team:
-
-1. On a production, use the **navigation** dropdown menu at the top of the page and select the **TEAM** page.
-
- 
-
-2. On the **Team** page, you can see all the assignees for a specific project. Switch to the top of the page if you want to check another project team.
-
- 
-
diff --git a/docs/tvshow/README.md b/docs/tvshow/README.md
deleted file mode 100644
index d88fc349a1..0000000000
--- a/docs/tvshow/README.md
+++ /dev/null
@@ -1,1117 +0,0 @@
-# Create a TV Show Production
-
-Now that you have designed your workflow in Kitsu and invited additional team members, it's time to create your production.
-
-Click on the **Create a New Production** button.
-
-
-
-Enter your production name, choose **TV Show** as the **type**, and select the style of your production (2D, 3D).
-
-Next, fill in the technical information, such as the number of FPS, the aspect ratio, and the resolution.
-
-::: warning
-All this data will be used when Kitsu re-encodes the video previews you upload.
-:::
-
-Next, define the start and end dates for your production.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), shot task type (4), task status (5), and asset types (6).
-
-
-
-
-::: tip
-To create your **Production Workflow**, select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-[See Getting Started With Kitsu](../configure-kitsu/README.md)
-:::
-
-Then, steps 7 and 8 are optional. If you already have a spreadsheet with your assets or shots, refer to the **import CSV** section for more details.
-
-Validate everything with the  button.
-
-
-
-## Introduction to Kitsu's Global Page
-
-Welcome to Kitsu's global asset page. Let's take a look around.
-
-
-
-At the top, you’ll find the **global navigation**, which remains visible across all production pages.
-
-**From left to right:**
-
-### Main Menu
-
-By clicking on the top left button, Kitsu  (or your Studio logo), you will open the Main Menu.
-
-In the Main Menu, you’ll have direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- **My Tasks:** Your assigned tasks.
-- **My Checks:** All tasks with the status **Is Feedback Request**, depending on your department(s).
-- **My Productions:** Return to the production selection page.
-
-**STUDIO**
-- **Productions:** List of all productions (opened or closed) with details.
-- **People:** List of all the people (active or not) in your studio with information.
-- **Timesheets:** Details of the time entered by the team across productions.
-- **Main Schedule:** All your productions in one schedule.
-- **Team Schedule:** Schedule of all the people in your studio and their tasks.
-- **All Tasks:** Access all tasks across all productions at once.
-- **News Feed:** Stay updated on what happened.
-- **Entity Search:** Find any assets or shots across productions.
-
-**ADMIN**
-- **Departments:** Create and edit departments.
-- **Task Types:** Create and edit task types.
-- **Asset Types:** Create and edit asset types.
-- **Custom Actions:** Create and edit custom actions.
-- **Automation:** Create and edit automation.
-- **3D Backgrounds:** Add HDR backgrounds.
-- **Bots:** Create and edit bots.
-- **Settings:** Set up your studio.
-- **Logs**
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artists (and above) can also see their own **Timesheets** and have access to the **Entity Search**.
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu to the right of the main menu icon.
-
-
-
-You can choose between different productions. The name of the current production and the current page are always displayed.
-
-Use the dropdown menu to navigate from one production to another if you have several. Once you have selected a production, the next dropdown menu will help you navigate through the different pages of that production.
-
-::: details Navigation Details
-The first section is about tracking your tasks:
-- **Assets**
-- **Shots**
-- **Sequence**
-- **Episodes**
-- **Edits** (If you have created specific tasks)
-
-The second section focuses more on the production side:
-- **Concepts**
-- **Breakdown**
-- **Playlists**
-- **News Feed**
-
-The third section is about statistics:
-- **Sequence Stats**
-- **Episodes Stats**
-- **Asset Type Stats**
-
-The fourth section is related to team management:
-- **Schedule**
-- **Quotas**
-- **Team**
-
-The fifth section is about the settings of your production:
-- **Settings**
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see settings page).
-:::
-
-::: warning
-If you realize you don't need an extra level of navigation, such as **Episodes**, you need to change your production type to **Short**.
-:::
-
-### Global Search, News, Notification, and Documentation
-
-To the right of the navigation dropdown menu, you’ll find the global search. This quick-access feature shows the first four results. For more results and filtering options, visit the **Entity Search** page in the Main Menu.
-
-The next icon  is a direct link to our news and feedback page. Here, you can view all the new features, complete with animated GIFs, and also submit suggestions for the next feature you’d like to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button , which you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your profile menu (Profile, Color Theme, Video tutorials, etc.).
-
-
-
-## The Tasks Spreadsheet
-
-### Entity Spreadsheet
-
-The second part of the screen is common to all entities (Asset, Shot, Sequence, Edit). This is the global tasks spreadsheet.
-
-Here, you can see the status, assignment, priority, and other details for each task.
-
-::: tip
-The first row and column header of the spreadsheet always remain at the top of the page, even when you scroll down.
-
-You can also **stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. You can type anything you want for simple filtering, such as sequence, asset type, etc.
-
-For more advanced filtering, please use the filter builder button.
-
-
-
-You can save all the filters and use them as your pages.
-
-### Simplify the Display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignment, hide or display the extra column, enlarge or reduce the thumbnail.
-
-
-
-### Import / Export
-Here we have the Batch import thumbnail , and finally import  or export  data.
-
-### Metadata Column
-Below, you have the name of the column. The (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the View
-On the far right of the screen, next to the scroll bar, is the option to hide and display an extra column (everything but the task type).
-
-.
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or shots), the total number of estimated days, and the total number of days already spent.
-
-
-
-
-## Create an Asset
-### Create Your First Asset
-
-Now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
-
-On the asset page, click on **Add Assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all tasks will be created simultaneously**.
-:::
-
-A pop-up window opens:
-
-- It asks you to choose the **Asset Type** (1). If you haven't added a new asset type, Kitsu will provide examples such as Characters, Environment, FX, Props. Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the task pipeline. [See Asset Types Workflow](../configure-kitsu/README.md#specific-asset-types-workflow)
-:::
-
-Link this asset to an Episode (Kitsu provides the **Main Pack** by default, which is not editable or removable) and select a first episode to help you get started **E01**. You can rename or delete E01.
-
-- Give it a **Name** (3) and enter a description to help the artist know what to do and quickly identify the asset.
-
-- Click on **Confirm and Stay** if you have multiple assets to create.
-
-
-
-You can change the asset type and continue adding assets.
-
-::: tip
-The newly created asset appears in the background whenever you click on **Confirm and Stay**.
-:::
-
-After adding your last asset, click on **Confirm**. It will create the asset and close the window.
-
-::: tip
-If you click on **Confirm and Stay** but realize you don't have more assets to add, click on **Close**, and the window is canceled.
-:::
-
-
-
-You will also see that the tasks selected for your asset's workflow are created at the same time.
-
-If you need to add more **Assets**, click the **+ Create Assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them: the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import Data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the column names by previewing your data.
-
-Note: the **Episode** column is only mandatory for a **TV Show** production.
-
-Once everything is correct, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the tasks according to your settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import Data from a CSV** opens; click on the **Paste a CSV Data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the column names by previewing your data.
-
-Note: the **Episode** column is only mandatory for a **TV Show** production.
-
-Once everything is correct, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the tasks according to your settings.
-
-
-:::
-
-### Viewing Details of an Asset
-
-To see the details of an asset, click on its name.
-
-
-
-A new page opens with the list of tasks, assignments, and status updates on the right.
-
-
-
-You can click on the status of each task to open the comment panel and view the history of comments and different versions.
-
-
-
-You can also access the following:
-
-- **Casting**
-
-
-
-- **Concepts** linked to this asset
-
-
-
-- The **Schedule** is available if you have previously filled out the task type page data. If the data has already been filled out, you will be able to modify them directly here.
-
-
-
-- The **Preview Files** uploaded at various task types
-
-
-
-- And the **Timelog** if people have filled out their timesheets on the tasks of this asset.
-
-
-
-
-
-## Update Your Assets
-You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
-
-To edit assets, go to the asset page, hover over the asset you want to modify, and then click on the **Edit** button  (1) on the right side of the line.
-
-
-
-To view the full description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignment**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated will be highlighted in blue.
-
-
-:::
-
-::: details Update Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon .
-
-A pop-up window **Import Data from a CSV** opens; click on the **Paste a CSV Data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated will be highlighted in blue.
-
-
-
-Now, you have imported all your assets into Kitsu and updated the tasks according to your settings.
-
-
-:::
-
-
-
-## Add More Tasks After Creating the Assets
-
-If you realize **after** creating the assets that tasks are missing, you can still add them.
-
-First, ensure that the missing task type is added in the settings page under the task type tab (otherwise, [See Getting Started with Kitsu](../configure-kitsu/README.md)).
-
-Then, go back to the asset page and click on **+ Add Tasks**.
-
-## Create a Concept
-### Upload a Concept
-
-To create a **Concept**, navigate to the **Concepts** page using the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view. The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it. You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, click on it. The linked assets' names will appear at the top of the screen under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-## Create a Shot
-### Create Your First Shot
-
-It's time to create **shots** for your production.
-
-::: warning
-**Shots** are linked to a **Sequence** which is also linked to an **Episode** in Kitsu.
-This means you must create an episode, then a sequence, and populate this sequence with shots.
-:::
-
-Navigate to the **Shots** page using the dropdown menu and click on **SHOTS**.
-
-
-
-Click on the **Add Shots** button to start with shot creation.
-
-
-
-::: warning
-When you create a shot, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the shot.
-
-[See Getting Started With Kitsu](../configure-kitsu/README.md)
-:::
-
-A new pop-up opens for the creation of the shots.
-You can now create Episodes, sequences, and shots.
-
-Kitsu provides a first episode as an example **E01**; you can select it and add to it your first sequence, for instance, sq01,
-then click **Add**.
-
-Now, you can see your sequence has been created. To add shots to this sequence, you need to select it and create your shots.
-
-For example, type sh0010 in the shots column, then click **Add**.
-You can also define padding for your shots.
-
-::: tip
-If you want to name your shots ten on ten as SH0010, SH0020, SH0030, etc, set the **Shot Padding** as 10
-:::
-
-
-
-You can now see that new shots are listed and linked by their sequence, and the shelves are linked to the Episode.
-You have created the first shot of the first sequence of the first Episode.
-
-Now, let's add more shots than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **Add** to
-create more shots.
-
-
-
-To add more sequences, go to the left part, type the name of your new sequence, and then click on **Add**.
-Your second sequence is selected, and you can now add shots.
-
-You can follow the same process to add more episodes.
-
-Once you create a new episode, it will be selected and created sequentially.
-Once the sequence is created, it will be selected, and you can create shots on this sequence.
-
-::: tip
-If a shot is misplaced on a sequence, you have to edit the shot
-, and change the
-sequence.
-
-**But you can't change the Episode of a shot.**
-
-
-
-
-:::
-
-
-
-
-## Create Shots from an EDL File
-
-You may already have your shots list ready in an **EDL** file. With Kitsu, you can directly import your **EDL** file to create the sequence, shot, number of frames, and Frame in and out.
-
-On the **Global Shot Page**, you will see an **Import EDL** button.
-
-
-
-You can select the naming convention of the video file used during the editing on the pop-up.
-
-
-
-It means the video clip on the editing is named as project_sequence_shot.extension.
-
-Here is an example of an EDL for the LGC production.
-
-
-
-The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the sequence name, and 000 is the shot name.
-
-You can import the EDL file once you are set with the naming convention.
-
-Then click on **Upload EDL**.
-
-Then Kitsu will create the shots.
-
-
-
-::: details Create Shots from a CSV Spreadsheet File
-You may already have your shots list ready in a spreadsheet file. With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, return to the shot page on Kitsu and click the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-::: details Create Shots by Copying / Pasting a Spreadsheet File
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-### See the Details of a Shot
-
-If you want to see the details of a shot, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-You can also access the **Casting**,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-
-## Update your shots
-
-You can update your shots at any point, change their names and sequences, modify their descriptions, and add any custom information you added to the global page.
-
-You can edit shots by going to the shot page, hovering over the shot you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main shot page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Shots Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation**and the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the shot page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated shots will be in blue.
-
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your shots are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-
-## Add more tasks after creating the shots
-If you realize after creating the shots that the task is missing, you can still add them.
-
-First, ensure the missing task type is added to the settings page under the task type tab (otherwise, http://localhost:8080/tvshow/#update-your-shots)).
-
-Then go back to the shot page and click on + Add tasks.
-
-## Adding Frame Numbers and Ranges to Shots
-
-At this stage of production, the animatic should be complete. This means you have the duration (number of frames) and the frame range (Frame In and Frame Out) for each shot. You can input this information into the spreadsheet to ensure accurate frame calculation without any missing or redundant frames.
-
-::: warning
-If you've manually created your shots and sequences, the Frame column might be hidden. To reveal it, you need to edit at least one shot and input the number of frames. Alternatively, if you've imported the number of frames via CSV/spreadsheet, the Frame column will be visible.
-:::
-
-To add frame range information to shots, follow these steps:
-
-1. **Edit Shots:** Click on the edit button () located on the right side of the shot line.
-
- 
-
-2. **Input Frame Range:** In the editing window, enter the In and Out frames for the shot, then save by clicking the Confirm button.
-
- 
-
- The frame range will now be displayed on the general spreadsheet of the shot page.
-
- 
-
-3. **Fill Frame Information:** Once the Frames, In, and Out columns are unlocked, you can directly input data from the global shot page. Simply click on the case you want to fill in and add the data.
-
- ::: tip
- If you input Frame In and Frame Out, Kitsu will automatically calculate the Number of Frames.
- :::
-
- 
-
-4. **CSV Import:** You can also utilize CSV Import to swiftly update your frame ranges. [Update Shots information with CSV Import](README.md#update-your-shots)
-
-5. **Access Shot History:** You can view the history of shot values, including frame ranges.
-
- 
-
- 
-
-
-## Creating Custom Metadata Columns
-
-To include additional information on the general spreadsheet pages, you'll need to create a custom **metadata column**.
-
-You might have extra details to add, such as **level of difficulty**, **weather**, **tags**, etc. All textual or numerical information can be stored in the custom metadata column.
-
-::: warning
-Any Custom Metadata Column created in one episode will be applied to all episodes.
-:::
-
-Follow these steps to create a custom metadata column:
-
-1. **Add Column:** Click on the **+** near the Name column.
-
- 
-
-2. **Choose Type:** With the Type option, select how you want to store your information:
- - **Text**
- - **Number**
- - **Checkbox**
- - **List of Values**
- - **List of Tags**
- - **Checklist**
-
- 
-
- ::: warning
- - **Text**, **Number**, and **Checkbox** allow you to add different information for each entity without prior planning.
- - **List of Values**, **List of Tags**, and **Checklist** offer the same options for each entity and must be filled in advance.
-
- 
- Type the list elements below Available values and confirm them by clicking on Add value.
- :::
-
-3. **Link to Departments:** Optionally, you can link the metadata column to one or several departments. This allows artists/supervisors to view it on their to-do page and in department-filtered views.
-
- ::: tip
- To link a metadata column to a department, click on the department from the list and then click on **add** to apply it.
-
- Here, the VFX column is linked to two departments.
-
- 
- :::
-
- ::: details Edit Metadata Column
- On the global page of the asset or the shot, click on the arrow to the right of your metadata column and select **Edit**.
-
- 
- :::
-
-4. **Fill Information:** You can input information directly on the global spreadsheet page. The cases are editable.
-
- 
-
- ::: tip
- You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
- :::
-
- ::: details Edit Manually
- You can also modify the information manually by clicking the edit button ().
-
- You'll see a new line on the edit pop-up where you can select the information from the list, enter free text or a number, check a box, or use a checklist, depending on your previous choice.
-
- Remember to press the Confirm button when you're done.
-
- 
- :::
-
-5. **Edit or Delete:** To edit or delete the metadata column, go to the general spreadsheet page. Next to the name of your metadata column, click on the arrow.
-
- ::: tip
- You can also sort your global page with this new column by clicking the arrow on the right of the column name to open its menu and then selecting Sort By.
-
- You can also Stick the metadata column to the left.
- :::
-
-
-## Create a Sequence
-
-In Kitsu, you can also track tasks at the **Sequence** Level.
-It's especially useful when
-you have macro tasks to track, like Story and color Board, Color Grading, etc.
-
-Use the navigation menu to go to the **Sequences** page.
-
-
-
-::: warning
-This new page behaves like the asset and shot global page.
-
-To use this page, You first need to create dedicated task types on your **Global Library**
- with the **Sequence** attribute.
-
- [See How to Create a New Task Type](../configure-kitsu/README.md#studio-workflow-create-a-new-task-type)
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library** (setting page).
-:::
-
-Once your task types are ready on the settings page, you need to create a sequence (the same as the assets or shots).
-
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New Sequence** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-
-::: tip
-You can create a sequence directly from here (**+New sequence** button) or create a sequence linked to your shots from the global shot page.
-:::
-
-
-You can **Rename** and **Delete** the Sequence entity on this page, as for the asset and shot entity.
-
-If you click on the name of a sequence, you will see the detail page of this sequence.
-
-
-
-On the detailed page, you have access to the sequence casting.
-You can see all the assets used in the whole sequence.
-
-You can also access the schedule, Preview Files, Activity, and Timelog of the sequence **tasks**.
-
-
-
-## Create an Edit
-
-You can track tasks at the **Edit** level in Kitsu.
-
-It's especially useful when you have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
-
-::: warning
-By default, the **Edit** page will not be displayed until you have task types for it in your **production library** (setting page).
-
-[See How to Create a New Task Type](../configure-kitsu/README.md#studio-workflow-create-a-new-task-type)
-:::
-
-To use this page, you need to first create a dedicated task type in your **Global Library** with the **Edit** attribute.
-
-Once you have created your **Task Types** in your **Global Library**, add them to your **Production Library**. After this, you will see the **Edit** option displayed in the navigation drop-down menu.
-
-
-
-This new page behaves like the asset and shot global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, conduct reviews, change status, etc.
-
-You can also add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page resembles the comment detail page more closely.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page, similar to the asset and shot entity.
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the shots. With the
-breakdown, you have all the details of the assets you need to add to create your
-shot, and we are sure to omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the episode/sequence/shot menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (main pack and episodes) (3). Moreover, in
-the middle section, it is your selection for the shot (2).
-
-
-
-So now you have to select the shot you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also choose multiple shots at once. Click on the first shot, hold the **shift** key, and click on the last shot of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple shots, your selection is applied to the numerous shots.
-
-Copy a shot filled with assets and paste this asset selection into another shot.
-
-You can see a **+1** or **+10** when you pass over the asset. It's the number
-of times you add this asset, and you can click on it as many times as you need.
-
-
-
-You can also link all your assets to episodes on a TV show without specifying a sequence or shot.
-
-
-
-This way, you can link all your assets to one or several episodes before the storyboard/animatic stage.
-
-You can now see the asset in the middle of the screen (2). Next
-to the asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this shot (2). From there, click on
-**-1**. When you finish this shot, go on with the other shots.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the storyboard, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
-
-On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
-
-
-
-You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
-
-
-
-You can complete the asset breakdown page the same way you did the shots. First, select one or more assets on the left part and then add the right part's elements.
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **Episode** column is mandatory for a **TV Show** production.
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
-
-## Introduction to Asset State: Ready For
-
-Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a shot task.
-
-For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
-Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
-
-That's exactly what the asset state **Ready For** is doing: it lets you know the state of an asset's tasks and compares its usability for the shot tasks.
-
-Now that we have filled out our breakdown, we know exactly which asset is used on every shot.
-
-First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the shot task.
-
-
-
-::: tip
-You can use the **automations** to do the heavy lifting for you.
-
-You can set automation with the **ready for** trigger.
-
-[See How to Create Status Automation](../configure-kitsu/README.md#automation)
-
-:::
-
-Now that we have changed some asset states to **Ready for**, we can see the result on the shot page.
-
-You can notice that some white boxes are now **Green**: all the assets cast in this shot are ready for this specific task.
-
-
-
-If you see the white box, Kitsu will display how many assets are ready for this task.
-
-
-
-::: tip
-No assets are cast for this shot if you don't see any boxes.
-:::
-
-Then, you can click on the shot's name to go to its detail page.
-Then, you will see all the assets cast in this shot and their status.
-
-
-
-It's the fastest way to know if you can start a shot for a specific task.
-
diff --git a/docs/videogame/README.md b/docs/videogame/README.md
deleted file mode 100644
index c8f4d66c54..0000000000
--- a/docs/videogame/README.md
+++ /dev/null
@@ -1,1201 +0,0 @@
-# Create a Video Game Production
-
-Now that you have designed your workflow in Kitsu and invited more people, it's time to create your production.
-
-Click on the **Create a new
-production** button.
-
-
-
-Enter your production name, choose **short** as the **type**, and then select your production style (2D, 3D).
-
-
-Then, you must fill in technical information, such as the number of FPS, the Ration, and the Resolution.
-
-All these data will be used when Kitsu re-encodes the video previews uploaded.
-
-Then, you need to define your production's start and end dates.
-
-
-
-You can define your production workflow in the next part, 3 to 6.
-
-
-
-You need to select your asset task type (3), map task type (4), task status (5), and asset types (6).
-
-
-
-
-::: tip
-To create your **Production Workflow**, you will select Task Types from the Global Library.
-
-If you realize you missed some Task Types, you can create them later.
-
-See the [Studio Workflow](../configure-kitsu/README.md#studio-workflows) section.
-:::
-
-Then, 7 and 8 are the option parts. If you already have a spreadsheet with your asset/map.
-
-See the **import CSV** section for more details.
-
-[Import asset](../videogame/README.md#create-an-asset)
-
-[Import map](../videogame/README.md#create-maps-from-an-edl-file)
-
-Validate everything with the  button.
-
-
-
-
-
-
-## Introduction to the Kitsu Global Page
-
-
-
-Welcome to Kitsu's global asset page.
-
-Let's take a look around.
-
-
-
-On the top part (1), you have the **global navigation**, which is always visible throughout all the production pages.
-
-**From left to right:**
-
-
-### Main Menu
-
-By clicking on the top left button, Kitsu (or your Studio logo), you will open the Main Menu.
-
-On the Main Menu, you will find direct access to your assigned tasks, productions, global and team schedules, the workflow customization page, and the Kitsu settings.
-
-::: details Main Menu Details
-**WORKSPACE**
-- My Tasks: your assigned tasks
-- My Checks: All the tasks with status **Is Feedback Request** depending on your department(s)
-- My Productions: Get back to the selection on the production page.
-
-
-**STUDIO**
-- Productions
-- People
-- Timesheets
-- Main Schedule
-- Team Schedule
-- All tasks
-- News Feed
-- Entity Search
-
-
-**ADMIN**
-- Departments
-- Task Types
-- Asset Types
-- Custom Actions
-- Automation
-- 3D Backgrounds
-- Bots
-- Settings
-- Logs
-
-::: warning Permission Visibility
-The WORKSPACE section is enabled for all permissions except My Checks, which artists do not see.
-
-Artist (and above) can also see their own **Timesheets**, and have access to the **Entity Search**
-:::
-
-### Navigation
-
-You will see the navigation dropdown menu on the right of the main menu icon.
-
-
-
-
-You can choose between production. The name of the actual production and actual page are always displayed.
-
-You can use the dropdown menu to navigate from production to production (if you have several).
-
-Once you have selected a production, the next dropdown menu will help you navigate through the different pages of this production.
-
-
-::: details Navigation details
-The first section is about the tracking of your tasks
-- Assets
-- maps
-- level
-- Edits (If you have created specific tasks)
-
-The second section is more about the side of the production
-- Concepts
-- Breakdown
-- Playlists
-- News feed
-
-The third section is about statistics
-- level Stats
-- Asset Type Stats
-
-The fourth section is related to Team Management
-- Schedule
-- Quotas
-- Team
-
-The fifth section is about the settings of your production
-- Settings
-
-::: tip
-You start with the asset page, but you can change your production homepage to other entities (see setting page)
-:::
-
-::: warning
-If you realize you need an extra level of navigation as **chapters**, You need to change your production Type to a **TV Show**.
-
-If, on the contrary, you realize you don't need the **assets** or the **maps**, you need to switch your production type to **Only Assets** or **Only Maps**.
-:::
-
-### Global Search, News, Notification and Documentation
-You have the global search on the right of the navigation dropdown menu. It's a quick access search that will display the four first results. If you need more results and filtering options, see the **Entity Search** page.
-
-
-The next icon  is a direct link to our news and feedback page.
-
-You can see all the new features with an animated gif and also add suggestions about the next feature you want to see in Kitsu.
-
-Next, the bell icon  displays your notifications (assignments, comments, tags). The number of unread notifications will be shown on the bell icon. There are various filters to help you stay on top of updates and revisit important ones when needed. You can easily mark notifications as read or unread or quickly filter by watching/non-watching to focus on what matters most and declutter your feed.
-
-The last icon before your avatar is the documentation button.
-, that you are reading right now!
-
-
-### Personal Settings
-You can click on your avatar to open your menu (setting, documentation, etc.).
-
-.
-
-## The Tasks Spreadsheet
-
-### Entity spreadsheet
-
-The second part of the screen is common to all the entities (asset, map, level, Edit). This is the global tasks spreadsheet.
-
-Here, you see the status, assignation, priority, etc, for each task.
-
-::: tip
-The first line and column header of the spreadsheet always appear at the top of the page, even if you scroll down.
-
-You can also **Stick** other columns to keep them visible at all times.
-:::
-
-### Filters
-
-The first element on the left is the filter box. For simple filtering, you can type anything you want, such as level, asset type, etc.
-
-If you need more advanced filtering, please use the filter builder button.
-
-
-
-You can then save all the filters and use them as your pages.
-
-### Simplify the display
-
-On the right part of the screen, there are some buttons (from left to right) to hide or display the assignation, hide or display the extra column, enlarge or reduce the thumbnail,
-
-
-
-### Import / Export
-batch import thumbnail , and finally import  or export  data.
-
-
-
-### Metadata column
-Below, you have the name of the column. the (+) next to **Name**  is here to create a new metadata column. Then, you have the name of the task type column.
-
-### Customize the view
-On the far right of the screen, next to the scroll bar, is the option to hide and display a text column
-
-.
-
-
-### Sum-up of your view
-The last part (4), at the bottom of the screen, is the sum-up of your displayed page. It means the sum-up will update if you filter the page.
-
-You can see the number of elements (assets or maps), the total number of estimated days, and the total number of days already spent.
-
-
-
-## Create an Asset
-### Create your first asset
-So, now that we have created our production and have a general grasp of the Kitsu interface, it's time to create our very first asset.
-
-On the asset page, click on **Add assets**.
-
-
-
-::: warning
-When you create an asset, your task workflow will be applied, and **all the tasks will be created simultaneously as the asset**.
-:::
-
-A pop-up window opens:
-
-It asks you to choose the **Asset Type** (1).
-If you didn't add a new asset type, Kitsu will provide you with examples such as Characters, Environment, FX, Props, etc.
-Let's start with a character.
-
-::: tip
-You can also customize the asset type list and the tasks pipeline. See the guide (
-[Customization of the workflow](../configure-kitsu/README.md#asset-types)) for more details
-:::
-
-We give it a **Name** (2) and enter a description that helps the Artist know what to do and quickly identify the asset.
-
-Click on **Confirm and stay** if you have multiple assets to create.
-
-
-
-
-You can change the asset type and keep adding assets.
-
-::: tip
-The newly created asset appears in the background whenever you click on **Confirm and stay**.
-:::
-
-After adding your last asset, click
-on **Confirm**. It will create the asset and close the window.
-
-::: tip
-If you click on **Confirm and stay, ** realize you don't have more assets to add, and click on **Close, ** the window will be canceled.
-:::
-
-
-
-You will also see the tasks that are selected for your assets workflow are created at the same time.
-
-
-If you need to add more **Assets**, click the **+ Create assets** button.
-
-::: details Create Assets from a CSV Spreadsheet File
-You may already have your asset list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file and copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-::: details Create Assets by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-### See the Details of an Asset
-
-To see an asset's detail, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-**concept** linked to this asset,
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-## Add more tasks after creating the assets
-
-
-If you realize **after** creating the assets that the task is missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go back to the asset page and click on **+ Add tasks**
-
-
-
-
-
-
- ### Update your assets
-You can update your assets at any point, change their name and asset type, modify their description, and add any custom information you added to the global page.
-
-You can edit assets by going to the asset page, hovering over the asset you want to modify, and then clicking on the **edit** button
- (1) on the right side of
-the line.
-
-
-
-To extend the description on the main asset page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update Assets with the CSV Import
-You can use the CSV import to update your data quickly.
-
-You can update the **type** of an asset, the **Assignation**, the **Status** of tasks, and add a **Comment**.
-
-You need to switch on the option **Update existing data**. Then the lines that will be updated
-will be highlighted in blue.
-
-
-
-:::
-
-
-::: details Update Assets by Copying / Pasting a Spreadsheet. File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the asset page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-You need to switch on the option **Update existing data**. Then, the lines that will be updated
-will be highlighted in blue.
-
-
-
-Now, you have imported all your assets into Kitsu and created the task according to your Settings.
-
-
-:::
-
-
-## Create a Concept
-### Upload a Concept
-
-To create a **Concept**, go to the **Concept** page with the navigation menu.
-
-
-
-To upload a concept, click the **Add a new reference to concepts** button.
-
-You can upload one or several concepts at the same time.
-
-
-
-Once you upload your previews, the concept page will look like this.
-
-
-
-
-You can interact with the concept in two ways: click on the picture to see an enlarged view.
-The second is to click on the status part to open the **Comment Panel** on the right.
-
-On the comment panel, you have two options: link a concept to an existing asset or delete it.
-You can also comment and change the status of the asset.
-
-The idea is to have one version per **Concept**. If it's not approved, you need to upload a new concept, not to have multiple versions of the same concept.
-
-One concept is one task.
-
-
-
-
-
-### Link a Concept to an Asset
-
-Once concepts are uploaded, you can link them to the assets.
-
-You can see the links on the status part of the assets.
-
-Click on the status part of the concept; it will open the comment panel on the right.
-
-
-
-On the comment panel, you have two options at the top: Link a concept to an asset and delete the concept.
-
-To link an asset, click on the **Link**  button.
-
-Kitsu will display all the **Assets** available to link with the concept uploaded.
-
-Kitsu will list the linked assets at the top of the comment panel. For now, there are No Links.
-
-
-
-
-To link an asset, you have to click on it. The name of the linked assets will appear at the top of the screen but also under the preview of the concept.
-
-
-
-
-Once a concept is linked to an asset, it can be seen on the asset's detail page.
-
-Return to the asset page, and click on the asset name you want to see the concept.
-
-
-
-Per default, the casting detail is displayed on the second part of the screen.
-Use the dropdown menu to choose the concept.
-
-
-
-Once in the concept section, you will see all the concepts created for this asset. You can filter them per status.
-
-
-
-
-## Create a map
-### Create your first map
-
-It's time to create **maps** for your production.
-
-::: Warning
-maps are linked to levels in Kitsu.
-This means you need to first create a level and then populate this level with maps.
-:::
-
-You need to go to the **maps** page: you can use the
-dropdown menu and click on the **mapS**.
-
-
-
-Click on the **Add maps** button to start with the map creation.
-
-
-
-::: warning
-When you create a map, the task workflow you have designed will be applied, and all the tasks will be created at the same time as the map.
-:::
-
-A new pop-up opens for the creation of the maps.
-You can now create the levels and the maps.
-
-Enter the first level, for instance, sq01,
-then **add**.
-
-Now, you can see your level has been created. You need to select the maps you want to add to this level and create them.
-
-For example, type sh0010 on the maps column, then again **add**.
-You can also define Padding for your maps.
-
-::: tip
-If you want to name your maps ten on ten as SH0010, SH0020, SH0030, etc, set the **map Padding** as 10
-:::
-
-
-
-You can now see that new maps are listed and linked by their level.
-You have created the first map of the first level.
-
-Now, let's add more maps than just one! As you can see, the box already contains your name
-code but incremented, so you have to continue to click on **add** to
-create more maps.
-
-
-
-To add more levels, go to the left part, type the name of your new level, and then click on **add**.
-Your second level is selected, and you can now add maps.
-
-::: tip
-If a map is misplaced on a level, you have to edit the map
-, and change the
-level.
-
-
-
-:::
-
-
-## Create maps from an EDL File
-You may already have your maps list ready in an **EDL** file.
-With Kitsu, you can directly import your **EDL** file to create the level, map, and several frames, Frame in and frame out.
-
-On the **Global map Page**, you will see an **Import EDL** button.
-
-
-
-You can select the naming convention of the video file used during the editing on the pop-up.
-
-
-
-It means the video clip on the editing is named as project_level_map.extension.
-
-Here is an example of an EDL for the LGC production.
-
-
-
-The video files are named LGC_100-000.mov, which means LGC is the production name, 100 is the level name, and 000 is the map name.
-
-Once you are set with the naming convention, you can import the EDL file.
-
-Then click on **Upload EDL**
-
-Then, Kitsu will create the maps.
-
-
-:::
-
-::: details Create maps from a CSV Spreadsheet File
-You may already have your maps list ready in a spreadsheet file.
-With Kitsu, you have two ways to import them; the first is to import a `.csv` file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file.
-
-Then, go back to the map page on Kitsu and click on the **Import** icon.
-
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-::: details Create maps by Copying / Pasting a Spreadsheet File
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the map page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-### See the Details of a map
-
-If you want to see the details of a map, click on its name.
-
-
-
-A new page opens with the list of the tasks, the assignation, and the status newsfeed on the right.
-You can navigate through each by clicking on the name of the tabs.
-
-
-
-You can click on the status of each task to open the comment panel and see the history of the comments and the different versions.
-
-
-
-
-
-You can also access the **Casting**,
-
-
-
-
-The **Schedule** is available if you have previously filled out the task type page data. If the data have already been filled out, you will be able to modify them directly here.
-
-
-
-the **Preview Files** uploaded at various task types,
-
-
-
-And the **Timelog** if people have filled out their timesheet on the tasks of this asset.
-
-
-
-
-
-
-## Add more tasks after creating the maps
-If you realize after creating the maps that tasks are missing, you can still add them.
-
-First, be sure that the missing task type is added to the settings page under the task type tab.
-
-Then go back to the map page and click on + Add tasks.
-
-
-### Update your maps
-
-You can update your maps at any point, change their name and level, modify their description, and add any custom information you added to the global page.
-
-You can edit maps by going to the map page, hovering over the map you want to modify, and then clicking on the **edit** button
- (1) on the right side of the line.
-
-
-
-To extend the description on the main map page, click on the first words (2), and a pop-up with the full description will open.
-
-
-::: details Update maps Information with CSV Import
-You can use the **CSV Import** to update your data as the **NB Frames**, **Frame IN**, **Frame Out**, or any custom **Metadata column**.
-
-You can update the **Assignation**, and the **Status** of tasks and add a **Comment**.
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the map page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You need to switch on the **Option: Update existing data**.
-The updated maps will be in blue.
-
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your maps are imported into Kitsu, and the task is created according to your **Settings**.
-
-
-:::
-
-
-
-## Add the number of Frames and Frame ranges to the maps
-
-At this stage of the production, the animatic should be done. This means you have
-the length (**number of frames**, **Frame range In**, and **Frame range Out**) for each map. You can
-add this information to the spreadsheet. This way, you are sure that all
-the frames are calculated and none are missing or over-computed.
-
-::: warning
-If you have created your maps and level by hand,
-the **Frame** column will be hidden. You must edit at least one map and fill in the number of frames to display the **Frame** column.
-The column will be displayed if you have created your maps and imported the number of frames with a CSV/spreadsheet.
-:::
-
-
-
-You need to edit the maps to fill in the frame range information. Click on the
-edit button  on the right
-side of the map line.
-
-
-
-On the new window, you can enter the maps **In** and **Out**. Then, save by clicking the **Confirm** button.
-
-
-
-
-
-Now, the frame range appears on the map page's general spreadsheet.
-
-
-
-Now that you have unlocked the **Frames**, **In**, and **Out** columns, you can fill them
-directly from the global map page.
-
-Click on the case you want to fill in and add the data.
-
-::: tip
-If you enter the **Frame In** and **Frame Out**, Kitsu automatically calculates the **Number of Frame**.
-:::
-
-
-
-
-You can also use the **CSV Import** to update your frame range quickly.
- [Update maps information with CSV Import](../videogame/README.md#update-your-maps)
-
-You can also access the map values history.
-
-
-
-
-
-
-## Create Custom Metadata Columns
-
-To add more information on the general spreadsheet pages, you must create a custom **metadata column**.
-
-You may have extra information to add to your pages, such as the **level of difficulties**, **Weather**, **Tag**, etc. You can store all text (or number) information in the custom metadata column.
-
-
-Click on the **+** near the Name column.
-
-
-
-
-
-With the **Type** option, you can choose how you want to store your information:
-- a free **Text**,
-- a **Number**,
-- a **Checkbox**,
-- a **List of value**,
-- a **List of tags**,
-- a **Checklist**.
-
-
-
-::: warning
-The **Text**, **Number**, and **Checkbox** allow you to add different information for each entity. You don't have to plan it first.
-
-The **List of value**, **List of tags**, and **Checklist** give you the same choice for each entity. Moreover, it has to be filled now.
-
-
-
-Type the list elements below **Available values**, and confirm them by clicking on **Add value**.
-:::
-
-You can also link the **metadata column** to one or several **departments**.
-
-::: tip
-Link a metadata column to a department. The artists/supervisors will see it on their to-do page and in the department-filtered view.
-
-You can link the metadata column to one or more departments. Click on the department from the list and then click on **add** to be effective.
-
-Here, the VFX column is linked to two departments.
-
-
-
-:::
-
-::: details Edit meta column
-On the asset's global page or the map, click on the arrow to the right of your metadata column and click on **Edit**.
-
-
-:::
-
-
-You can fill in this information directly on the global spreadsheets page.
-The cases are editable.
-
-
-
-::: tip
-You can batch-modify the metadata column by selecting several entities on the left and then modifying your metadata column.
-:::
-
-::: details Edit by hand
-You can also modify the information with the edit button .
-
-You now see a new line on the edit pop-up. You can select the information from the list,
-alternatively, enter the free text or number, check a box, or use the checklist, depending on your previous choice.
-
-Remember to press the **Confirm** button when you are done.
-
-
-:::
-
-Go to the general spreadsheet page if you need to edit or delete the metadata column.
-Nearby the name of your metadata column, click on the arrow .
-
-::: tip
-You can **sort** your global page with this new column. Click the arrow on the right of the column name to open his menu. Then click on **Sort By**.
-
-You can also **Stick** the metadata column to the left.
-:::
-
-
-## Create a level
-
-In Kitsu, you can also track tasks at the **level** Level.
-It's especially useful when
-you have macro tasks to track, like Story and color Board, Color Grading, etc.
-
-Use the navigation menu to go to the **levels** page.
-
-
-
-::: warning
-This new page behaves like the asset and map global page.
-
-To use this page, You first need to create dedicated task types on your **Global Library**
- with the **level** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library** (setting page).
-:::
-
-Once your task types are ready on the settings page, you need to create a level (the same as the assets or maps).
-
-
-
-
-This new page behaves like the asset and map global page. You can add your edits with the **+ New level** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-
-::: tip
-You can create a level directly from here (+New level button) or create a level linked to your maps from the global map page.
-:::
-
-
-On this page, you can **Rename** and **Delete** the level entity, as well as the asset and map entity.
-
-If you click on the name of a level, you will see the details page for this level.
-
-
-
-On the detailed page, you can access the casting of the level.
-You can see all the assets used at the entire level.
-
-You can also access the schedule, Preview Files, Activity, and Timelog of the level **tasks**.
-
-
-
-## Create an Edit
-
-You can track tasks at the **Edit** Level in Kitsu.
-
-It's especially useful when
-You have several edits to track through several validation steps. For example, you can track your whole movie, several trailers, and the First Edit, Fine Edit, Mix, etc.
-
-::: warning
-Per default, the **Edit** page will not be displayed until you have task types for it on your **production library** (setting page)
-:::
-
-
-
-To use this page, you need to first create a dedicated task type on your **Global Library**
- with the **Edit** attribute.
-
-See the **Creating a New Task Type** Section to create a new **Task Type**.
-
-[Creating a New Task Type](../configure-kitsu/README.md#task-types)
-
-
-Once you have created your **Task Types** on your **Global Library**, add them to your
-**Production Library**, you will see the **Edit** displayed on the navigation drop-down menu.
-
-
-
-
-
-This new page behaves like the asset and map global page. You can add your edits with the **+ New edit** button.
-
-You can assign tasks, do the review, change status, etc.
-
-You can add a metadata column, fill in the description, etc.
-
-::: tip
-Depending on your deliveries, you can also change the resolution per **Edit**.
-:::
-
-::: warning
-The detail page is different from the other entities.
-
-As **Edit** focuses on a specific long video, the detail page looks more like the comment detail page.
-:::
-
-You can **Rename** and **Delete** the Edit entity on this page, as you can for the asset and map entities.
-
-
-
-
-
-
-
-## Create a Breakdown List
-
-Filling out the breakdown helps you with the assembly of the maps. With the
-breakdown, you have all the details of the assets you need to add to create your
-map, and we are sure to omit nothing.
-
-On the dropdown menu, choose **BREAKDOWN**.
-
-
-
-On the left of the breakdown page is the chapter/level/map menu (1); you can choose between those you created. They are the right part of
-the screen; all the assets created are available for this production (main pack and chapters) (3). Moreover, in
-the middle section, it is your selection for the map (2).
-
-
-
-So now you have to select the map you want to cast.
-
-You can display the assets as text if you don't have thumbnails yet or enlarge the
-thumbnails size.
-
-
-
-
-You may also realize an asset needs to be added to the list during your breakdown.
-
-You can create a new asset directly from the breakdown page. Click the **+** on the right of the **All available assets**.
-
-
-
-
-You can also select multiple maps at once. Click on the first map, hold the **shift** key, and click on the last map of your selection.
-
-
-
-Then click on the assets you want
-to assign: characters, backgrounds, ... from the right part (3).
-If you have selected multiple maps, your selection is applied to the numerous maps.
-
-Copy a map filled with assets and paste this asset selection into another map.
-
-You can see a **+1** or **+10** when you pass over the asset. It's the number
-of times you add this asset, and you can click on it as many times as you need.
-
-
-
-You can also link all your assets to chapters on a TV show without specifying a level or map.
-
-
-
-This way, you can link all your assets to one or several chapters before the storyboard/animatic stage.
-
-You can now see the asset in the middle of the screen (2). Next
-to the asset's name is the number of times it has been added. In this
-example, we have added the character asset Llama two times.
-
-
-If you add an asset twice by mistake, you must go to the screen's middle part to select assets for this map (2). From there, click on
-**-1**. When you finish this map, go on with the other maps.
-Your selection is automatically saved.
-
-
-
-If a new asset is created during the storyboard, return to the asset
-page (using the dropdown menu) and create the needed assets. The tasks previously created are applied immediately to these new
-assets. However, you have to do the assignment, and then you can
-continue with the breakdown.
-
-Now, your **Breakdown** page should look like this.
-
-
-
-You can also make a breakdown list for your assets if you need to assemble them and keep track of the separate parts.
-
-On the top left corner of the screen, choose **asset** in the dropdown menu below **FOR**.
-
-
-
-You can now access a second dropdown menu to choose your asset type: **Character**, **Environment**, **Props**, **FX**, ...
-
-
-
-You can complete the asset breakdown page the same way you would the maps. First, select one or more assets on the left part and then add the right part's elements.
-
-::: details Create a Breakdown List from a CSV File
-
-You may already have your breakdown list ready in a spreadsheet file. With Kitsu, you have two ways to import it: the first is to import a .csv file directly, and the second is to copy-paste your data directly into Kitsu.
-
-First, save your spreadsheet as a `.csv` file following Kitsu's recommendation.
-
-Click on the **import** button 
-
-A pop-up window **Import data from a CSV** opens. Click on **Browse** to pick your `.csv` file.
-
-
-
-To see the result, click on the **Preview** button.
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, you have your breakdown imported into Kitsu.
-
-
-:::
-
-::: details Create a Breakdown List by Copying / Pasting a Spreadsheet File
-
-Open your spreadsheet, select your data, and copy them.
-
-
-
-Then, go back to the breakdown page on Kitsu and click on the **Import** icon
-.
-
-A pop-up window **Import data from a CSV** opens; click on the **Paste a CSV data** tab.
-
-
-
-You can paste your previously selected data and see the result with the **Preview** button.
-
-
-
-You can check and adjust the name of the columns by previewing your data.
-
-NB: the **chapter** column is only mandatory for a **TV Show** production.
-
-
-
-Once everything is good, click the **Confirm** button to import your data into Kitsu.
-
-Now, all your assets have been imported into Kitsu.
-
-
-:::
-
-## Casting from the Asset Library
-It is also possible to cast assets from the global **Asset Library** into your production. This allows you to cast an already existing asset, without the need to re-create it for each production.
-
-
-
-To see assets outside of your production from the asset library, click the **Display Library** Button (1)
-
-Assets from the global asset library will appear, and will be highlighted with a yellow boarder (2). They can then be cast in your breakdown exactly the same as other assets.
-
-
-
-Back on your productions asset page, you can choose to display global assets that have been cast in your production by toggling the **Display Library** button (1). These assets will be highlighted in yellow, indicating that they originate from the global asset library, and not your current production. (2).
-
-## Introduction to Asset State: Ready For
-
-Most of the time, you don't need to wait for an asset's tasks to be approved to use it on a map task.
-
-For example, when an asset is approved at the **Concept** stage, it can be used for the **Storyboard** stage.
-Then, when it's approved at the **Modeling** stage, you can use it for the **Layout** stage and so on.
-
-That's exactly what the asset state **Ready For** is doing: let you know the state of the tasks of an asset and compare its usability for the map tasks.
-
-Now that we have filled out our breakdown, we know exactly which asset is used on every map.
-
-First, we need to define an asset's state relative to its task status. You can modify the **Ready for** by clicking on a cell. You will see a dropdown menu with the map task.
-
-
-
-::: tip
-You can use the **automations** to do the heavy lifting.
-
-You can set automation with the **ready for** trigger.
-:::
-
-Now that we have changed some asset states to **Ready for**, we can see the result on the map page.
-
-You can notice that some white boxes are now **Green**: all the assets in this map are ready for this specific task.
-
-
-
-If you see the white box, Kitsu will display how many assets are ready for this task.
-
-
-
-::: tip
-If you don't see any boxes, no assets are cast for this map.
-:::
-
-Then, you can click on the map's name to go to its detail page.
-Then, you will see all the assets cast in this map and their status.
-
-
-
-It's the fastest way to know if you can start a map for a specific task.
-
diff --git a/docs/workflows/for-artists/index.md b/docs/workflows/for-artists/index.md
new file mode 100644
index 0000000000..02d3d70740
--- /dev/null
+++ b/docs/workflows/for-artists/index.md
@@ -0,0 +1,48 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Getting Started as an Artist
+
+This guide will help you get started and understand the Kitsu's key features as an artist.
+
+## 1. Initial Profile Setup & Customization"
+
+
+
+
+
+## 2. Managing Your Assignments"
+
+
+
+
+
+## 3. Updating Task Progress"
+
+
+
+
+
+## 4. Publish a Concept"
+
+
+
+
+
+## 5. Request a Review"
+
+
+
+
+
+## 6. Complete Your Timesheet"
+
+
+
+
\ No newline at end of file
diff --git a/docs/workflows/for-clients/index.md b/docs/workflows/for-clients/index.md
new file mode 100644
index 0000000000..b5bd5b0817
--- /dev/null
+++ b/docs/workflows/for-clients/index.md
@@ -0,0 +1,48 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Getting Started As A Client
+
+This guide will help you get started and understand the Kitsu's key features as a client.
+
+## 1. Initial Profile Setup & Customization
+
+
+
+
+
+## 2. See your Playlists
+
+
+
+
+
+## 3. Share your Comments
+
+
+
+
+
+## 4. Global View of the Assets
+
+
+
+
+
+## 5. Global View of the Shots
+
+
+
+
+
+## 6. Production Report
+
+
+
+
\ No newline at end of file
diff --git a/docs/workflows/for-producers/index.md b/docs/workflows/for-producers/index.md
new file mode 100644
index 0000000000..b201bb5bef
--- /dev/null
+++ b/docs/workflows/for-producers/index.md
@@ -0,0 +1,68 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Getting Started As A Producer / Production Manager
+
+A Producer needs a comprehensive overview of the entire production process.
+
+Kitsu offers various tools to help you stay informed and manage production efficiently without getting overwhelmed by notifications or losing focus.
+
+## 1. Production Overview
+
+
+
+
+
+## 2. Ensure Tasks are On Time
+
+
+
+
+
+## 3. Understanding Why a Task is Late
+
+
+
+
+
+## 4. Durations over Estimates
+
+
+
+
+
+## 5. Checking Quotas
+
+
+
+
+
+## 6. Team Timesheets
+
+
+
+
+
+## 7. Studio Resource Overview
+
+
+
+
+
+## 8. Studio Occupancy Rate
+
+
+
+
+
+## 9. Main Schedule
+
+
+
+
\ No newline at end of file
diff --git a/docs/workflows/for-supervisors/index.md b/docs/workflows/for-supervisors/index.md
new file mode 100644
index 0000000000..87c7367879
--- /dev/null
+++ b/docs/workflows/for-supervisors/index.md
@@ -0,0 +1,62 @@
+---
+prev: false
+next: false
+---
+
+
+
+# Getting Started As A Supervisor / Lead
+
+A supervisor's role is to oversee the creative and technical aspects of visual effects production, ensuring that the final output meets the project's artistic vision, quality standards, and deadlines.
+
+A key aspect of this is to ensure your team knows what they are working on.
+
+## 1. Manage Your Department
+
+
+
+
+
+## 2. Assign Tasks
+
+
+
+
+
+## 3. Bid Estimates
+
+
+
+
+
+## 4. Daily Supervision Tasks
+
+
+
+
+
+## 5. Team Schedule
+
+
+
+
+
+## 6. Timesheets
+
+
+
+
+
+## 7. Review Previews
+
+
+
+
+
+## 8. Review Concepts
+
+
+
+
\ No newline at end of file
diff --git a/docs/zou.png b/docs/zou.png
new file mode 100644
index 0000000000..89d7e34151
Binary files /dev/null and b/docs/zou.png differ
diff --git a/outline.md b/outline.md
new file mode 100644
index 0000000000..b85665e56a
--- /dev/null
+++ b/outline.md
@@ -0,0 +1,730 @@
+## from vuepress/config
+
+- **Introduction to Kitsu**
+ - Introduction
+ - Configure Kitsu
+ - Team
+- **Create Your Production**
+ - TV Show
+ - Feature
+ - Short
+ - Short Shot
+ - Short Asset
+ - Video Game
+ - NFT
+- **Meta Columns, Filters and Production Settings**
+ - Meta Column
+ - Filter
+ - Configure Production
+- **Assignments, Estimates and Scheduling**
+ - Assignation
+ - Estimation
+ - Schedules
+- **Statuses, Publishes, and Thumbnails**
+ - Status
+ - Publish
+ - Thumbnails
+- **Internal Review and Client Playlists**
+ - Review
+ - Review Weekly
+ - Playlist Client
+- **Supervisor Workflows**
+ - Supervisor Team
+ - Supervisor Tasks
+- **Producer Workflows**
+ - Production Report
+ - Studio Report
+- **Artist Workflows**
+ - Artist
+- **Developer Workflows**
+ - Custom Actions
+ - Bots
+ - Publisher
+ - Chat Integration
+ - Installation
+- **Frequently Asked Questions**
+ - FAQ
+
+## BEFORE from markdown docs
+
+- Getting Started With Kitsu
+ - Studio Workflows
+ - Understanding Studio Workflows
+ - Global Library VS Production Library
+ - Departments
+ - Creating Departments
+ - Task Types
+ - Creating a New Task Type
+ - Asset Types
+ - Define Your Asset Workflow
+ - Task Statuses
+ - Define Your Approval Workflow
+ - Automation
+ - Create a New Status Automation
+ - 3D Backgrounds
+ - Create a Global Library of HDR Files
+ - Asset Library
+ - What is the Asset Library?
+ - How to Use the Asset Library
+ - Adding Assets to the Library
+ - Settings
+ - Configuring Kitsu
+ - Studio Settings
+- Preparing Your Team
+ - Creating Users
+ - Creating Users and Linking Them to Departments
+ - Permission Roles
+ - Understanding Permission Roles
+ - Create and edit a production
+ - Manage the studio
+ - Manage productions
+ - Two-Factor Authentication
+ - Add Additional Security to Your Studio
+ - Available Two-Factor Authentication Methods
+ - Adding Users to the Team
+- Create Your Production
+ - Create a TV Show Production
+ - Introduction to Kitsu's Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification, and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity Spreadsheet
+ - Filters
+ - Simplify the Display
+ - Import / Export
+ - Metadata Column
+ - Customize the View
+ - Sum-up of your view
+ - Create an Asset
+ - Create Your First Asset
+ - Viewing Details of an Asset
+ - Update Your Assets
+ - Add More Tasks After Creating the Assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create Your First Shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Update your shots
+ - Add more tasks after creating the shots
+ - Adding Frame Numbers and Ranges to Shots
+ - Creating Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+ - Create a Feature Film Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+ - Create a Short Production (assets and shots)
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+ - Create a SHOTS-only Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create an ASSET-only Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first Asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create Custom Metadata Columns
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Create a Video Game Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a map
+ - Create your first map
+ - Create maps from an EDL File
+ - See the Details of a map
+ - Add more tasks after creating the maps
+ - Update your maps
+ - Add the number of Frames and Frame ranges to the maps
+ - Create Custom Metadata Columns
+ - Create a level
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+ - Create a NFT Collection
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a NFT Collection
+ - Create your first NFT Collection
+ - See the Details of an NFT Collection
+ - Add more tasks after creating the NFT Collections
+ - Update your NFT Collections
+ - Create Custom Metadata Columns
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Meta Columns, Filters and Production Settings
+ - Meta Columns
+ - Create Metadata Columns
+ - Linking Metadata Columns to Departments
+ - Organizing Metadata Columns
+ - Display or Hide All Metadata Columns
+ - Display or Hide a single Metadata Column
+ - Sticky Columns
+ - Filters
+ - The Search Bar
+ - Using the Search Bar to Create Filters
+ - Example Filters
+ - Creating Filters
+ - Utilising the Filter Builder
+ - Task Status Filtering
+ - Metadata Filtering
+ - Assignment Filtering
+ - Thumbnail Filtering
+ - Priority Filtering
+ - Using the "Ready For" status
+ - Managing Saved Filters
+ - Deleting a Filter
+ - Pre-built Filters
+ - Production Specific Workflow Settings
+ - Configure Production-Specific Settings
+ - Task Statuses
+ - Configuring Specific Task Types for a Production
+ - Task Types
+ - Enabling Specific Task Types for a Production
+ - Asset Types
+ - Enabling Specific Asset Types for a Production
+ - Status Automation
+ - Configuring Status Automation for a Production
+ - Preview Backgrounds
+ - Select Specific Preview Background for a Production
+ - Artist Board
+ - Artist Board Status Configuration
+- Assignments, Estimates and Scheduling
+ - Tasks Assignments
+ - Add Users to the Team
+ - How to Assign Tasks
+ - Assign Tasks From the Global Page
+ - Assign Tasks From the Detailed Task Type Page
+ - Estimates & Team Quotas
+ - Add an Estimate for a Task
+ - Detailed Task Type View Features:
+ - Forecasting Team Speed
+ - Forecast Your Team's Speed Using Estimated Quotas
+ - Quotas
+ - Using Quotas to Understand Your Teams Speed
+ - Quotas Based on Timesheets
+ - Quotas Based on Status Changes
+ - Changing Priorities
+ - Schedules
+ - Production Schedule
+ - The Production Schedule Gantt Chart
+ - Milestones
+ - Task Type Schedule
+ - Asset and Shot Schedule
+ - Studio Schedule
+ - Team Schedule
+- Statuses, Publishes, and Thumbnails
+ - Statuses and Feedback
+ - The Comment Panel
+ - Tagging Team Members
+ - Adding Checklists
+ - Adding Attachments
+ - Changing Statuses In Bulk
+ - Updating Multiple Statuses at Once
+ - Artist Board Statuses
+ - Customizing Statuses Used on the Artist Board Page
+ - Publishes
+ - Publishing a Concept
+ - Linking a Concept to an Asset
+ - Publish a Preview as a Version
+ - Combining Previews Into a Version
+ - Thumbnails
+ - Add Thumbnails Manually
+ - Add Thumbnails Automatically
+ - Batch Upload Previews (as Thumbnails)
+- Internal Review and Client Playlists
+ - Reviews
+ - Reviewing Tasks
+ - Drawing Annotations
+ - Tagging Frames
+ - Exporting Annotations
+ - Deleting Annotations
+ - Comparing Images
+ - Reviewing Concepts
+ - Playlists
+ - Create a Playlist
+ - Populating a Playlist
+ - Review Controls
+ - Review Room
+ - Daily & Weekly review
+ - Create a Playlist for your internal review
+ - Review and Validations
+ - Client Playlists
+ - Creating Client Playlists
+ - Reviewing Client Playlists
+ - Playback Controls
+ - Review Room
+- Supervisor Workflows
+ - Managing Your Department
+ - Assigning Tasks & Bidding Estimates
+ - Daily Supervision Tasks
+ - Managing Your Department's Schedule
+ - Managing Department Quotas
+ - Department Timesheets
+ - Task Supervision
+ - Check Your Tasks
+ - Reviewing Previews
+ - Reviewing Concepts
+- Producer Workflows
+ - Building Production Reports
+ - Production Overview
+ - News Feed Features
+ - Using Filters
+ - Example
+ - Know the Current State of the Production
+ - Short / Feature Specific
+ - Sequence Stats
+ - Asset Types Stats
+ - Count View
+ - Exporting Data
+ - TV Show Specific
+ - Retakes Display
+ - Status Display
+ - Ensure Tasks are On Time
+ - Methods to Compare Estimations and Actuals
+ - Filtering by Due Date Status
+ - Using the Late Status Filter
+ - Using the Gantt Diagram
+ - Understanding Why a Task is Late
+ - Checking an Artist's Workload
+ - Identifying Back-and-Forth
+ - Checking if the Task is Underestimated
+ - Checking the Previous Task
+ - Durations over Estimates
+ - Estimation Summary
+ - Task Type Duration over Estimation
+ - Durations over Estimations for an Asset / Shot
+ - Detailed Analysis
+ - Checking Quotas
+ - Method 1: Timesheet-Based Calculation
+ - Method 2: Status-Based Calculation
+ - Detailed Quota Calculation
+ - Team Timesheets
+ - Viewing Timesheets
+ - Exporting Timesheets
+ - Building Studio Reports
+ - Studio Resource Overview
+ - Current State of All Productions
+ - Stats Pages
+ - Studio Occupancy Rate
+ - Focusing on Specific Timeframes
+ - Modifying the Schedule
+ - Utilize the Main Schedule
+- Artist Workflows
+ - Getting Started as an Artist
+ - Initial Setup and Profile Customization
+ - Managing Your Assignments
+ - Key Information Available:
+ - Additional Features:
+ - Updating Task Progress
+ - Updating Task Statuses
+ - View Your Assignments (Board View)
+ - View Your Assignments (Calendar View)
+ - Share Your Concepts
+ - Uploading Concepts:
+ - Linking Concepts to Assets:
+ - Request a Review
+ - Complete Your Timesheet
+ - How to Log Time:
+ - Missed a Day?
+- Developer Workflows
+ - Custom Actions
+ - What are Custom Actions?
+ - Goal
+ - How to Setup a Custom Action
+ - Creation
+ - Data Sent via a Custom Action
+ - Bots
+ - Why Use a Bot
+ - How to Create a Bot
+ - Managing Bots
+ - Example Bot Usage
+ - Security Considerations
+ - Kitsu Publisher
+ - DCC Integrations Status:
+ - Installation
+ - Installation of the Kitsu Publisher
+ - Pre-Requisites
+ - On Linux
+ - On Windows
+ - On MacOS
+ - Development Environment
+ - Pre-Requisites
+ - Dependencies
+ - Run
+ - Build the Electron App
+ - Pre-Requisites
+ - Building the App
+ - Installation of the DCCs connectors
+ - Pre-requisites
+ - Blender (version>2.80)
+ - Toon Boom Harmony
+ - Unreal Editor (version>=5)
+ - Publishing Previews with the Kitsu Publisher
+ - Consult Your To-Do List
+ - Publish a Preview From the Publisher
+ - Setup the Publisher
+ - Change the Save Directory and Add Scripts
+ - View the Result of the Setting on the Export Pop-Up
+ - Chat Integration
+ - Discord Integration
+ - Create a Bot Account
+ - Inviting Your Bot
+ - Enable Discord Notifications
+ - Slack Integration
+ - Create a Kitsu Application in Slack
+ - Set the Right Permissions
+ - Install the App in Your Workspace
+ - Get the Token
+ - Link Kitsu to Your New Slack Application
+ - Enable Slack Notifications in Your Profile
+ - Mattermost Integration
+ - Enable Incoming Webhooks, Custom Username, and Profile Picture for Webhooks
+ - Set a Webhook in Mattermost
+ - Enable Mattermost Notifications
+ - Open Source Setup
+ - Cloud Hosting
+ - Self-Hosting
+ - Development Environment
+ - Prerequisites
+ - Using Docker Image
+ - Development
+ - Build
+ - Tests
+ - Architecture
+- Frequently Asked Questions
+ - Login Issues
+ - I can't log in to Kitsu anymore
+ - Task Management
+ - I created a new Task Type, but I don't see it in my production
+ - Understanding the Difference:
+ - Steps to Add Task Types to Your Production
+ - My Task Type columns are not in the right order
+ - Task Type columns are missing
+ - Team and Assignments
+ - I can't assign anyone to a task
+ - Steps to Add People to a Production
+ - All assignments have disappeared
+ - Production Management
+ - How to Delete or Archive a Production
+ - Steps to Archive a Production
+ - Steps to Delete a Production
+ - Miscellaneous
+ - Where can I see the storage I'm using?
+
+## AFTER proposed new structure
+
+
+- Getting Started
+ - Why Kitsu
+ - Cloud vs self-hosted vs on-premise
+ - how to start a new studio (studio CRUD, studio settings)
+ - how to start a new production
+- Migration
+ - General Process Overview
+ - From Shotgrid
+ - From ftrack
+- Concepts / Glossary
+ - the Kitsu interface: Main Menu, Navigation, Global Search, Personal Settings
+ - studio, department, production, asset, episode, sequence, shot, task, etc.
+- Self-hosting (link to self-hosting page in developer documentation)
+
+- Team Management
+ - department CRUD
+ - Roles: artist, supervisor, producer, client, vendor, etc.
+ - preparing your team: onboarding & adoption, invite team members, link them to departments, two-factor auth
+ - people CRUD
+ - people page
+- Pre-production
+ - creating the production: Meta Columns and Production Settings
+ - production structure: episode, sequence, shot
+ - asset CRUD, task type CRUD, task status CRUD, breakdowns, casting
+ - importing csv data
+ - Concepts
+- Scheduling & estimates
+ - task CRUD, assignments, scheduling, estimates
+ - My Tasks page
+- Review & approval
+ - status updates, publishing previews, notifications & communication, thumbnails, internal playlists, client playlists, annotation, feedback loops
+ - My Checks page
+ - Entity Chats page
+ - Edits page
+- Tracking & Reporting
+ - search bar, filters, quotas, metadata, schedule health, producer/supervisor views & charts, budget
+ - timesheets page
+ - main schedule page
+ - team schedule page
+ - production schedule page
+ - all tasks page
+ - news feed page
+ - sequence stats
+ - episodes stats
+ - asset types stats
+ - Budget
+ - budget page
+ - salary scale page
+ - software licenses page
+ - hardware items page
+- File storage
+ - where files are stored, supported formats, preview generation, storage backends
+ - asset library page
+- Privacy & Security
+ - IP Protection
+ - Authentication
+ - Authorization
+
+- For Supervisors
+- For Producers
+- For Artists
+- For Developers (links to developer doc)
+ - Plugins
+ - Custom Actions
+ - Automations
+ - Bots
+- For Clients
+
+- for TV Show
+- for Feature Film
+- for Shorts
+- for video games
+- for nfts
+- Create a SHOTS-only Production
+- Create an ASSET-only Production
+- client portal
+- 3D backgrounds
+
+- Support
+- FAQ
+- Changelog
+- Roadmap
+- Discord
+- Youtube
+- Blog
+- Github
+
+## after refactoring
+
+- Start Here
+ - Getting Started
+ - Main Concepts
+ - Self-Hosting
+- Workflows
+ - For Supervisors
+ - For Producers
+ - For Artists
+ - For Developers
+ - For Clients
+- Guides
+ - Team Management
+ - Manage Departments
+ - Manage Teams
+ - Profile Settings
+ - Preparing Your Team
+ - Team Roles
+ - Import Team
+ - Task Management
+ - Manage Episodes
+ - Manage Sequences
+ - Manage Shots
+ - Manage Asset Types
+ - Manage Task Types
+ - Manage Task Statuses
+ - Pre-Production
+ - Breakdown
+ - Casting
+ - Manage Concepts
+ - Meta-Columns
+ - Production Settings
+ - Scheduling
+ - Assign Tasks
+ - Estimates
+ - Manage Edits
+ - Find Asignments
+ - Quotas
+ - Schedules
+ - Review & Publishing
+ - Playlist
+ - Client Playlist
+ - Publish
+ - Request a Review
+ - Review
+ - Share Concepts
+ - Update Task Progress
+ - Tracking & Reporting
+ - Durations vs Estimates
+ - Ensure Tasks Are On-Time
+ - Advanced Search & Filtering
+ - Production Overview
+ - Studio Occupancy
+ - Studio Overview
+ - Thumbnails
+ - Timesheets
+ - Understand Why a Task Is Late
+ - Main Schedule
+ - File Management
+ - Asset Library
+ - Privacy & Security
+ - Authentication
+- Recipes
+ - For TV Shows
+ - For Feature Films
+ - For Shorts
+ - For Video Games
+ - For NFTs
+ - Shots-Only Productions
+ - Assets-Only Productions
+- Resources
+ - Frequently Asked Questions
+ - Changelog
\ No newline at end of file
diff --git a/outline.sh b/outline.sh
new file mode 100755
index 0000000000..2019b29dda
--- /dev/null
+++ b/outline.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+# extract_toc.sh — Extract table of contents from a Markdown file
+# Usage: ./extract_toc.sh
+
+set -euo pipefail
+
+if [[ $# -lt 1 ]]; then
+ echo "Usage: $0 " >&2
+ exit 1
+fi
+
+FILE="$1"
+
+if [[ ! -f "$FILE" ]]; then
+ echo "Error: file '$FILE' not found." >&2
+ exit 1
+fi
+
+# Convert a heading text to a GitHub-style anchor
+make_anchor() {
+ local text="$1"
+ echo "$text" \
+ | tr '[:upper:]' '[:lower:]' \
+ | sed 's/[^a-z0-9 _-]//g' \
+ | tr ' ' '-'
+}
+
+in_code_block=0
+FENCE_REGEX='^[[:space:]]*(`{3,}|~{3,})'
+
+while IFS= read -r line; do
+ # Toggle fenced code block tracking (``` or ~~~)
+ if [[ "$line" =~ $FENCE_REGEX ]]; then
+ in_code_block=$(( !in_code_block ))
+ continue
+ fi
+
+ # Skip lines inside code blocks
+ [[ "$in_code_block" -ne 0 ]] && continue
+
+ # Match ATX headings: # through ######
+ if [[ "$line" =~ ^(#{1,6})[[:space:]]+(.+)$ ]]; then
+ hashes="${BASH_REMATCH[1]}"
+ title="${BASH_REMATCH[2]}"
+
+ # Strip trailing hashes and spaces (e.g. "## Heading ##")
+ title=$(echo "$title" | sed 's/[[:space:]]*#*[[:space:]]*$//')
+
+ level="${#hashes}"
+ indent=""
+ for (( i=1; i=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz",
+ "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.7"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz",
+ "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@braintree/sanitize-url": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz",
+ "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==",
+ "license": "MIT"
+ },
+ "node_modules/@chevrotain/types": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.1.2.tgz",
+ "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@cloudflare/kv-asset-handler": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.5.0.tgz",
+ "integrity": "sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "engines": {
+ "node": ">=22.0.0"
+ }
+ },
+ "node_modules/@cloudflare/unenv-preset": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.16.1.tgz",
+ "integrity": "sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "peerDependencies": {
+ "unenv": "2.0.0-rc.24",
+ "workerd": ">1.20260305.0 <2.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "workerd": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@cloudflare/workerd-darwin-64": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260526.1.tgz",
+ "integrity": "sha512-/pR3GH3gfv0PUp7DjI8v0aAIDOqFwibq4bg5xT7TZgcVdBV/cJQWckdXCMqiRtHiawLwogUX00EIOINkYJ1Zqg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-darwin-arm64": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260526.1.tgz",
+ "integrity": "sha512-rcyu0iANYfaiezKh3Mcao1O4IIgVfQldxduiL5TZT1sP0NIeRY4YReSTrzPxNnXxSYaIqaqRHMcHbUM/ic4knA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-linux-64": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260526.1.tgz",
+ "integrity": "sha512-5EZAEnlLwa9oGJRo8Nd3iY5Wcd9ROGNNG90xNIGp8MEjj8v2jTn42NC47fCZKFdnLj3+S+vWEhu1x0GVJnALjA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-linux-arm64": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260526.1.tgz",
+ "integrity": "sha512-X/YBQXeXFeCN7QTStoWrATEBc9WKl7PIqkw/dQkjyJ72gh3rkLe0+Xkzp3wO7gtxTDQMa7NPGy1W4+sdMf8q1g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-windows-64": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260526.1.tgz",
+ "integrity": "sha512-R+tqpFFdcfZIljx8fIW9rj9fRTtDgfoA2yonsfAGa6e8snrmr+38mdFHtkRC0D3UyZpn/hOtmXiUBfdX2gMR7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@docsearch/css": {
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.3.tgz",
+ "integrity": "sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@docsearch/js": {
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.3.tgz",
+ "integrity": "sha512-qUIX2b4Apew3tv4F0qhmgShsl/Lfw4m6mqv/5/5dWNxwTcDdLMp2s3YwZ+NMGh3IKCg0pBaXm7Q5VdyU5Rj+cQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@docsearch/sidepanel-js": {
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/sidepanel-js/-/sidepanel-js-4.6.3.tgz",
+ "integrity": "sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
+ "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz",
+ "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz",
+ "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz",
+ "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz",
+ "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz",
+ "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz",
+ "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz",
+ "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz",
+ "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz",
+ "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz",
+ "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz",
+ "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz",
+ "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz",
+ "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz",
+ "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz",
+ "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz",
+ "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz",
+ "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz",
+ "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz",
+ "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz",
+ "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz",
+ "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz",
+ "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz",
+ "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz",
+ "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz",
+ "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@iconify-json/simple-icons": {
+ "version": "1.2.84",
+ "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.84.tgz",
+ "integrity": "sha512-v4JVu6xIewGoETD4mm2k6UAdFAbTlY1duw5ZNSxYORfs2yFsHDhoU9Omn/BgrV0nR/ptWkF3ZIr/ZHoYXI/6Jw==",
+ "dev": true,
+ "license": "CC0-1.0",
+ "dependencies": {
+ "@iconify/types": "*"
+ }
+ },
+ "node_modules/@iconify/types": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+ "license": "MIT"
+ },
+ "node_modules/@iconify/utils": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.3.tgz",
+ "integrity": "sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/install-pkg": "^1.1.0",
+ "@iconify/types": "^2.0.0",
+ "import-meta-resolve": "^4.2.0"
+ }
+ },
+ "node_modules/@img/colour": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
+ "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
+ "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-darwin-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
+ "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
+ "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
+ "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
+ "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
+ "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
+ "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
+ "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
+ "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
+ "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
+ "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
+ "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
+ "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
+ "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
+ "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
+ "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-s390x": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
+ "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
+ "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
+ "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
+ "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-wasm32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
+ "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.7.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
+ "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-ia32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
+ "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
+ "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "license": "MIT"
+ },
+ "node_modules/@lucide/vue": {
+ "version": "1.25.0",
+ "resolved": "https://registry.npmjs.org/@lucide/vue/-/vue-1.25.0.tgz",
+ "integrity": "sha512-hkEetV+v48ScIn3uwqwWQ66sI8foeP2q6OMI09GzLFH4SfvBlfe3JHYlMBdBCqFC7WRlhFsndyDn/awRKRc2OQ==",
+ "license": "ISC",
+ "peerDependencies": {
+ "vue": ">=3.0.1"
+ }
+ },
+ "node_modules/@mermaid-js/parser": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.1.1.tgz",
+ "integrity": "sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==",
+ "license": "MIT",
+ "dependencies": {
+ "@chevrotain/types": "~11.1.1"
+ }
+ },
+ "node_modules/@poppinss/colors": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz",
+ "integrity": "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "kleur": "^4.1.5"
+ }
+ },
+ "node_modules/@poppinss/dumper": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.5.tgz",
+ "integrity": "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@poppinss/colors": "^4.1.5",
+ "@sindresorhus/is": "^7.0.2",
+ "supports-color": "^10.0.0"
+ }
+ },
+ "node_modules/@poppinss/dumper/node_modules/@sindresorhus/is": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz",
+ "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
+ }
+ },
+ "node_modules/@poppinss/dumper/node_modules/supports-color": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+ "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/@poppinss/exception": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.3.tgz",
+ "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz",
+ "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.0.tgz",
+ "integrity": "sha512-dnxczajOqt0gesZlN5pGQ1s1imQVrsmCw5G2Ci4oM+0WvNz3pyRnlWrT7McoZIb8VlFwCawdmbWRmxRn7HI+VQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.0.tgz",
+ "integrity": "sha512-Bp3JpGP00Vu3f238ivRrjf7z3xSzVPXqCmaJYA9t2c+c8vKYvOzmXF7LkkeUalTEGd6cZcSWe+PFIP3Vy48fRg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.0.tgz",
+ "integrity": "sha512-zaYIpr670mUmmZ1tVzUFplbQbG7h3Gugx3L5FoqhsC2m/YnLlR1a7zVLmXNPy+iY1tFPEbNG+HHBXZGyId0G5w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.0.tgz",
+ "integrity": "sha512-+P49fvkv2dSoeevUW+lgZ/I2JHSsJCK1Lyjj7Cu6E4UHG4tS9XIefzIjo5qhgELjAclnen1rLzK2PMKJdo+Dyg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.0.tgz",
+ "integrity": "sha512-l3FAAOyKJXH2ea6KNFN+MMgC/rnE94YGLXs2ehYqDcCoHt1DpvgWX75BhUJxN38XojP7Ul+4H8PRn7EdyqSDrw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.0.tgz",
+ "integrity": "sha512-VokPN3TSctKj65cyCNPaUh4vMFA8awxOot/0sp+4J7ZlNRKQEhXhawqPwajoi8H5ZFt61i0ugZJuTKXBjGJ17Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.0.tgz",
+ "integrity": "sha512-DxH0P3wxm+Yzs/p3zrk9dw1rURu8p0Nv5+MRK/L7OtnLNg5rLZraSBFZ8iUXOd9f2BlhJyEpIZUH/emjq4UJ4g==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.0.tgz",
+ "integrity": "sha512-T6ZvMNe84kAz6TBWHC7hGAoEtzP1LWYw/AqayGWEF6uISt3Abk/st06LqRD9THd7Xz3NxzurUpzAuEAUbZf+nw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.0.tgz",
+ "integrity": "sha512-q/4hzvQkDs8b4jIBab1pnLiiM0ayTZsN2amBFPDzuyZxjEd4wDwx0UJFYM3cOZzSf5Kw8fnWSprJzIBMkcR44Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.0.tgz",
+ "integrity": "sha512-vvYWX3akdEAY6km+9wAqFDnk6pQsbJKVnj7xawcvs/+fdlYBGp+U+Qq/lLfpIxYIZvZLHMAKD9HLdacSx/r3dw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.0.tgz",
+ "integrity": "sha512-DePa5cqOxDP/Zp0VOXpeWaGew5iIv5DXp9NYbzkX5PFQyWVX9184WCTh3hvr/7lhXo8ZVlbFLkz8+o/q1dU6gA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.0.tgz",
+ "integrity": "sha512-LV8aWMB8UChglMCEzs7RkN0GsH29RJaLLqwm9fCIjlqwxQTiWAqNcc7wjBkH31hV0PU/yVxGYvrYsgfea2qw6g==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.0.tgz",
+ "integrity": "sha512-QoNSnwQtaeNu5grdBbsL0tt1uyl5EnS8DA8Mr3nluMXbhdQNyhN+G4tBax7VCdxLKj8YJ0/4OO9Ho84jMnJtKA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.0.tgz",
+ "integrity": "sha512-/zZp5MKapIIApE8trN8qLGNSiRN9TUoaUZ1cmVu4XnVdd5LQLOXTtyi+vtfUbNnT3iyjzpPqYeKXmvJ+gJGYWw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.0.tgz",
+ "integrity": "sha512-RbrzcD3aJ1k3UbtMRRBNwojdVVyXjuVAFTfn/xPa6EEl6GE9Sm/akPgFTb9aAC9pMKGJ6CtWxaGrqWcabH+ySg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.0.tgz",
+ "integrity": "sha512-ZF+onDsBso8PJf1XaG9lB+O9RnBpKGnY6OrzC4CSHrtC1jb6jWLTKK4bRqdoCXHd22gyr2hiYmEAm8Wns/BOCw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.0.tgz",
+ "integrity": "sha512-Atk0aSIk5Zx2Wuh9dgRQgLP0Koc8hOeYpbWryMXyk8G8/HmPkwPPkMqIIDhrXHHYqfUzSJA/I7IWSBv8xSmRBA==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.0.tgz",
+ "integrity": "sha512-0uMOcf3eZ5K+K4cYHkdxShFMPlPXCOdfDFEFn9dNYAEEd2cVvmOfH7zFgRVoDgmtQ1m9k5q7qfrHzyMAubKYUA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.0.tgz",
+ "integrity": "sha512-mvFtE4A/t/7hRJ7X8Ozmu8FsIkAUat2nzl12pgU337BRmq87AQUJztwHz2Zv5/tjo9/C95E66CK03SI/ToEDJw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.0.tgz",
+ "integrity": "sha512-z9b9+aTxvt8n2rNltMPvyaUfB8NJ+CVyOrGK/MdIKHx7B+lXmZpm/XbRsU7Rpf3fRqJ2uS6mBJiJveCtq8LHDg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.0.tgz",
+ "integrity": "sha512-jXaXFqKMehsOc+g8R6oo33RRC6w07G9jDBxAE5eAKX7mOcCbZloYIPNhfG9Wl+P9O9IWHFO4OJgPi1Ml2qkt7w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.0.tgz",
+ "integrity": "sha512-OXNWVFocS2IA4+QplhTZZ2a+8hPZR7T8KuozsNmJKK8y7cp83StHvGksfHzPG3wczWTczyWHVQuqeiTUbjiyBg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.0.tgz",
+ "integrity": "sha512-AlAbNtBO637LxSldqV43z0FfXoGfl2TW1DgAg/bs7aQswFbDewz2SJm3BUhiGfbOVtW571xbc9p+REdxhyN/Eg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.0.tgz",
+ "integrity": "sha512-QRSrQXyJ1M4tjNXdR0/G/IgV6lzfQQJYBjlWIEYkY2Xs86DRl/iEpQ4blMDjJxSl7n19eDKKXMg0AmuBVYy8pQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.0.tgz",
+ "integrity": "sha512-tkuFxhvKO/HlGd0VsINF6vHSYH8AF8W0TcNxKDK6JZmrehngFj78pToc8iemtnvwilDjs2G/qSzYFhe9U8q+fw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@shikijs/core": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz",
+ "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.23.0",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4",
+ "hast-util-to-html": "^9.0.5"
+ }
+ },
+ "node_modules/@shikijs/engine-javascript": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz",
+ "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.23.0",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "oniguruma-to-es": "^4.3.4"
+ }
+ },
+ "node_modules/@shikijs/engine-oniguruma": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz",
+ "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.23.0",
+ "@shikijs/vscode-textmate": "^10.0.2"
+ }
+ },
+ "node_modules/@shikijs/langs": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz",
+ "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.23.0"
+ }
+ },
+ "node_modules/@shikijs/themes": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz",
+ "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.23.0"
+ }
+ },
+ "node_modules/@shikijs/transformers": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.23.0.tgz",
+ "integrity": "sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/core": "3.23.0",
+ "@shikijs/types": "3.23.0"
+ }
+ },
+ "node_modules/@shikijs/types": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz",
+ "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/@shikijs/vscode-textmate": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
+ "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@speed-highlight/core": {
+ "version": "1.2.15",
+ "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.15.tgz",
+ "integrity": "sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/@types/d3": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz",
+ "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-array": "*",
+ "@types/d3-axis": "*",
+ "@types/d3-brush": "*",
+ "@types/d3-chord": "*",
+ "@types/d3-color": "*",
+ "@types/d3-contour": "*",
+ "@types/d3-delaunay": "*",
+ "@types/d3-dispatch": "*",
+ "@types/d3-drag": "*",
+ "@types/d3-dsv": "*",
+ "@types/d3-ease": "*",
+ "@types/d3-fetch": "*",
+ "@types/d3-force": "*",
+ "@types/d3-format": "*",
+ "@types/d3-geo": "*",
+ "@types/d3-hierarchy": "*",
+ "@types/d3-interpolate": "*",
+ "@types/d3-path": "*",
+ "@types/d3-polygon": "*",
+ "@types/d3-quadtree": "*",
+ "@types/d3-random": "*",
+ "@types/d3-scale": "*",
+ "@types/d3-scale-chromatic": "*",
+ "@types/d3-selection": "*",
+ "@types/d3-shape": "*",
+ "@types/d3-time": "*",
+ "@types/d3-time-format": "*",
+ "@types/d3-timer": "*",
+ "@types/d3-transition": "*",
+ "@types/d3-zoom": "*"
+ }
+ },
+ "node_modules/@types/d3-array": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz",
+ "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-axis": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz",
+ "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-selection": "*"
+ }
+ },
+ "node_modules/@types/d3-brush": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz",
+ "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-selection": "*"
+ }
+ },
+ "node_modules/@types/d3-chord": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz",
+ "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-color": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
+ "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-contour": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz",
+ "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-array": "*",
+ "@types/geojson": "*"
+ }
+ },
+ "node_modules/@types/d3-delaunay": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+ "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-dispatch": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz",
+ "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-drag": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz",
+ "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-selection": "*"
+ }
+ },
+ "node_modules/@types/d3-dsv": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz",
+ "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-ease": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
+ "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-fetch": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz",
+ "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-dsv": "*"
+ }
+ },
+ "node_modules/@types/d3-force": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz",
+ "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-format": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz",
+ "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-geo": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz",
+ "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/geojson": "*"
+ }
+ },
+ "node_modules/@types/d3-hierarchy": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz",
+ "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-interpolate": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
+ "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-color": "*"
+ }
+ },
+ "node_modules/@types/d3-path": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
+ "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-polygon": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz",
+ "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-quadtree": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz",
+ "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-random": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz",
+ "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-scale": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
+ "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-time": "*"
+ }
+ },
+ "node_modules/@types/d3-scale-chromatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+ "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-selection": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz",
+ "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-shape": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz",
+ "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-path": "*"
+ }
+ },
+ "node_modules/@types/d3-time": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
+ "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-time-format": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz",
+ "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-timer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
+ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-transition": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz",
+ "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-selection": "*"
+ }
+ },
+ "node_modules/@types/d3-zoom": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz",
+ "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-interpolate": "*",
+ "@types/d3-selection": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/geojson": {
+ "version": "7946.0.16",
+ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
+ "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/mdast": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.21",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz",
+ "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz",
+ "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@upsetjs/venn.js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@upsetjs/venn.js/-/venn.js-2.0.0.tgz",
+ "integrity": "sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==",
+ "license": "MIT",
+ "optionalDependencies": {
+ "d3-selection": "^3.0.0",
+ "d3-transition": "^3.0.1"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.35.tgz",
+ "integrity": "sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.3",
+ "@vue/shared": "3.5.35",
+ "entities": "^7.0.1",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.35.tgz",
+ "integrity": "sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.35.tgz",
+ "integrity": "sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.3",
+ "@vue/compiler-core": "3.5.35",
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/compiler-ssr": "3.5.35",
+ "@vue/shared": "3.5.35",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.21",
+ "postcss": "^8.5.15",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.35.tgz",
+ "integrity": "sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.2.tgz",
+ "integrity": "sha512-vA0O112YqyDuNA1s7Yb2gCgToQ/OxOWiFDO5ThLCcDy0ldHnSd1dUTaSYhOldbqoNgumE4dxtGAoAaSUKUD1Zg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-kit": "^8.1.2"
+ }
+ },
+ "node_modules/@vue/devtools-kit": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.2.tgz",
+ "integrity": "sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-shared": "^8.1.2",
+ "birpc": "^2.6.1",
+ "hookable": "^5.5.3",
+ "perfect-debounce": "^2.0.0"
+ }
+ },
+ "node_modules/@vue/devtools-shared": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.2.tgz",
+ "integrity": "sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.35.tgz",
+ "integrity": "sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.35.tgz",
+ "integrity": "sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.35",
+ "@vue/shared": "3.5.35"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.35.tgz",
+ "integrity": "sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.35",
+ "@vue/runtime-core": "3.5.35",
+ "@vue/shared": "3.5.35",
+ "csstype": "^3.2.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.35.tgz",
+ "integrity": "sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.35",
+ "@vue/shared": "3.5.35"
+ },
+ "peerDependencies": {
+ "vue": "3.5.35"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.35.tgz",
+ "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==",
+ "license": "MIT"
+ },
+ "node_modules/@vueuse/core": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.3.0.tgz",
+ "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.21",
+ "@vueuse/metadata": "14.3.0",
+ "@vueuse/shared": "14.3.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/@vueuse/integrations": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.3.0.tgz",
+ "integrity": "sha512-76I5FT2ESvCmCaSwapI+a/u/CFtNXmzl9f9lNp1hRtx8vKB8hfiokJr8IvQqcQG5ckGXElyXK516b54ozV3MvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vueuse/core": "14.3.0",
+ "@vueuse/shared": "14.3.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "async-validator": "^4",
+ "axios": "^1",
+ "change-case": "^5",
+ "drauu": "^0.4",
+ "focus-trap": "^7 || ^8",
+ "fuse.js": "^7",
+ "idb-keyval": "^6",
+ "jwt-decode": "^4",
+ "nprogress": "^0.2",
+ "qrcode": "^1.5",
+ "sortablejs": "^1",
+ "universal-cookie": "^7 || ^8",
+ "vue": "^3.5.0"
+ },
+ "peerDependenciesMeta": {
+ "async-validator": {
+ "optional": true
+ },
+ "axios": {
+ "optional": true
+ },
+ "change-case": {
+ "optional": true
+ },
+ "drauu": {
+ "optional": true
+ },
+ "focus-trap": {
+ "optional": true
+ },
+ "fuse.js": {
+ "optional": true
+ },
+ "idb-keyval": {
+ "optional": true
+ },
+ "jwt-decode": {
+ "optional": true
+ },
+ "nprogress": {
+ "optional": true
+ },
+ "qrcode": {
+ "optional": true
+ },
+ "sortablejs": {
+ "optional": true
+ },
+ "universal-cookie": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.3.0.tgz",
+ "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "14.3.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.3.0.tgz",
+ "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/birpc": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz",
+ "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/blake3-wasm": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz",
+ "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cose-base": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz",
+ "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==",
+ "license": "MIT",
+ "dependencies": {
+ "layout-base": "^1.0.0"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "license": "MIT"
+ },
+ "node_modules/cytoscape": {
+ "version": "3.33.4",
+ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.4.tgz",
+ "integrity": "sha512-HIN5Pmd9MrX9BkV7tDwnOcEJCSFvCpc8X97h3f508J6I5FsqAY65wKOCvgH2CuP42CaahWaz4tuh32SOOIH7ww==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/cytoscape-cose-bilkent": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz",
+ "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==",
+ "license": "MIT",
+ "dependencies": {
+ "cose-base": "^1.0.0"
+ },
+ "peerDependencies": {
+ "cytoscape": "^3.2.0"
+ }
+ },
+ "node_modules/cytoscape-fcose": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
+ "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
+ "license": "MIT",
+ "dependencies": {
+ "cose-base": "^2.2.0"
+ },
+ "peerDependencies": {
+ "cytoscape": "^3.2.0"
+ }
+ },
+ "node_modules/cytoscape-fcose/node_modules/cose-base": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
+ "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
+ "license": "MIT",
+ "dependencies": {
+ "layout-base": "^2.0.0"
+ }
+ },
+ "node_modules/cytoscape-fcose/node_modules/layout-base": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
+ "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==",
+ "license": "MIT"
+ },
+ "node_modules/d3": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
+ "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "3",
+ "d3-axis": "3",
+ "d3-brush": "3",
+ "d3-chord": "3",
+ "d3-color": "3",
+ "d3-contour": "4",
+ "d3-delaunay": "6",
+ "d3-dispatch": "3",
+ "d3-drag": "3",
+ "d3-dsv": "3",
+ "d3-ease": "3",
+ "d3-fetch": "3",
+ "d3-force": "3",
+ "d3-format": "3",
+ "d3-geo": "3",
+ "d3-hierarchy": "3",
+ "d3-interpolate": "3",
+ "d3-path": "3",
+ "d3-polygon": "3",
+ "d3-quadtree": "3",
+ "d3-random": "3",
+ "d3-scale": "4",
+ "d3-scale-chromatic": "3",
+ "d3-selection": "3",
+ "d3-shape": "3",
+ "d3-time": "3",
+ "d3-time-format": "4",
+ "d3-timer": "3",
+ "d3-transition": "3",
+ "d3-zoom": "3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-array": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+ "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "license": "ISC",
+ "dependencies": {
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-axis": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+ "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-brush": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+ "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "3",
+ "d3-transition": "3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-chord": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+ "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-path": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-contour": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
+ "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-delaunay": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+ "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+ "license": "ISC",
+ "dependencies": {
+ "delaunator": "5"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-dispatch": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+ "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-drag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+ "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-dispatch": "1 - 3",
+ "d3-selection": "3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-dsv": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+ "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
+ "license": "ISC",
+ "dependencies": {
+ "commander": "7",
+ "iconv-lite": "0.6",
+ "rw": "1"
+ },
+ "bin": {
+ "csv2json": "bin/dsv2json.js",
+ "csv2tsv": "bin/dsv2dsv.js",
+ "dsv2dsv": "bin/dsv2dsv.js",
+ "dsv2json": "bin/dsv2json.js",
+ "json2csv": "bin/json2dsv.js",
+ "json2dsv": "bin/json2dsv.js",
+ "json2tsv": "bin/json2dsv.js",
+ "tsv2csv": "bin/dsv2dsv.js",
+ "tsv2json": "bin/dsv2json.js"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-ease": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-fetch": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+ "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-dsv": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-force": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+ "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-dispatch": "1 - 3",
+ "d3-quadtree": "1 - 3",
+ "d3-timer": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-format": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
+ "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-geo": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
+ "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2.5.0 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-hierarchy": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+ "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-interpolate": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-polygon": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+ "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-quadtree": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+ "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-random": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+ "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-sankey": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz",
+ "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "d3-array": "1 - 2",
+ "d3-shape": "^1.2.0"
+ }
+ },
+ "node_modules/d3-sankey/node_modules/d3-array": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
+ "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "internmap": "^1.0.0"
+ }
+ },
+ "node_modules/d3-sankey/node_modules/d3-path": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+ "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/d3-sankey/node_modules/d3-shape": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+ "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "d3-path": "1"
+ }
+ },
+ "node_modules/d3-sankey/node_modules/internmap": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
+ "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
+ "license": "ISC"
+ },
+ "node_modules/d3-scale": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale-chromatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+ "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3",
+ "d3-interpolate": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-selection": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+ "license": "ISC",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-shape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time-format": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-time": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-timer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-transition": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+ "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-color": "1 - 3",
+ "d3-dispatch": "1 - 3",
+ "d3-ease": "1 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-timer": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "d3-selection": "2 - 3"
+ }
+ },
+ "node_modules/d3-zoom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+ "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
+ "license": "ISC",
+ "dependencies": {
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "2 - 3",
+ "d3-transition": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/dagre-d3-es": {
+ "version": "7.0.14",
+ "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz",
+ "integrity": "sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==",
+ "license": "MIT",
+ "dependencies": {
+ "d3": "^7.9.0",
+ "lodash-es": "^4.17.21"
+ }
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.21",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz",
+ "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==",
+ "license": "MIT"
+ },
+ "node_modules/delaunator": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz",
+ "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==",
+ "license": "ISC",
+ "dependencies": {
+ "robust-predicates": "^3.0.2"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/devlop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/dompurify": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.7.tgz",
+ "integrity": "sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==",
+ "license": "(MPL-2.0 OR Apache-2.0)",
+ "optionalDependencies": {
+ "@types/trusted-types": "^2.0.7"
+ }
+ },
+ "node_modules/entities": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+ "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/error-stack-parser-es": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz",
+ "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/es-toolkit": {
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.0.tgz",
+ "integrity": "sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==",
+ "license": "MIT",
+ "workspaces": [
+ "docs",
+ "benchmarks"
+ ]
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "license": "MIT"
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/focus-trap": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-8.2.1.tgz",
+ "integrity": "sha512-6CxwrrFRquH7pDXb1mWxudkU9LSfYBMRZutpgddb2o6iwCk7cIRrBhyY3c8SGKcmIKdeMTrGSNg4Bedh2RSF/w==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "tabbable": "^6.4.0"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/hachure-fill": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz",
+ "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==",
+ "license": "MIT"
+ },
+ "node_modules/hast-util-to-html": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz",
+ "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "html-void-elements": "^3.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "stringify-entities": "^4.0.0",
+ "zwitch": "^2.0.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hookable": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/html-void-elements": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+ "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/import-meta-resolve": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
+ "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/katex": {
+ "version": "0.16.47",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz",
+ "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==",
+ "funding": [
+ "https://opencollective.com/katex",
+ "https://github.com/sponsors/katex"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^8.3.0"
+ },
+ "bin": {
+ "katex": "cli.js"
+ }
+ },
+ "node_modules/katex/node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/khroma": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz",
+ "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw=="
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/layout-base": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz",
+ "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==",
+ "license": "MIT"
+ },
+ "node_modules/lodash-es": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",
+ "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",
+ "license": "MIT"
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/mark.js": {
+ "version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/marked": {
+ "version": "16.4.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz",
+ "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==",
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/mdast-util-to-hast": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
+ "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "trim-lines": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/medium-zoom": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz",
+ "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==",
+ "license": "MIT"
+ },
+ "node_modules/mermaid": {
+ "version": "11.15.0",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.15.0.tgz",
+ "integrity": "sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==",
+ "license": "MIT",
+ "dependencies": {
+ "@braintree/sanitize-url": "^7.1.1",
+ "@iconify/utils": "^3.0.2",
+ "@mermaid-js/parser": "^1.1.1",
+ "@types/d3": "^7.4.3",
+ "@upsetjs/venn.js": "^2.0.0",
+ "cytoscape": "^3.33.1",
+ "cytoscape-cose-bilkent": "^4.1.0",
+ "cytoscape-fcose": "^2.2.0",
+ "d3": "^7.9.0",
+ "d3-sankey": "^0.12.3",
+ "dagre-d3-es": "7.0.14",
+ "dayjs": "^1.11.19",
+ "dompurify": "^3.3.1",
+ "es-toolkit": "^1.45.1",
+ "katex": "^0.16.25",
+ "khroma": "^2.1.0",
+ "marked": "^16.3.0",
+ "roughjs": "^4.6.6",
+ "stylis": "^4.3.6",
+ "ts-dedent": "^2.2.0",
+ "uuid": "^11.1.0 || ^12 || ^13 || ^14.0.0"
+ }
+ },
+ "node_modules/micromark-util-character": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-encode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-sanitize-uri": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-encode": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-symbol": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/miniflare": {
+ "version": "4.20260526.0",
+ "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260526.0.tgz",
+ "integrity": "sha512-JYQ7jPZZWoaaj9jWHb8Ucp6Cu2SbDVqIsAJhumqdzzLkkfq0pYkDeino/sZfW1ixJWPjv/C44zjm9gVJC2izCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cspotcode/source-map-support": "0.8.1",
+ "sharp": "^0.34.5",
+ "undici": "7.24.8",
+ "workerd": "1.20260526.1",
+ "ws": "8.20.1",
+ "youch": "4.1.0-beta.10"
+ },
+ "bin": {
+ "miniflare": "bootstrap.js"
+ },
+ "engines": {
+ "node": ">=22.0.0"
+ }
+ },
+ "node_modules/minisearch": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz",
+ "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
+ "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/oniguruma-parser": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz",
+ "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/oniguruma-to-es": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz",
+ "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "oniguruma-parser": "^0.12.2",
+ "regex": "^6.1.0",
+ "regex-recursion": "^6.0.2"
+ }
+ },
+ "node_modules/package-manager-detector": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz",
+ "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==",
+ "license": "MIT"
+ },
+ "node_modules/path-data-parser": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz",
+ "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==",
+ "license": "MIT"
+ },
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/perfect-debounce": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
+ "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/points-on-curve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz",
+ "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==",
+ "license": "MIT"
+ },
+ "node_modules/points-on-path": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz",
+ "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==",
+ "license": "MIT",
+ "dependencies": {
+ "path-data-parser": "0.1.0",
+ "points-on-curve": "0.2.0"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.15",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
+ "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.12",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/property-information": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
+ "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regex-utilities": "^2.3.0"
+ }
+ },
+ "node_modules/regex-recursion": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
+ "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regex-utilities": "^2.3.0"
+ }
+ },
+ "node_modules/regex-utilities": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
+ "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/robust-predicates": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",
+ "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==",
+ "license": "Unlicense"
+ },
+ "node_modules/rollup": {
+ "version": "4.61.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.0.tgz",
+ "integrity": "sha512-T9mWdbWfQtp0B5lv/HX+wrhYsmXRlcWnXXmJbXqKJhlRaoS6KMhq0gpyzW4UJfclcxrEdLnTgjT2NjruLONu0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.9"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.61.0",
+ "@rollup/rollup-android-arm64": "4.61.0",
+ "@rollup/rollup-darwin-arm64": "4.61.0",
+ "@rollup/rollup-darwin-x64": "4.61.0",
+ "@rollup/rollup-freebsd-arm64": "4.61.0",
+ "@rollup/rollup-freebsd-x64": "4.61.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.61.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.61.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.61.0",
+ "@rollup/rollup-linux-arm64-musl": "4.61.0",
+ "@rollup/rollup-linux-loong64-gnu": "4.61.0",
+ "@rollup/rollup-linux-loong64-musl": "4.61.0",
+ "@rollup/rollup-linux-ppc64-gnu": "4.61.0",
+ "@rollup/rollup-linux-ppc64-musl": "4.61.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.61.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.61.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.61.0",
+ "@rollup/rollup-linux-x64-gnu": "4.61.0",
+ "@rollup/rollup-linux-x64-musl": "4.61.0",
+ "@rollup/rollup-openbsd-x64": "4.61.0",
+ "@rollup/rollup-openharmony-arm64": "4.61.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.61.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.61.0",
+ "@rollup/rollup-win32-x64-gnu": "4.61.0",
+ "@rollup/rollup-win32-x64-msvc": "4.61.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rosie-skills": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/rosie-skills/-/rosie-skills-0.6.4.tgz",
+ "integrity": "sha512-ojfhSiQRdZ2QyWbmKAHOSAUbaLYrTc5zIH7mS1jKoP8KCFSQddwVhMyFqldckTeybTfW3zNcsZzyOTzGTN1SBA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "bin": {
+ "rosie-skills": "dist/bin.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "rosie-skills-darwin-arm64": "0.6.4",
+ "rosie-skills-freebsd-x64": "0.6.4",
+ "rosie-skills-linux-x64": "0.6.4"
+ }
+ },
+ "node_modules/rosie-skills-darwin-arm64": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/rosie-skills-darwin-arm64/-/rosie-skills-darwin-arm64-0.6.4.tgz",
+ "integrity": "sha512-rn1s5hqFKcxeiDEWWoFa1hdGPshR8TkwHLzy/cBavb9XJNAaUxbe3oQ78W9sQkRHAgRyzJYyk9tw68Qrdnizgg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/rosie-skills-freebsd-x64": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/rosie-skills-freebsd-x64/-/rosie-skills-freebsd-x64-0.6.4.tgz",
+ "integrity": "sha512-SxCRduPBMtfjkQ+q56Yw9OLA3PyaqoALzt7kER7IDKuUVfM2O/1w8sa5xhTDiCvWkZJixnH5d5Ya6KT+/Mwcng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/rosie-skills-linux-x64": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/rosie-skills-linux-x64/-/rosie-skills-linux-x64-0.6.4.tgz",
+ "integrity": "sha512-D9Y9mfu7goB0s0X59uU3hcFeUTef3VbpCIDwFMzyvJrAq3XhRACWBDMHQsHlyWdHxTXPX/ILyW65RXyrJlgqng==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/roughjs": {
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz",
+ "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==",
+ "license": "MIT",
+ "dependencies": {
+ "hachure-fill": "^0.5.2",
+ "path-data-parser": "^0.1.0",
+ "points-on-curve": "^0.2.0",
+ "points-on-path": "^0.2.1"
+ }
+ },
+ "node_modules/rw": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+ "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
+ "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/sharp": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
+ "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@img/colour": "^1.0.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.7.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.34.5",
+ "@img/sharp-darwin-x64": "0.34.5",
+ "@img/sharp-libvips-darwin-arm64": "1.2.4",
+ "@img/sharp-libvips-darwin-x64": "1.2.4",
+ "@img/sharp-libvips-linux-arm": "1.2.4",
+ "@img/sharp-libvips-linux-arm64": "1.2.4",
+ "@img/sharp-libvips-linux-ppc64": "1.2.4",
+ "@img/sharp-libvips-linux-riscv64": "1.2.4",
+ "@img/sharp-libvips-linux-s390x": "1.2.4",
+ "@img/sharp-libvips-linux-x64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
+ "@img/sharp-linux-arm": "0.34.5",
+ "@img/sharp-linux-arm64": "0.34.5",
+ "@img/sharp-linux-ppc64": "0.34.5",
+ "@img/sharp-linux-riscv64": "0.34.5",
+ "@img/sharp-linux-s390x": "0.34.5",
+ "@img/sharp-linux-x64": "0.34.5",
+ "@img/sharp-linuxmusl-arm64": "0.34.5",
+ "@img/sharp-linuxmusl-x64": "0.34.5",
+ "@img/sharp-wasm32": "0.34.5",
+ "@img/sharp-win32-arm64": "0.34.5",
+ "@img/sharp-win32-ia32": "0.34.5",
+ "@img/sharp-win32-x64": "0.34.5"
+ }
+ },
+ "node_modules/shiki": {
+ "version": "3.23.0",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz",
+ "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/core": "3.23.0",
+ "@shikijs/engine-javascript": "3.23.0",
+ "@shikijs/engine-oniguruma": "3.23.0",
+ "@shikijs/langs": "3.23.0",
+ "@shikijs/themes": "3.23.0",
+ "@shikijs/types": "3.23.0",
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stylis": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.4.0.tgz",
+ "integrity": "sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==",
+ "license": "MIT"
+ },
+ "node_modules/tabbable": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz",
+ "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyexec": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz",
+ "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/ts-dedent": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
+ "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.10"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD",
+ "optional": true
+ },
+ "node_modules/undici": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.8.tgz",
+ "integrity": "sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.18.1"
+ }
+ },
+ "node_modules/unenv": {
+ "version": "2.0.0-rc.24",
+ "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.24.tgz",
+ "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "pathe": "^2.0.3"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
+ "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-stringify-position": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
+ "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
+ "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz",
+ "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist-node/bin/uuid"
+ }
+ },
+ "node_modules/vfile": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-message": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-stringify-position": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vitepress": {
+ "version": "2.0.0-alpha.17",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-2.0.0-alpha.17.tgz",
+ "integrity": "sha512-Z3VPUpwk/bHYqt1uMVOOK1/4xFiWQov1GNc2FvMdz6kvje4JRXEOngVI9C+bi5jeedMSHiA4dwKkff1NCvbZ9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@docsearch/css": "^4.5.3",
+ "@docsearch/js": "^4.5.3",
+ "@docsearch/sidepanel-js": "^4.5.3",
+ "@iconify-json/simple-icons": "^1.2.69",
+ "@shikijs/core": "^3.22.0",
+ "@shikijs/transformers": "^3.22.0",
+ "@shikijs/types": "^3.22.0",
+ "@types/markdown-it": "^14.1.2",
+ "@vitejs/plugin-vue": "^6.0.4",
+ "@vue/devtools-api": "^8.0.5",
+ "@vue/shared": "^3.5.27",
+ "@vueuse/core": "^14.2.0",
+ "@vueuse/integrations": "^14.2.0",
+ "focus-trap": "^8.0.0",
+ "mark.js": "8.11.1",
+ "minisearch": "^7.2.0",
+ "shiki": "^3.22.0",
+ "vite": "^7.3.1",
+ "vue": "^3.5.27"
+ },
+ "bin": {
+ "vitepress": "bin/vitepress.js"
+ },
+ "peerDependencies": {
+ "markdown-it-mathjax3": "^4",
+ "oxc-minify": "*",
+ "postcss": "^8"
+ },
+ "peerDependenciesMeta": {
+ "markdown-it-mathjax3": {
+ "optional": true
+ },
+ "oxc-minify": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitepress/node_modules/@esbuild/linux-x64": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz",
+ "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vitepress/node_modules/@types/markdown-it": {
+ "version": "14.1.2",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
+ }
+ },
+ "node_modules/vitepress/node_modules/@vitejs/plugin-vue": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz",
+ "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rolldown/pluginutils": "^1.0.1"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/vitepress/node_modules/esbuild": {
+ "version": "0.27.7",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz",
+ "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.27.7",
+ "@esbuild/android-arm": "0.27.7",
+ "@esbuild/android-arm64": "0.27.7",
+ "@esbuild/android-x64": "0.27.7",
+ "@esbuild/darwin-arm64": "0.27.7",
+ "@esbuild/darwin-x64": "0.27.7",
+ "@esbuild/freebsd-arm64": "0.27.7",
+ "@esbuild/freebsd-x64": "0.27.7",
+ "@esbuild/linux-arm": "0.27.7",
+ "@esbuild/linux-arm64": "0.27.7",
+ "@esbuild/linux-ia32": "0.27.7",
+ "@esbuild/linux-loong64": "0.27.7",
+ "@esbuild/linux-mips64el": "0.27.7",
+ "@esbuild/linux-ppc64": "0.27.7",
+ "@esbuild/linux-riscv64": "0.27.7",
+ "@esbuild/linux-s390x": "0.27.7",
+ "@esbuild/linux-x64": "0.27.7",
+ "@esbuild/netbsd-arm64": "0.27.7",
+ "@esbuild/netbsd-x64": "0.27.7",
+ "@esbuild/openbsd-arm64": "0.27.7",
+ "@esbuild/openbsd-x64": "0.27.7",
+ "@esbuild/openharmony-arm64": "0.27.7",
+ "@esbuild/sunos-x64": "0.27.7",
+ "@esbuild/win32-arm64": "0.27.7",
+ "@esbuild/win32-ia32": "0.27.7",
+ "@esbuild/win32-x64": "0.27.7"
+ }
+ },
+ "node_modules/vitepress/node_modules/vite": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz",
+ "integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "esbuild": "^0.27.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.5.35",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.35.tgz",
+ "integrity": "sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.35",
+ "@vue/compiler-sfc": "3.5.35",
+ "@vue/runtime-dom": "3.5.35",
+ "@vue/server-renderer": "3.5.35",
+ "@vue/shared": "3.5.35"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/workerd": {
+ "version": "1.20260526.1",
+ "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260526.1.tgz",
+ "integrity": "sha512-IHzymht98p10JH1zzwdCpbViAqw97HrwKl7+KfZeASFMsYSrIsAULWdPn0LRC5FTUzBpamLNyKCCKxbgXHgRHQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "workerd": "bin/workerd"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "optionalDependencies": {
+ "@cloudflare/workerd-darwin-64": "1.20260526.1",
+ "@cloudflare/workerd-darwin-arm64": "1.20260526.1",
+ "@cloudflare/workerd-linux-64": "1.20260526.1",
+ "@cloudflare/workerd-linux-arm64": "1.20260526.1",
+ "@cloudflare/workerd-windows-64": "1.20260526.1"
+ }
+ },
+ "node_modules/wrangler": {
+ "version": "4.95.0",
+ "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.95.0.tgz",
+ "integrity": "sha512-vgXzFVSCdUbeCadgVXvu8fK5tzNm8T9W+7lriyGWZMx0B1+CAdr4d8JTlZszHfgjypRAHmAxb49etZGIRD9pgg==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "dependencies": {
+ "@cloudflare/kv-asset-handler": "0.5.0",
+ "@cloudflare/unenv-preset": "2.16.1",
+ "blake3-wasm": "2.1.5",
+ "esbuild": "0.27.3",
+ "miniflare": "4.20260526.0",
+ "path-to-regexp": "6.3.0",
+ "rosie-skills": "^0.6.3",
+ "unenv": "2.0.0-rc.24",
+ "workerd": "1.20260526.1"
+ },
+ "bin": {
+ "wrangler": "bin/wrangler.js",
+ "wrangler2": "bin/wrangler.js"
+ },
+ "engines": {
+ "node": ">=22.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@cloudflare/workers-types": "^4.20260526.1"
+ },
+ "peerDependenciesMeta": {
+ "@cloudflare/workers-types": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz",
+ "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/android-arm": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz",
+ "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/android-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz",
+ "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/android-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz",
+ "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz",
+ "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz",
+ "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz",
+ "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-arm": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz",
+ "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz",
+ "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz",
+ "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz",
+ "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz",
+ "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz",
+ "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz",
+ "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz",
+ "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/linux-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz",
+ "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz",
+ "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz",
+ "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz",
+ "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz",
+ "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/sunos-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz",
+ "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/win32-arm64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz",
+ "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/win32-ia32": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz",
+ "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/@esbuild/win32-x64": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz",
+ "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/wrangler/node_modules/esbuild": {
+ "version": "0.27.3",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz",
+ "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.27.3",
+ "@esbuild/android-arm": "0.27.3",
+ "@esbuild/android-arm64": "0.27.3",
+ "@esbuild/android-x64": "0.27.3",
+ "@esbuild/darwin-arm64": "0.27.3",
+ "@esbuild/darwin-x64": "0.27.3",
+ "@esbuild/freebsd-arm64": "0.27.3",
+ "@esbuild/freebsd-x64": "0.27.3",
+ "@esbuild/linux-arm": "0.27.3",
+ "@esbuild/linux-arm64": "0.27.3",
+ "@esbuild/linux-ia32": "0.27.3",
+ "@esbuild/linux-loong64": "0.27.3",
+ "@esbuild/linux-mips64el": "0.27.3",
+ "@esbuild/linux-ppc64": "0.27.3",
+ "@esbuild/linux-riscv64": "0.27.3",
+ "@esbuild/linux-s390x": "0.27.3",
+ "@esbuild/linux-x64": "0.27.3",
+ "@esbuild/netbsd-arm64": "0.27.3",
+ "@esbuild/netbsd-x64": "0.27.3",
+ "@esbuild/openbsd-arm64": "0.27.3",
+ "@esbuild/openbsd-x64": "0.27.3",
+ "@esbuild/openharmony-arm64": "0.27.3",
+ "@esbuild/sunos-x64": "0.27.3",
+ "@esbuild/win32-arm64": "0.27.3",
+ "@esbuild/win32-ia32": "0.27.3",
+ "@esbuild/win32-x64": "0.27.3"
+ }
+ },
+ "node_modules/wrangler/node_modules/path-to-regexp": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+ "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ws": {
+ "version": "8.20.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
+ "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/youch": {
+ "version": "4.1.0-beta.10",
+ "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz",
+ "integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@poppinss/colors": "^4.1.5",
+ "@poppinss/dumper": "^0.6.4",
+ "@speed-highlight/core": "^1.2.7",
+ "cookie": "^1.0.2",
+ "youch-core": "^0.3.3"
+ }
+ },
+ "node_modules/youch-core": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz",
+ "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@poppinss/exception": "^1.2.2",
+ "error-stack-parser-es": "^1.0.5"
+ }
+ },
+ "node_modules/youch/node_modules/cookie": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
+ "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/zwitch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 93ae64b18f..f6af06aedd 100644
--- a/package.json
+++ b/package.json
@@ -3,9 +3,14 @@
"version": "1.0.0",
"description": "Documentation for Kitsu, CG production manager",
"main": "index.js",
+ "type": "module",
"scripts": {
- "docs:dev": "vuepress dev docs",
- "docs:build": "vuepress build docs"
+ "dev": "vitepress dev docs",
+ "build": "vitepress build docs",
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "preview": "vitepress preview docs",
+ "deploy": "wrangler deploy"
},
"repository": {
"type": "git",
@@ -23,6 +28,13 @@
},
"homepage": "https://github.com/cgwire/kitsu#readme",
"devDependencies": {
- "vuepress": "1.9.10"
+ "vitepress": "^2.0.0-alpha.16",
+ "vue": "^3.5.13",
+ "wrangler": "^4.61.1"
+ },
+ "dependencies": {
+ "@lucide/vue": "^1.25.0",
+ "medium-zoom": "^1.1.0",
+ "mermaid": "^11.13.0"
}
}
diff --git a/toc.md b/toc.md
new file mode 100644
index 0000000000..e07d7f90f2
--- /dev/null
+++ b/toc.md
@@ -0,0 +1,516 @@
+- Getting Started With Kitsu
+ - Studio Workflows
+ - Understanding Studio Workflows
+ - Global Library VS Production Library
+ - Departments
+ - Creating Departments
+ - Task Types
+ - Creating a New Task Type
+ - Asset Types
+ - Define Your Asset Workflow
+ - Task Statuses
+ - Define Your Approval Workflow
+ - Automation
+ - Create a New Status Automation
+ - 3D Backgrounds
+ - Create a Global Library of HDR Files
+ - Asset Library
+ - What is the Asset Library?
+ - How to Use the Asset Library
+ - Adding Assets to the Library
+ - Settings
+ - Configuring Kitsu
+ - Studio Settings
+- Preparing Your Team
+ - Creating Users
+ - Creating Users and Linking Them to Departments
+ - Permission Roles
+ - Understanding Permission Roles
+ - Create and edit a production
+ - Manage the studio
+ - Manage productions
+ - Two-Factor Authentication
+ - Add Additional Security to Your Studio
+ - Available Two-Factor Authentication Methods
+ - Adding Users to the Team
+- Create Your Production
+- Create a TV Show Production
+ - Introduction to Kitsu's Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification, and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity Spreadsheet
+ - Filters
+ - Simplify the Display
+ - Import / Export
+ - Metadata Column
+ - Customize the View
+ - Sum-up of your view
+ - Create an Asset
+ - Create Your First Asset
+ - Viewing Details of an Asset
+ - Update Your Assets
+ - Add More Tasks After Creating the Assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create Your First Shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Update your shots
+ - Add more tasks after creating the shots
+ - Adding Frame Numbers and Ranges to Shots
+ - Creating Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Create a Feature Film Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Create a Short Production (assets and shots)
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a concept
+ - Link a Concept to an Asset
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Create a SHOTS-only Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create a Shot
+ - Create your first shot
+ - Create Shots from an EDL File
+ - See the Details of a Shot
+ - Add more tasks after creating the shots
+ - Update your shots
+ - Add the number of Frames and Frame ranges to the shots
+ - Create Custom Metadata Columns
+ - Create a Sequence
+ - Create an Edit
+- Create an ASSET-only Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first Asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create Custom Metadata Columns
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+- Create a Video Game Production
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a map
+ - Create your first map
+ - Create maps from an EDL File
+ - See the Details of a map
+ - Add more tasks after creating the maps
+ - Update your maps
+ - Add the number of Frames and Frame ranges to the maps
+ - Create Custom Metadata Columns
+ - Create a level
+ - Create an Edit
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Create a NFT Collection
+ - Introduction to the Kitsu Global Page
+ - Main Menu
+ - Navigation
+ - Global Search, News, Notification and Documentation
+ - Personal Settings
+ - The Tasks Spreadsheet
+ - Entity spreadsheet
+ - Filters
+ - Simplify the display
+ - Import / Export
+ - Metadata column
+ - Customize the view
+ - Sum-up of your view
+ - Create an Asset
+ - Create your first asset
+ - See the Details of an Asset
+ - Add more tasks after creating the assets
+ - Update your assets
+ - Create a Concept
+ - Upload a Concept
+ - Link a Concept to an Asset
+ - Create a NFT Collection
+ - Create your first NFT Collection
+ - See the Details of an NFT Collection
+ - Add more tasks after creating the NFT Collections
+ - Update your NFT Collections
+ - Create Custom Metadata Columns
+ - Create a Breakdown List
+ - Casting from the Asset Library
+ - Introduction to Asset State: Ready For
+- Meta Columns, Filters and Production Settings
+- Meta Columns
+ - Create Metadata Columns
+ - Linking Metadata Columns to Departments
+ - Organizing Metadata Columns
+ - Display or Hide All Metadata Columns
+ - Display or Hide a single Metadata Column
+ - Sticky Columns
+- Filters
+ - The Search Bar
+ - Using the Search Bar to Create Filters
+ - Example Filters
+ - Creating Filters
+ - Utilising the Filter Builder
+ - Task Status Filtering
+ - Metadata Filtering
+ - Assignment Filtering
+ - Thumbnail Filtering
+ - Priority Filtering
+ - Using the "Ready For" status
+ - Managing Saved Filters
+ - Deleting a Filter
+ - Pre-built Filters
+- Production Specific Workflow Settings
+ - Configure Production-Specific Settings
+ - Task Statuses
+ - Configuring Specific Task Types for a Production
+ - Task Types
+ - Enabling Specific Task Types for a Production
+ - Asset Types
+ - Enabling Specific Asset Types for a Production
+ - Status Automation
+ - Configuring Status Automation for a Production
+ - Preview Backgrounds
+ - Select Specific Preview Background for a Production
+ - Artist Board
+ - Artist Board Status Configuration
+- Assignments, Estimates and Scheduling
+- Tasks Assignments
+ - Add Users to the Team
+ - How to Assign Tasks
+ - Assign Tasks From the Global Page
+ - Assign Tasks From the Detailed Task Type Page
+- Estimates & Team Quotas
+ - Add an Estimate for a Task
+ - Detailed Task Type View Features:
+ - Forecasting Team Speed
+ - Forecast Your Team's Speed Using Estimated Quotas
+ - Quotas
+ - Using Quotas to Understand Your Teams Speed
+ - Quotas Based on Timesheets
+ - Quotas Based on Status Changes
+ - Changing Priorities
+- Schedules
+ - Production Schedule
+ - The Production Schedule Gantt Chart
+ - Milestones
+ - Task Type Schedule
+ - Asset and Shot Schedule
+ - Studio Schedule
+ - Team Schedule
+- Statuses, Publishes, and Thumbnails
+- Statuses and Feedback
+ - The Comment Panel
+ - Tagging Team Members
+ - Adding Checklists
+ - Adding Attachments
+ - Changing Statuses In Bulk
+ - Updating Multiple Statuses at Once
+ - Artist Board Statuses
+ - Customizing Statuses Used on the Artist Board Page
+- Publishes
+ - Publishing a Concept
+ - Linking a Concept to an Asset
+ - Publish a Preview as a Version
+ - Combining Previews Into a Version
+- Thumbnails
+ - Add Thumbnails Manually
+ - Add Thumbnails Automatically
+ - Batch Upload Previews (as Thumbnails)
+- Internal Review and Client Playlists
+- Reviews
+ - Reviewing Tasks
+ - Drawing Annotations
+ - Tagging Frames
+ - Exporting Annotations
+ - Deleting Annotations
+ - Comparing Images
+ - Reviewing Concepts
+ - Playlists
+ - Create a Playlist
+ - Populating a Playlist
+ - Review Controls
+ - Review Room
+- Daily & Weekly review
+ - Create a Playlist for your internal review
+ - Review and Validations
+- Client Playlists
+ - Creating Client Playlists
+ - Reviewing Client Playlists
+ - Playback Controls
+ - Review Room
+- Supervisor Workflows
+- Managing Your Department
+ - Assigning Tasks & Bidding Estimates
+ - Daily Supervision Tasks
+ - Managing Your Department's Schedule
+ - Managing Department Quotas
+ - Department Timesheets
+- Task Supervision
+ - Check Your Tasks
+ - Reviewing Previews
+ - Reviewing Concepts
+- Producer Workflows
+- Building Production Reports
+ - Production Overview
+ - News Feed Features
+ - Using Filters
+ - Example
+ - Know the Current State of the Production
+ - Short / Feature Specific
+ - Sequence Stats
+ - Asset Types Stats
+ - Count View
+ - Exporting Data
+ - TV Show Specific
+ - Retakes Display
+ - Status Display
+ - Ensure Tasks are On Time
+ - Methods to Compare Estimations and Actuals
+ - Filtering by Due Date Status
+ - Using the Late Status Filter
+ - Using the Gantt Diagram
+ - Understanding Why a Task is Late
+ - Checking an Artist's Workload
+ - Identifying Back-and-Forth
+ - Checking if the Task is Underestimated
+ - Checking the Previous Task
+ - Durations over Estimates
+ - Estimation Summary
+ - Task Type Duration over Estimation
+ - Durations over Estimations for an Asset / Shot
+ - Detailed Analysis
+ - Checking Quotas
+ - Method 1: Timesheet-Based Calculation
+ - Method 2: Status-Based Calculation
+ - Detailed Quota Calculation
+ - Team Timesheets
+ - Viewing Timesheets
+ - Exporting Timesheets
+- Building Studio Reports
+ - Studio Resource Overview
+ - Current State of All Productions
+ - Stats Pages
+ - Studio Occupancy Rate
+ - Focusing on Specific Timeframes
+ - Modifying the Schedule
+ - Utilize the Main Schedule
+- Artist Workflows
+- Getting Started as an Artist
+ - Initial Setup and Profile Customization
+ - Managing Your Assignments
+ - Key Information Available:
+ - Additional Features:
+ - Updating Task Progress
+ - Updating Task Statuses
+ - View Your Assignments (Board View)
+ - View Your Assignments (Calendar View)
+ - Share Your Concepts
+ - Uploading Concepts:
+ - Linking Concepts to Assets:
+ - Request a Review
+ - Complete Your Timesheet
+ - How to Log Time:
+ - Missed a Day?
+- Developer Workflows
+- Custom Actions
+ - What are Custom Actions?
+ - Goal
+ - How to Setup a Custom Action
+ - Creation
+ - Data Sent via a Custom Action
+- Bots
+ - Why Use a Bot
+ - How to Create a Bot
+ - Managing Bots
+ - Example Bot Usage
+ - Security Considerations
+- Kitsu Publisher
+ - DCC Integrations Status:
+ - Installation
+ - Installation of the Kitsu Publisher
+ - Pre-Requisites
+ - On Linux
+ - On Windows
+ - On MacOS
+ - Development Environment
+ - Pre-Requisites
+ - Dependencies
+ - Run
+ - Build the Electron App
+ - Pre-Requisites
+ - Building the App
+ - Installation of the DCCs connectors
+ - Pre-requisites
+ - Blender (version>2.80)
+ - Toon Boom Harmony
+ - Unreal Editor (version>=5)
+ - Publishing Previews with the Kitsu Publisher
+ - Consult Your To-Do List
+ - Publish a Preview From the Publisher
+ - Setup the Publisher
+ - Change the Save Directory and Add Scripts
+ - View the Result of the Setting on the Export Pop-Up
+- Chat Integration
+ - Discord Integration
+ - Create a Bot Account
+ - Inviting Your Bot
+ - Enable Discord Notifications
+ - Slack Integration
+ - Create a Kitsu Application in Slack
+ - Set the Right Permissions
+ - Install the App in Your Workspace
+ - Get the Token
+ - Link Kitsu to Your New Slack Application
+ - Enable Slack Notifications in Your Profile
+ - Mattermost Integration
+ - Enable Incoming Webhooks, Custom Username, and Profile Picture for Webhooks
+ - Set a Webhook in Mattermost
+ - Enable Mattermost Notifications
+- Open Source Setup
+ - Cloud Hosting
+ - Self-Hosting
+ - Development Environment
+ - Prerequisites
+ - Using Docker Image
+ - Development
+ - Build
+ - Tests
+ - Architecture
+- Frequently Asked Questions
+ - Login Issues
+ - I can't log in to Kitsu anymore
+ - Task Management
+ - I created a new Task Type, but I don't see it in my production
+ - Understanding the Difference:
+ - Steps to Add Task Types to Your Production
+ - My Task Type columns are not in the right order
+ - Task Type columns are missing
+ - Team and Assignments
+ - I can't assign anyone to a task
+ - Steps to Add People to a Production
+ - All assignments have disappeared
+ - Production Management
+ - How to Delete or Archive a Production
+ - Steps to Archive a Production
+ - Steps to Delete a Production
+ - Miscellaneous
+ - Where can I see the storage I'm using?
diff --git a/wrangler.jsonc b/wrangler.jsonc
new file mode 100644
index 0000000000..3a5f8b9b1f
--- /dev/null
+++ b/wrangler.jsonc
@@ -0,0 +1,7 @@
+{
+ "name": "kitsu-docs",
+ "compatibility_date": "2026-06-02",
+ "assets": {
+ "directory": "./docs/.vitepress/dist"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index 8216c62977..0000000000
--- a/yarn.lock
+++ /dev/null
@@ -1,8738 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
- integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
- dependencies:
- "@babel/highlight" "^7.23.4"
- chalk "^2.4.2"
-
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
- integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-
-"@babel/core@^7.11.0", "@babel/core@^7.8.4":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7"
- integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==
- dependencies:
- "@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.5"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helpers" "^7.23.5"
- "@babel/parser" "^7.23.5"
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.5"
- "@babel/types" "^7.23.5"
- convert-source-map "^2.0.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.3"
- semver "^6.3.1"
-
-"@babel/generator@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755"
- integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==
- dependencies:
- "@babel/types" "^7.23.5"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
- jsesc "^2.5.1"
-
-"@babel/helper-annotate-as-pure@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
- integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956"
- integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==
- dependencies:
- "@babel/types" "^7.22.15"
-
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.9.6":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52"
- integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==
- dependencies:
- "@babel/compat-data" "^7.22.9"
- "@babel/helper-validator-option" "^7.22.15"
- browserslist "^4.21.9"
- lru-cache "^5.1.1"
- semver "^6.3.1"
-
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz#2a8792357008ae9ce8c0f2b78b9f646ac96b314b"
- integrity sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-member-expression-to-functions" "^7.23.0"
- "@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.22.6"
- semver "^6.3.1"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1"
- integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- regexpu-core "^5.3.1"
- semver "^6.3.1"
-
-"@babel/helper-define-polyfill-provider@^0.4.3":
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba"
- integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==
- dependencies:
- "@babel/helper-compilation-targets" "^7.22.6"
- "@babel/helper-plugin-utils" "^7.22.5"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
-
-"@babel/helper-environment-visitor@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
- integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
-
-"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
- integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
- dependencies:
- "@babel/template" "^7.22.15"
- "@babel/types" "^7.23.0"
-
-"@babel/helper-hoist-variables@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
- integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
- integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
- dependencies:
- "@babel/types" "^7.23.0"
-
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.8.3":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
- integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
- dependencies:
- "@babel/types" "^7.22.15"
-
-"@babel/helper-module-transforms@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
- integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-simple-access" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/helper-validator-identifier" "^7.22.20"
-
-"@babel/helper-optimise-call-expression@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
- integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-
-"@babel/helper-remap-async-to-generator@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0"
- integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-wrap-function" "^7.22.20"
-
-"@babel/helper-replace-supers@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
- integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
- dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
- "@babel/helper-optimise-call-expression" "^7.22.5"
-
-"@babel/helper-simple-access@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
- integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
- integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-split-export-declaration@^7.22.6":
- version "7.22.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
- integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-string-parser@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
- integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
-
-"@babel/helper-validator-identifier@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
- integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-
-"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
- integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
-
-"@babel/helper-wrap-function@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569"
- integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==
- dependencies:
- "@babel/helper-function-name" "^7.22.5"
- "@babel/template" "^7.22.15"
- "@babel/types" "^7.22.19"
-
-"@babel/helpers@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e"
- integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==
- dependencies:
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.5"
- "@babel/types" "^7.23.5"
-
-"@babel/highlight@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
- integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
- dependencies:
- "@babel/helper-validator-identifier" "^7.22.20"
- chalk "^2.4.2"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.18.4", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563"
- integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
- integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d"
- integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-transform-optional-chaining" "^7.23.3"
-
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098"
- integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==
- dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-proposal-class-properties@^7.8.3":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
- integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-proposal-decorators@^7.8.3":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.5.tgz#eeaa49d0dc9229aec4d23378653738cdc5a3ea0a"
- integrity sha512-6IsY8jOeWibsengGlWIezp7cuZEFzNlAghFpzh9wiZwhQ42/hRcPnY/QV9HJoKTlujupinSlnQPiEy/u2C1ZfQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.23.5"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
- "@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/plugin-syntax-decorators" "^7.23.3"
-
-"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
- version "7.21.0-placeholder-for-preset-env.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
- integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-decorators@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca"
- integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-import-assertions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc"
- integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-import-attributes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06"
- integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-import-meta@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
- integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.8.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473"
- integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
- integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-arrow-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b"
- integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-async-generator-functions@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a"
- integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==
- dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-remap-async-to-generator" "^7.22.20"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-transform-async-to-generator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa"
- integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
- dependencies:
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-remap-async-to-generator" "^7.22.20"
-
-"@babel/plugin-transform-block-scoped-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77"
- integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-block-scoping@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5"
- integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-class-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48"
- integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-class-static-block@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5"
- integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-transform-classes@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2"
- integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
- "@babel/helper-split-export-declaration" "^7.22.6"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474"
- integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/template" "^7.22.15"
-
-"@babel/plugin-transform-destructuring@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311"
- integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-dotall-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50"
- integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-duplicate-keys@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce"
- integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-dynamic-import@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143"
- integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-transform-exponentiation-operator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18"
- integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-export-namespace-from@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191"
- integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-transform-for-of@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559"
- integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-function-name@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc"
- integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
- dependencies:
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-json-strings@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d"
- integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-transform-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4"
- integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-logical-assignment-operators@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5"
- integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-transform-member-expression-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc"
- integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-modules-amd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d"
- integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
- dependencies:
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-modules-commonjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
- integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
- dependencies:
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-simple-access" "^7.22.5"
-
-"@babel/plugin-transform-modules-systemjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81"
- integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==
- dependencies:
- "@babel/helper-hoist-variables" "^7.22.5"
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-validator-identifier" "^7.22.20"
-
-"@babel/plugin-transform-modules-umd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9"
- integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
- dependencies:
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f"
- integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.5"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-new-target@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980"
- integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e"
- integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-transform-numeric-separator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29"
- integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-transform-object-rest-spread@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83"
- integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==
- dependencies:
- "@babel/compat-data" "^7.23.3"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.23.3"
-
-"@babel/plugin-transform-object-super@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd"
- integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
-
-"@babel/plugin-transform-optional-catch-binding@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017"
- integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017"
- integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-transform-parameters@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af"
- integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-private-methods@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4"
- integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-private-property-in-object@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5"
- integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-transform-property-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875"
- integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-regenerator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c"
- integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- regenerator-transform "^0.15.2"
-
-"@babel/plugin-transform-reserved-words@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8"
- integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-runtime@^7.11.0":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz#5132b388580002fc5cb7c84eccfb968acdc231cb"
- integrity sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==
- dependencies:
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- babel-plugin-polyfill-corejs2 "^0.4.6"
- babel-plugin-polyfill-corejs3 "^0.8.5"
- babel-plugin-polyfill-regenerator "^0.5.3"
- semver "^6.3.1"
-
-"@babel/plugin-transform-shorthand-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210"
- integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-spread@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c"
- integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-
-"@babel/plugin-transform-sticky-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04"
- integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-template-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07"
- integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-typeof-symbol@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4"
- integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-escapes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925"
- integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-property-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad"
- integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc"
- integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e"
- integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/preset-env@^7.11.0":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.5.tgz#350a3aedfa9f119ad045b068886457e895ba0ca1"
- integrity sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==
- dependencies:
- "@babel/compat-data" "^7.23.5"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-validator-option" "^7.23.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3"
- "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.23.3"
- "@babel/plugin-syntax-import-attributes" "^7.23.3"
- "@babel/plugin-syntax-import-meta" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.23.3"
- "@babel/plugin-transform-async-generator-functions" "^7.23.4"
- "@babel/plugin-transform-async-to-generator" "^7.23.3"
- "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
- "@babel/plugin-transform-block-scoping" "^7.23.4"
- "@babel/plugin-transform-class-properties" "^7.23.3"
- "@babel/plugin-transform-class-static-block" "^7.23.4"
- "@babel/plugin-transform-classes" "^7.23.5"
- "@babel/plugin-transform-computed-properties" "^7.23.3"
- "@babel/plugin-transform-destructuring" "^7.23.3"
- "@babel/plugin-transform-dotall-regex" "^7.23.3"
- "@babel/plugin-transform-duplicate-keys" "^7.23.3"
- "@babel/plugin-transform-dynamic-import" "^7.23.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
- "@babel/plugin-transform-export-namespace-from" "^7.23.4"
- "@babel/plugin-transform-for-of" "^7.23.3"
- "@babel/plugin-transform-function-name" "^7.23.3"
- "@babel/plugin-transform-json-strings" "^7.23.4"
- "@babel/plugin-transform-literals" "^7.23.3"
- "@babel/plugin-transform-logical-assignment-operators" "^7.23.4"
- "@babel/plugin-transform-member-expression-literals" "^7.23.3"
- "@babel/plugin-transform-modules-amd" "^7.23.3"
- "@babel/plugin-transform-modules-commonjs" "^7.23.3"
- "@babel/plugin-transform-modules-systemjs" "^7.23.3"
- "@babel/plugin-transform-modules-umd" "^7.23.3"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
- "@babel/plugin-transform-new-target" "^7.23.3"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4"
- "@babel/plugin-transform-numeric-separator" "^7.23.4"
- "@babel/plugin-transform-object-rest-spread" "^7.23.4"
- "@babel/plugin-transform-object-super" "^7.23.3"
- "@babel/plugin-transform-optional-catch-binding" "^7.23.4"
- "@babel/plugin-transform-optional-chaining" "^7.23.4"
- "@babel/plugin-transform-parameters" "^7.23.3"
- "@babel/plugin-transform-private-methods" "^7.23.3"
- "@babel/plugin-transform-private-property-in-object" "^7.23.4"
- "@babel/plugin-transform-property-literals" "^7.23.3"
- "@babel/plugin-transform-regenerator" "^7.23.3"
- "@babel/plugin-transform-reserved-words" "^7.23.3"
- "@babel/plugin-transform-shorthand-properties" "^7.23.3"
- "@babel/plugin-transform-spread" "^7.23.3"
- "@babel/plugin-transform-sticky-regex" "^7.23.3"
- "@babel/plugin-transform-template-literals" "^7.23.3"
- "@babel/plugin-transform-typeof-symbol" "^7.23.3"
- "@babel/plugin-transform-unicode-escapes" "^7.23.3"
- "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
- "@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.6"
- babel-plugin-polyfill-corejs3 "^0.8.5"
- babel-plugin-polyfill-regenerator "^0.5.3"
- core-js-compat "^3.31.0"
- semver "^6.3.1"
-
-"@babel/preset-modules@0.1.6-no-external-plugins":
- version "0.1.6-no-external-plugins"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
- integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/regjsgen@^0.8.0":
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
- integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-
-"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.5.tgz#11edb98f8aeec529b82b211028177679144242db"
- integrity sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==
- dependencies:
- regenerator-runtime "^0.14.0"
-
-"@babel/template@^7.22.15", "@babel/template@^7.22.5":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
- integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
- dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/parser" "^7.22.15"
- "@babel/types" "^7.22.15"
-
-"@babel/traverse@^7.22.5", "@babel/traverse@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec"
- integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==
- dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.5"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-hoist-variables" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.5"
- "@babel/types" "^7.23.5"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.4.4":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602"
- integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==
- dependencies:
- "@babel/helper-string-parser" "^7.23.4"
- "@babel/helper-validator-identifier" "^7.22.20"
- to-fast-properties "^2.0.0"
-
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
- integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
-
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
- version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
- integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.20"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
- integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
- dependencies:
- "@jridgewell/resolve-uri" "^3.1.0"
- "@jridgewell/sourcemap-codec" "^1.4.14"
-
-"@mrmlnc/readdir-enhanced@^2.2.1":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
- integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
- dependencies:
- call-me-maybe "^1.0.1"
- glob-to-regexp "^0.3.0"
-
-"@nodelib/fs.stat@^1.1.2":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
- integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-
-"@sindresorhus/is@^0.14.0":
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
- integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
-
-"@szmarczak/http-timer@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
- integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
- dependencies:
- defer-to-connect "^1.0.1"
-
-"@types/body-parser@*":
- version "1.19.5"
- resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4"
- integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
- dependencies:
- "@types/connect" "*"
- "@types/node" "*"
-
-"@types/connect-history-api-fallback@*":
- version "1.5.4"
- resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3"
- integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==
- dependencies:
- "@types/express-serve-static-core" "*"
- "@types/node" "*"
-
-"@types/connect@*":
- version "3.4.38"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
- integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
- dependencies:
- "@types/node" "*"
-
-"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33":
- version "4.17.41"
- resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6"
- integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==
- dependencies:
- "@types/node" "*"
- "@types/qs" "*"
- "@types/range-parser" "*"
- "@types/send" "*"
-
-"@types/express@*":
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d"
- integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==
- dependencies:
- "@types/body-parser" "*"
- "@types/express-serve-static-core" "^4.17.33"
- "@types/qs" "*"
- "@types/serve-static" "*"
-
-"@types/glob@^7.1.1":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
- integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
- dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/highlight.js@^9.7.0":
- version "9.12.4"
- resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.12.4.tgz#8c3496bd1b50cc04aeefd691140aa571d4dbfa34"
- integrity sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww==
-
-"@types/http-errors@*":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f"
- integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==
-
-"@types/http-proxy@^1.17.5":
- version "1.17.14"
- resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec"
- integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==
- dependencies:
- "@types/node" "*"
-
-"@types/json-schema@^7.0.5":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
-"@types/linkify-it@*":
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8"
- integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==
-
-"@types/markdown-it@^10.0.0":
- version "10.0.3"
- resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-10.0.3.tgz#a9800d14b112c17f1de76ec33eff864a4815eec7"
- integrity sha512-daHJk22isOUvNssVGF2zDnnSyxHhFYhtjeX4oQaKD6QzL3ZR1QSgiD1g+Q6/WSWYVogNXYDXODtbgW/WiFCtyw==
- dependencies:
- "@types/highlight.js" "^9.7.0"
- "@types/linkify-it" "*"
- "@types/mdurl" "*"
- highlight.js "^9.7.0"
-
-"@types/mdurl@*":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39"
- integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==
-
-"@types/mime@*":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45"
- integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==
-
-"@types/mime@^1":
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690"
- integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
-
-"@types/minimatch@*":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
- integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
-
-"@types/node@*":
- version "20.10.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.3.tgz#4900adcc7fc189d5af5bb41da8f543cea6962030"
- integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==
- dependencies:
- undici-types "~5.26.4"
-
-"@types/q@^1.5.1":
- version "1.5.8"
- resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837"
- integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==
-
-"@types/qs@*":
- version "6.9.10"
- resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.10.tgz#0af26845b5067e1c9a622658a51f60a3934d51e8"
- integrity sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==
-
-"@types/range-parser@*":
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
- integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
-
-"@types/send@*":
- version "0.17.4"
- resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a"
- integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==
- dependencies:
- "@types/mime" "^1"
- "@types/node" "*"
-
-"@types/serve-static@*":
- version "1.15.5"
- resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033"
- integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==
- dependencies:
- "@types/http-errors" "*"
- "@types/mime" "*"
- "@types/node" "*"
-
-"@types/source-list-map@*":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.6.tgz#164e169dd061795b50b83c19e4d3be09f8d3a454"
- integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==
-
-"@types/tapable@^1":
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.12.tgz#bc2cab12e87978eee89fb21576b670350d6d86ab"
- integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==
-
-"@types/uglify-js@*":
- version "3.17.4"
- resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.4.tgz#3c70021f08023e5a760ce133d22966f200e1d31c"
- integrity sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==
- dependencies:
- source-map "^0.6.1"
-
-"@types/webpack-dev-server@^3":
- version "3.11.6"
- resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz#d8888cfd2f0630203e13d3ed7833a4d11b8a34dc"
- integrity sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==
- dependencies:
- "@types/connect-history-api-fallback" "*"
- "@types/express" "*"
- "@types/serve-static" "*"
- "@types/webpack" "^4"
- http-proxy-middleware "^1.0.0"
-
-"@types/webpack-sources@*":
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.3.tgz#b667bd13e9fa15a9c26603dce502c7985418c3d8"
- integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==
- dependencies:
- "@types/node" "*"
- "@types/source-list-map" "*"
- source-map "^0.7.3"
-
-"@types/webpack@^4":
- version "4.41.38"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.38.tgz#5a40ac81bdd052bf405e8bdcf3e1236f6db6dc26"
- integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==
- dependencies:
- "@types/node" "*"
- "@types/tapable" "^1"
- "@types/uglify-js" "*"
- "@types/webpack-sources" "*"
- anymatch "^3.0.0"
- source-map "^0.6.0"
-
-"@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2"
- integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==
-
-"@vue/babel-helper-vue-transform-on@^1.1.5":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz#a976486b21e108e545524fe41ffe3fc9bbc28c7f"
- integrity sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==
-
-"@vue/babel-plugin-jsx@^1.0.3":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz#5088bae7dbb83531d94df3742ff650c12fd54973"
- integrity sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==
- dependencies:
- "@babel/helper-module-imports" "^7.22.5"
- "@babel/plugin-syntax-jsx" "^7.22.5"
- "@babel/template" "^7.22.5"
- "@babel/traverse" "^7.22.5"
- "@babel/types" "^7.22.5"
- "@vue/babel-helper-vue-transform-on" "^1.1.5"
- camelcase "^6.3.0"
- html-tags "^3.3.1"
- svg-tags "^1.0.0"
-
-"@vue/babel-plugin-transform-vue-jsx@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz#4d4b3d46a39ea62b7467dd6e26ce47f7ceafb2fe"
- integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/plugin-syntax-jsx" "^7.2.0"
- "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
- html-tags "^2.0.0"
- lodash.kebabcase "^4.1.1"
- svg-tags "^1.0.0"
-
-"@vue/babel-preset-app@^4.1.2":
- version "4.5.19"
- resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.19.tgz#baee457da0065c016f74fac4149f7c97631ba5a7"
- integrity sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q==
- dependencies:
- "@babel/core" "^7.11.0"
- "@babel/helper-compilation-targets" "^7.9.6"
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/plugin-proposal-class-properties" "^7.8.3"
- "@babel/plugin-proposal-decorators" "^7.8.3"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-jsx" "^7.8.3"
- "@babel/plugin-transform-runtime" "^7.11.0"
- "@babel/preset-env" "^7.11.0"
- "@babel/runtime" "^7.11.0"
- "@vue/babel-plugin-jsx" "^1.0.3"
- "@vue/babel-preset-jsx" "^1.2.4"
- babel-plugin-dynamic-import-node "^2.3.3"
- core-js "^3.6.5"
- core-js-compat "^3.6.5"
- semver "^6.1.0"
-
-"@vue/babel-preset-jsx@^1.2.4":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz#f4914ba314235ab097bc4372ed67473c0780bfcc"
- integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==
- dependencies:
- "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
- "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
- "@vue/babel-sugar-composition-api-inject-h" "^1.4.0"
- "@vue/babel-sugar-composition-api-render-instance" "^1.4.0"
- "@vue/babel-sugar-functional-vue" "^1.4.0"
- "@vue/babel-sugar-inject-h" "^1.4.0"
- "@vue/babel-sugar-v-model" "^1.4.0"
- "@vue/babel-sugar-v-on" "^1.4.0"
-
-"@vue/babel-sugar-composition-api-inject-h@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz#187e1389f8871d89ece743bb50aed713be9d6c85"
- integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@vue/babel-sugar-composition-api-render-instance@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz#2c1607ae6dffdab47e785bc01fa45ba756e992c1"
- integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@vue/babel-sugar-functional-vue@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz#60da31068567082287c7337c66ef4df04e0a1029"
- integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@vue/babel-sugar-inject-h@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz#bf39aa6631fb1d0399b1c49b4c59e1c8899b4363"
- integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@vue/babel-sugar-v-model@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz#a51d986609f430c4f70ada3a93cc560a2970f720"
- integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
- "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
- "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
- camelcase "^5.0.0"
- html-tags "^2.0.0"
- svg-tags "^1.0.0"
-
-"@vue/babel-sugar-v-on@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz#43b7106a9672d8cbeefc0eb8afe1d376edc6166e"
- integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
- "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
- camelcase "^5.0.0"
-
-"@vue/compiler-sfc@2.7.15":
- version "2.7.15"
- resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz#62135fb2f69559fc723fd9c56b8e8b0ac7864a0b"
- integrity sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==
- dependencies:
- "@babel/parser" "^7.18.4"
- postcss "^8.4.14"
- source-map "^0.6.1"
-
-"@vue/component-compiler-utils@^3.1.0":
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9"
- integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==
- dependencies:
- consolidate "^0.15.1"
- hash-sum "^1.0.2"
- lru-cache "^4.1.2"
- merge-source-map "^1.1.0"
- postcss "^7.0.36"
- postcss-selector-parser "^6.0.2"
- source-map "~0.6.1"
- vue-template-es2015-compiler "^1.9.0"
- optionalDependencies:
- prettier "^1.18.2 || ^2.0.0"
-
-"@vuepress/core@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.9.10.tgz#ce17d603a0195ab2b8152f5a33bea274869184a3"
- integrity sha512-H9ddo5fSinPb8QYl8OJFbZikMpOW84bm/U3Drzz8CnCXNtpda7CU2wX/XzOhe98G8jp45xhtZRkxOrqzBBAShA==
- dependencies:
- "@babel/core" "^7.8.4"
- "@vue/babel-preset-app" "^4.1.2"
- "@vuepress/markdown" "1.9.10"
- "@vuepress/markdown-loader" "1.9.10"
- "@vuepress/plugin-last-updated" "1.9.10"
- "@vuepress/plugin-register-components" "1.9.10"
- "@vuepress/shared-utils" "1.9.10"
- "@vuepress/types" "1.9.10"
- autoprefixer "^9.5.1"
- babel-loader "^8.0.4"
- bundle-require "2.1.8"
- cache-loader "^3.0.0"
- chokidar "^2.0.3"
- connect-history-api-fallback "^1.5.0"
- copy-webpack-plugin "^5.0.2"
- core-js "^3.6.4"
- cross-spawn "^6.0.5"
- css-loader "^2.1.1"
- esbuild "0.14.7"
- file-loader "^3.0.1"
- js-yaml "^3.13.1"
- lru-cache "^5.1.1"
- mini-css-extract-plugin "0.6.0"
- optimize-css-assets-webpack-plugin "^5.0.1"
- portfinder "^1.0.13"
- postcss-loader "^3.0.0"
- postcss-safe-parser "^4.0.1"
- toml "^3.0.0"
- url-loader "^1.0.1"
- vue "^2.6.10"
- vue-loader "^15.7.1"
- vue-router "^3.4.5"
- vue-server-renderer "^2.6.10"
- vue-template-compiler "^2.6.10"
- vuepress-html-webpack-plugin "^3.2.0"
- vuepress-plugin-container "^2.0.2"
- webpack "^4.8.1"
- webpack-chain "^6.0.0"
- webpack-dev-server "^3.5.1"
- webpack-merge "^4.1.2"
- webpackbar "3.2.0"
-
-"@vuepress/markdown-loader@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.9.10.tgz#076619a9079d4955bb73b59dc9e474c488d49bb7"
- integrity sha512-94BlwKc+lOaN/A5DkyA9KWHvMlMC1sWunAXE3Tv0WYzgYLDs9QqCsx7L5kLkpcOOVVm/8kBJumnXvVBwhqJddw==
- dependencies:
- "@vuepress/markdown" "1.9.10"
- loader-utils "^1.1.0"
- lru-cache "^5.1.1"
-
-"@vuepress/markdown@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.9.10.tgz#63df6c6137e2d6bac2d03b5911e4326484761ba7"
- integrity sha512-sXTLjeZzH8SQuAL5AEH0hhsMljjNJbzWbBvzaj5yQCCdf+3sp/dJ0kwnBSnQjFPPnzPg5t3tLKGUYHyW0KiKzA==
- dependencies:
- "@vuepress/shared-utils" "1.9.10"
- markdown-it "^8.4.1"
- markdown-it-anchor "^5.0.2"
- markdown-it-chain "^1.3.0"
- markdown-it-emoji "^1.4.0"
- markdown-it-table-of-contents "^0.4.0"
- prismjs "^1.13.0"
-
-"@vuepress/plugin-active-header-links@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.9.10.tgz#bcd96ee7c156310de30a9565ab9ca18e72f18a5a"
- integrity sha512-2dRr3DE2UBFXhyMtLR3sGTdRyDM8YStuY6AOoQmoSgwy1IHt7PO7ypOuf1akF+1Nv8Q2aISU06q6TExZouu3Mw==
- dependencies:
- "@vuepress/types" "1.9.10"
- lodash.debounce "^4.0.8"
-
-"@vuepress/plugin-last-updated@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.9.10.tgz#e2564512fe5652be892351cd95c5e611fd11a3be"
- integrity sha512-YxzWGF/OfU6WsHSynZFn74NGGp7dY27Bjy9JyyFo8wF5+2V1gpyDjveHKHGKugS/pMXlxfjzhv9E2Wmy9R7Iog==
- dependencies:
- "@vuepress/types" "1.9.10"
- cross-spawn "^6.0.5"
-
-"@vuepress/plugin-nprogress@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.9.10.tgz#945142c2db4a2a11942c063d5d0f01bc5d295f49"
- integrity sha512-I1kkm6yWUQd7vwiV3lEDVpVP0Lr04K0zlczU502lDUa1RufSZ7vt+mlF5fOM28GqT+pKTEToWmm+VNT/R3qvMQ==
- dependencies:
- "@vuepress/types" "1.9.10"
- nprogress "^0.2.0"
-
-"@vuepress/plugin-register-components@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.9.10.tgz#3f8fd91acefec32b115d4dce89b14863cbe29212"
- integrity sha512-sgdJ5OydTPZAoTkselpvVP3Xsd6bfZ0FpaxOTinal0gJ99h49lvLu9bvzMx13rdGRFO/kRXn0qQQpwKTAfTPqA==
- dependencies:
- "@vuepress/shared-utils" "1.9.10"
- "@vuepress/types" "1.9.10"
-
-"@vuepress/plugin-search@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.9.10.tgz#313a504020d60a2f694b27a8b6457ee99b4c71e7"
- integrity sha512-bn2XJikaRgQZXvu8upCjOWrxbLHIRTqnJ3w7G0mo6jCYWGVsHNo6XhVpqylpLR2PWnHT/ImO2bGo38/5Bag/tQ==
- dependencies:
- "@vuepress/types" "1.9.10"
-
-"@vuepress/shared-utils@1.9.10", "@vuepress/shared-utils@^1.2.0":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.9.10.tgz#45aae7fcf07a2067fb340c71e5bd96837b48dfee"
- integrity sha512-M9A3DocPih+V8dKK2Zg9FJQ/f3JZrYsdaM/vQ9F48l8bPlzxw5NvqXIYMK4kKcGEyerQNTWCudoCpLL5uiU0hg==
- dependencies:
- chalk "^2.3.2"
- escape-html "^1.0.3"
- fs-extra "^7.0.1"
- globby "^9.2.0"
- gray-matter "^4.0.1"
- hash-sum "^1.0.2"
- semver "^6.0.0"
- toml "^3.0.0"
- upath "^1.1.0"
-
-"@vuepress/theme-default@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.9.10.tgz#6e916e2164ab3d9cc9567610e4ada9c3a568f206"
- integrity sha512-XnXn9t+pYCIhWi3cZXJlighuy93FFm5yXdISAAlFlcNkshuGtqamkjacHV8q/QZMfOhSIs6wX7Hj88u2IsT5mw==
- dependencies:
- "@vuepress/plugin-active-header-links" "1.9.10"
- "@vuepress/plugin-nprogress" "1.9.10"
- "@vuepress/plugin-search" "1.9.10"
- "@vuepress/types" "1.9.10"
- docsearch.js "^2.5.2"
- lodash "^4.17.15"
- stylus "^0.54.8"
- stylus-loader "^3.0.2"
- vuepress-plugin-container "^2.0.2"
- vuepress-plugin-smooth-scroll "^0.0.3"
-
-"@vuepress/types@1.9.10":
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/@vuepress/types/-/types-1.9.10.tgz#5b8d112a0d7dbaffce1e5d39b66754412c83ecc6"
- integrity sha512-TDNQn4og85onmBpLTTXXmncW3rUnYGr2MkuI8OIFJZetDNM49t1WbjNVlrT+kx7C6qXi6okDQgrHGYXajHZWfg==
- dependencies:
- "@types/markdown-it" "^10.0.0"
- "@types/webpack-dev-server" "^3"
- webpack-chain "^6.0.0"
-
-"@webassemblyjs/ast@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
- integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
- dependencies:
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
-
-"@webassemblyjs/floating-point-hex-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
- integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
-
-"@webassemblyjs/helper-api-error@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
- integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
-
-"@webassemblyjs/helper-buffer@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
- integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
-
-"@webassemblyjs/helper-code-frame@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
- integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
- dependencies:
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/helper-fsm@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
- integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
-
-"@webassemblyjs/helper-module-context@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
- integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
- integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
-
-"@webassemblyjs/helper-wasm-section@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
- integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
-
-"@webassemblyjs/ieee754@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
- integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
- integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
- integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
-
-"@webassemblyjs/wasm-edit@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
- integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/helper-wasm-section" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-opt" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/wasm-gen@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
- integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wasm-opt@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
- integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
-
-"@webassemblyjs/wasm-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
- integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wast-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
- integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/floating-point-hex-parser" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-code-frame" "1.9.0"
- "@webassemblyjs/helper-fsm" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
- integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
-accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
- integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
- dependencies:
- mime-types "~2.1.34"
- negotiator "0.6.3"
-
-acorn@^6.4.1:
- version "6.4.2"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
- integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-
-agentkeepalive@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef"
- integrity sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==
-
-ajv-errors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
- integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
- integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-algoliasearch@^3.24.5:
- version "3.35.1"
- resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.35.1.tgz#297d15f534a3507cab2f5dfb996019cac7568f0c"
- integrity sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==
- dependencies:
- agentkeepalive "^2.2.0"
- debug "^2.6.9"
- envify "^4.0.0"
- es6-promise "^4.1.0"
- events "^1.1.0"
- foreach "^2.0.5"
- global "^4.3.2"
- inherits "^2.0.1"
- isarray "^2.0.1"
- load-script "^1.0.0"
- object-keys "^1.0.11"
- querystring-es3 "^0.2.1"
- reduce "^1.0.1"
- semver "^5.1.0"
- tunnel-agent "^0.6.0"
-
-alphanum-sort@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
- integrity sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==
-
-ansi-align@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
- integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
- dependencies:
- string-width "^4.1.0"
-
-ansi-colors@^3.0.0:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
- integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
-
-ansi-escapes@^4.1.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
- integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
- dependencies:
- type-fest "^0.21.3"
-
-ansi-html-community@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
- integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
-
-ansi-regex@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
- integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
- integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-anymatch@^3.0.0, anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-aproba@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
- integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==
-
-arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
- integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
- integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==
-
-array-buffer-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
- integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
- dependencies:
- call-bind "^1.0.2"
- is-array-buffer "^3.0.1"
-
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
-array-flatten@^2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
- integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-
-array-union@^1.0.1, array-union@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
- integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==
- dependencies:
- array-uniq "^1.0.1"
-
-array-uniq@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
- integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
-
-array.prototype.reduce@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5"
- integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-array-method-boxes-properly "^1.0.0"
- is-string "^1.0.7"
-
-arraybuffer.prototype.slice@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12"
- integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
- is-array-buffer "^3.0.2"
- is-shared-array-buffer "^1.0.2"
-
-asn1.js@^5.2.0:
- version "5.4.1"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
- integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- safer-buffer "^2.1.0"
-
-asn1@~0.2.3:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
- integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
-
-assert@^1.1.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76"
- integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==
- dependencies:
- object.assign "^4.1.4"
- util "^0.10.4"
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
- integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==
-
-async-each@^1.0.1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77"
- integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==
-
-async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-async@^2.6.4:
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
- integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
- dependencies:
- lodash "^4.17.14"
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-
-atob@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
- integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-
-autocomplete.js@0.36.0:
- version "0.36.0"
- resolved "https://registry.yarnpkg.com/autocomplete.js/-/autocomplete.js-0.36.0.tgz#94fe775fe64b6cd42e622d076dc7fd26bedd837b"
- integrity sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==
- dependencies:
- immediate "^3.2.3"
-
-autoprefixer@^9.5.1:
- version "9.8.8"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a"
- integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==
- dependencies:
- browserslist "^4.12.0"
- caniuse-lite "^1.0.30001109"
- normalize-range "^0.1.2"
- num2fraction "^1.2.2"
- picocolors "^0.2.1"
- postcss "^7.0.32"
- postcss-value-parser "^4.1.0"
-
-available-typed-arrays@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
- integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
-
-aws4@^1.8.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3"
- integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==
-
-babel-loader@^8.0.4:
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8"
- integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==
- dependencies:
- find-cache-dir "^3.3.1"
- loader-utils "^2.0.0"
- make-dir "^3.1.0"
- schema-utils "^2.6.5"
-
-babel-plugin-dynamic-import-node@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
- integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
- dependencies:
- object.assign "^4.1.0"
-
-babel-plugin-polyfill-corejs2@^0.4.6:
- version "0.4.6"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313"
- integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==
- dependencies:
- "@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.4.3"
- semver "^6.3.1"
-
-babel-plugin-polyfill-corejs3@^0.8.5:
- version "0.8.6"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz#25c2d20002da91fe328ff89095c85a391d6856cf"
- integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.3"
- core-js-compat "^3.33.1"
-
-babel-plugin-polyfill-regenerator@^0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5"
- integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.3"
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base64-js@^1.0.2:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
- dependencies:
- cache-base "^1.0.1"
- class-utils "^0.3.5"
- component-emitter "^1.2.1"
- define-property "^1.0.0"
- isobject "^3.0.1"
- mixin-deep "^1.2.0"
- pascalcase "^0.1.1"
-
-batch@0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
- integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
- dependencies:
- tweetnacl "^0.14.3"
-
-big.js@^3.1.3:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
- integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
-
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-binary-extensions@^1.0.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
- integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-bindings@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-bluebird@^3.1.1, bluebird@^3.5.5:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
- integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
-
-bn.js@^5.0.0, bn.js@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
- integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
-
-body-parser@1.20.1:
- version "1.20.1"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
- integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.11.0"
- raw-body "2.5.1"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
-bonjour@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
- integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==
- dependencies:
- array-flatten "^2.1.0"
- deep-equal "^1.0.1"
- dns-equal "^1.0.0"
- dns-txt "^2.0.2"
- multicast-dns "^6.0.1"
- multicast-dns-service-types "^1.1.0"
-
-boolbase@^1.0.0, boolbase@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
- integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
-
-boxen@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
- integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
- dependencies:
- ansi-align "^3.0.0"
- camelcase "^5.3.1"
- chalk "^3.0.0"
- cli-boxes "^2.2.0"
- string-width "^4.1.0"
- term-size "^2.1.0"
- type-fest "^0.8.1"
- widest-line "^3.1.0"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^2.3.1, braces@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
- dependencies:
- arr-flatten "^1.1.0"
- array-unique "^0.3.2"
- extend-shallow "^2.0.1"
- fill-range "^4.0.0"
- isobject "^3.0.1"
- repeat-element "^1.1.2"
- snapdragon "^0.8.1"
- snapdragon-node "^2.0.1"
- split-string "^3.0.2"
- to-regex "^3.0.1"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-brorand@^1.0.1, brorand@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserify-cipher@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
- integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
- integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-browserify-rsa@^4.0.0, browserify-rsa@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
- integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
- dependencies:
- bn.js "^5.0.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e"
- integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==
- dependencies:
- bn.js "^5.2.1"
- browserify-rsa "^4.1.0"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- elliptic "^6.5.4"
- inherits "^2.0.4"
- parse-asn1 "^5.1.6"
- readable-stream "^3.6.2"
- safe-buffer "^5.2.1"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
- integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
- dependencies:
- pako "~1.0.5"
-
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.9, browserslist@^4.22.1:
- version "4.22.2"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b"
- integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
- dependencies:
- caniuse-lite "^1.0.30001565"
- electron-to-chromium "^1.4.601"
- node-releases "^2.0.14"
- update-browserslist-db "^1.0.13"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer-indexof@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
- integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
-
-buffer-json@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23"
- integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
-
-buffer@^4.3.0:
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
- integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
- integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
-
-bundle-require@2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-2.1.8.tgz#28f6de9d4468a6b7b76fb5c9bf52e70f5091245d"
- integrity sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw==
-
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
- integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
-
-bytes@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
- integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-
-cac@^6.5.6:
- version "6.7.14"
- resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
- integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
-
-cacache@^12.0.2, cacache@^12.0.3:
- version "12.0.4"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
- integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- infer-owner "^1.0.3"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
- dependencies:
- collection-visit "^1.0.0"
- component-emitter "^1.2.1"
- get-value "^2.0.6"
- has-value "^1.0.0"
- isobject "^3.0.1"
- set-value "^2.0.0"
- to-object-path "^0.3.0"
- union-value "^1.0.0"
- unset-value "^1.0.0"
-
-cache-loader@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-3.0.1.tgz#cee6cf4b3cdc7c610905b26bad6c2fc439c821af"
- integrity sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==
- dependencies:
- buffer-json "^2.0.0"
- find-cache-dir "^2.1.0"
- loader-utils "^1.2.3"
- mkdirp "^0.5.1"
- neo-async "^2.6.1"
- schema-utils "^1.0.0"
-
-cacheable-request@^6.0.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
- integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
- dependencies:
- clone-response "^1.0.2"
- get-stream "^5.1.0"
- http-cache-semantics "^4.0.0"
- keyv "^3.0.0"
- lowercase-keys "^2.0.0"
- normalize-url "^4.1.0"
- responselike "^1.0.2"
-
-call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
- integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==
- dependencies:
- function-bind "^1.1.2"
- get-intrinsic "^1.2.1"
- set-function-length "^1.1.1"
-
-call-me-maybe@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa"
- integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
-
-camel-case@3.0.x:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
- integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==
- dependencies:
- no-case "^2.2.0"
- upper-case "^1.1.1"
-
-camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-camelcase@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
- integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-caniuse-api@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
- integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
- dependencies:
- browserslist "^4.0.0"
- caniuse-lite "^1.0.0"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001565:
- version "1.0.30001566"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d"
- integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
-
-chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chokidar@^2.0.3, chokidar@^2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
- integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
- dependencies:
- anymatch "^2.0.0"
- async-each "^1.0.1"
- braces "^2.3.2"
- glob-parent "^3.1.0"
- inherits "^2.0.3"
- is-binary-path "^1.0.0"
- is-glob "^4.0.0"
- normalize-path "^3.0.0"
- path-is-absolute "^1.0.0"
- readdirp "^2.2.1"
- upath "^1.1.1"
- optionalDependencies:
- fsevents "^1.2.7"
-
-chokidar@^3.4.1:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chrome-trace-event@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
- integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
-
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-ci-info@^3.1.1:
- version "3.9.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
- integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-clean-css@4.2.x:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178"
- integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==
- dependencies:
- source-map "~0.6.0"
-
-cli-boxes@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
- integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-clone-response@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3"
- integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==
- dependencies:
- mimic-response "^1.0.0"
-
-coa@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
- integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
- dependencies:
- "@types/q" "^1.5.1"
- chalk "^2.4.1"
- q "^1.1.2"
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.9.0, color-convert@^1.9.3:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.6.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
- integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^3.0.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
- integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
- dependencies:
- color-convert "^1.9.3"
- color-string "^1.6.0"
-
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-commander@2.17.x:
- version "2.17.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
- integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
-
-commander@^2.20.0:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@~2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
- integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-
-component-emitter@^1.2.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17"
- integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==
-
-compressible@~2.0.16:
- version "2.0.18"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression@^1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
- integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
- dependencies:
- accepts "~1.3.5"
- bytes "3.0.0"
- compressible "~2.0.16"
- debug "2.6.9"
- on-headers "~1.0.2"
- safe-buffer "5.1.2"
- vary "~1.1.2"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-concat-stream@^1.5.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-configstore@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
- integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
- dependencies:
- dot-prop "^5.2.0"
- graceful-fs "^4.1.2"
- make-dir "^3.0.0"
- unique-string "^2.0.0"
- write-file-atomic "^3.0.0"
- xdg-basedir "^4.0.0"
-
-connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
- integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
-
-consola@^2.6.0:
- version "2.15.3"
- resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550"
- integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
-
-console-browserify@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
- integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-
-consolidate@^0.15.1:
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
- integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==
- dependencies:
- bluebird "^3.1.1"
-
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
- integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
-
-content-disposition@0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
- integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
- dependencies:
- safe-buffer "5.2.1"
-
-content-type@~1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
-convert-source-map@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
- integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-
-cookie@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
- integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-
-copy-concurrently@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
- integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
- dependencies:
- aproba "^1.1.1"
- fs-write-stream-atomic "^1.0.8"
- iferr "^0.1.5"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.0"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
- integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
-
-copy-webpack-plugin@^5.0.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2"
- integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==
- dependencies:
- cacache "^12.0.3"
- find-cache-dir "^2.1.0"
- glob-parent "^3.1.0"
- globby "^7.1.1"
- is-glob "^4.0.1"
- loader-utils "^1.2.3"
- minimatch "^3.0.4"
- normalize-path "^3.0.0"
- p-limit "^2.2.1"
- schema-utils "^1.0.0"
- serialize-javascript "^4.0.0"
- webpack-log "^2.0.0"
-
-core-js-compat@^3.31.0, core-js-compat@^3.33.1, core-js-compat@^3.6.5:
- version "3.33.3"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01"
- integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==
- dependencies:
- browserslist "^4.22.1"
-
-core-js@^3.6.4, core-js@^3.6.5:
- version "3.33.3"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d"
- integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==
-
-core-util-is@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
-
-core-util-is@~1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
- integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-
-cosmiconfig@^5.0.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
-create-ecdh@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
- integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.5.3"
-
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
- integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
- dependencies:
- browserify-cipher "^1.0.0"
- browserify-sign "^4.0.0"
- create-ecdh "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.0"
- diffie-hellman "^5.0.0"
- inherits "^2.0.1"
- pbkdf2 "^3.0.3"
- public-encrypt "^4.0.0"
- randombytes "^2.0.0"
- randomfill "^1.0.3"
-
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
-css-color-names@0.0.4, css-color-names@^0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
- integrity sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==
-
-css-declaration-sorter@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
- integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
- dependencies:
- postcss "^7.0.1"
- timsort "^0.3.0"
-
-css-loader@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea"
- integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==
- dependencies:
- camelcase "^5.2.0"
- icss-utils "^4.1.0"
- loader-utils "^1.2.3"
- normalize-path "^3.0.0"
- postcss "^7.0.14"
- postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^2.0.6"
- postcss-modules-scope "^2.1.0"
- postcss-modules-values "^2.0.0"
- postcss-value-parser "^3.3.0"
- schema-utils "^1.0.0"
-
-css-parse@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4"
- integrity sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==
- dependencies:
- css "^2.0.0"
-
-css-select-base-adapter@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
- integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-
-css-select@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
- integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
- dependencies:
- boolbase "^1.0.0"
- css-what "^3.2.1"
- domutils "^1.7.0"
- nth-check "^1.0.2"
-
-css-select@^4.1.3:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
- integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
- dependencies:
- boolbase "^1.0.0"
- css-what "^6.0.1"
- domhandler "^4.3.1"
- domutils "^2.8.0"
- nth-check "^2.0.1"
-
-css-tree@1.0.0-alpha.37:
- version "1.0.0-alpha.37"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
- integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
- dependencies:
- mdn-data "2.0.4"
- source-map "^0.6.1"
-
-css-tree@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
- integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
- dependencies:
- mdn-data "2.0.14"
- source-map "^0.6.1"
-
-css-what@^3.2.1:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
- integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
-
-css-what@^6.0.1:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
- integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
-
-css@^2.0.0:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
- integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
- dependencies:
- inherits "^2.0.3"
- source-map "^0.6.1"
- source-map-resolve "^0.5.2"
- urix "^0.1.0"
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-cssnano-preset-default@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff"
- integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
- dependencies:
- css-declaration-sorter "^4.0.1"
- cssnano-util-raw-cache "^4.0.1"
- postcss "^7.0.0"
- postcss-calc "^7.0.1"
- postcss-colormin "^4.0.3"
- postcss-convert-values "^4.0.1"
- postcss-discard-comments "^4.0.2"
- postcss-discard-duplicates "^4.0.2"
- postcss-discard-empty "^4.0.1"
- postcss-discard-overridden "^4.0.1"
- postcss-merge-longhand "^4.0.11"
- postcss-merge-rules "^4.0.3"
- postcss-minify-font-values "^4.0.2"
- postcss-minify-gradients "^4.0.2"
- postcss-minify-params "^4.0.2"
- postcss-minify-selectors "^4.0.2"
- postcss-normalize-charset "^4.0.1"
- postcss-normalize-display-values "^4.0.2"
- postcss-normalize-positions "^4.0.2"
- postcss-normalize-repeat-style "^4.0.2"
- postcss-normalize-string "^4.0.2"
- postcss-normalize-timing-functions "^4.0.2"
- postcss-normalize-unicode "^4.0.1"
- postcss-normalize-url "^4.0.1"
- postcss-normalize-whitespace "^4.0.2"
- postcss-ordered-values "^4.1.2"
- postcss-reduce-initial "^4.0.3"
- postcss-reduce-transforms "^4.0.2"
- postcss-svgo "^4.0.3"
- postcss-unique-selectors "^4.0.1"
-
-cssnano-util-get-arguments@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
- integrity sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==
-
-cssnano-util-get-match@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
- integrity sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==
-
-cssnano-util-raw-cache@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
- integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
- dependencies:
- postcss "^7.0.0"
-
-cssnano-util-same-parent@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
- integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-
-cssnano@^4.1.10:
- version "4.1.11"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
- integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
- dependencies:
- cosmiconfig "^5.0.0"
- cssnano-preset-default "^4.0.8"
- is-resolvable "^1.0.0"
- postcss "^7.0.0"
-
-csso@^4.0.2:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
- integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
- dependencies:
- css-tree "^1.1.2"
-
-csstype@^3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
- integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
-
-cyclist@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3"
- integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
- dependencies:
- assert-plus "^1.0.0"
-
-de-indent@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
- integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
-
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^3.2.7:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.1.0, debug@^4.1.1:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-debug@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
-
-decode-uri-component@^0.2.0:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
- integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
-
-decompress-response@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
- integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==
- dependencies:
- mimic-response "^1.0.0"
-
-deep-equal@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761"
- integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==
- dependencies:
- is-arguments "^1.1.1"
- is-date-object "^1.0.5"
- is-regex "^1.1.4"
- object-is "^1.1.5"
- object-keys "^1.1.1"
- regexp.prototype.flags "^1.5.1"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-deepmerge@^1.5.2:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
- integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
-
-default-gateway@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
- integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
- dependencies:
- execa "^1.0.0"
- ip-regex "^2.1.0"
-
-defer-to-connect@^1.0.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
- integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
-
-define-data-property@^1.0.1, define-data-property@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
- integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==
- dependencies:
- get-intrinsic "^1.2.1"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
-
-define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
- integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
- dependencies:
- define-data-property "^1.0.1"
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
- integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
- integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-del@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
- integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
- dependencies:
- "@types/glob" "^7.1.1"
- globby "^6.1.0"
- is-path-cwd "^2.0.0"
- is-path-in-cwd "^2.0.0"
- p-map "^2.0.0"
- pify "^4.0.1"
- rimraf "^2.6.3"
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-
-depd@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
- integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-
-des.js@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da"
- integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-destroy@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
- integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-detect-node@^2.0.4:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
- integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
-
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
- integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
-dir-glob@^2.0.0, dir-glob@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
- integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==
- dependencies:
- path-type "^3.0.0"
-
-dns-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
- integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==
-
-dns-packet@^1.3.1:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f"
- integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==
- dependencies:
- ip "^1.1.0"
- safe-buffer "^5.0.1"
-
-dns-txt@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
- integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==
- dependencies:
- buffer-indexof "^1.0.0"
-
-docsearch.js@^2.5.2:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/docsearch.js/-/docsearch.js-2.6.3.tgz#57cb4600d3b6553c677e7cbbe6a734593e38625d"
- integrity sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==
- dependencies:
- algoliasearch "^3.24.5"
- autocomplete.js "0.36.0"
- hogan.js "^3.0.2"
- request "^2.87.0"
- stack-utils "^1.0.1"
- to-factory "^1.0.0"
- zepto "^1.2.0"
-
-dom-converter@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
- integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
- dependencies:
- utila "~0.4"
-
-dom-serializer@0:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
- integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
- dependencies:
- domelementtype "^2.0.1"
- entities "^2.0.0"
-
-dom-serializer@^1.0.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
- integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
- dependencies:
- domelementtype "^2.0.1"
- domhandler "^4.2.0"
- entities "^2.0.0"
-
-dom-walk@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
- integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
-
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
- integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-
-domelementtype@1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
- integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-
-domelementtype@^2.0.1, domelementtype@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
- integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
-
-domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
- integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
- dependencies:
- domelementtype "^2.2.0"
-
-domutils@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
- integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-domutils@^2.5.2, domutils@^2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
- integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
- dependencies:
- dom-serializer "^1.0.1"
- domelementtype "^2.2.0"
- domhandler "^4.2.0"
-
-dot-prop@^5.2.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
- dependencies:
- is-obj "^2.0.0"
-
-duplexer3@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e"
- integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==
-
-duplexify@^3.4.2, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
-
-electron-to-chromium@^1.4.601:
- version "1.4.601"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz#cac69868548aee89961ffe63ff5a7716f0685b75"
- integrity sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==
-
-elliptic@^6.5.3, elliptic@^6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
- integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
- dependencies:
- bn.js "^4.11.9"
- brorand "^1.1.0"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.1"
- inherits "^2.0.4"
- minimalistic-assert "^1.0.1"
- minimalistic-crypto-utils "^1.0.1"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-emojis-list@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
- integrity sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==
-
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enhanced-resolve@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
- integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
-
-entities@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
- integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-
-entities@~1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
- integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
-
-envify@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e"
- integrity sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==
- dependencies:
- esprima "^4.0.0"
- through "~2.3.4"
-
-envinfo@^7.2.0:
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f"
- integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==
-
-errno@^0.1.3, errno@~0.1.7:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
- integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
- dependencies:
- prr "~1.0.1"
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-es-abstract@^1.17.2, es-abstract@^1.22.1:
- version "1.22.3"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32"
- integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- arraybuffer.prototype.slice "^1.0.2"
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.5"
- es-set-tostringtag "^2.0.1"
- es-to-primitive "^1.2.1"
- function.prototype.name "^1.1.6"
- get-intrinsic "^1.2.2"
- get-symbol-description "^1.0.0"
- globalthis "^1.0.3"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
- internal-slot "^1.0.5"
- is-array-buffer "^3.0.2"
- is-callable "^1.2.7"
- is-negative-zero "^2.0.2"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
- is-string "^1.0.7"
- is-typed-array "^1.1.12"
- is-weakref "^1.0.2"
- object-inspect "^1.13.1"
- object-keys "^1.1.1"
- object.assign "^4.1.4"
- regexp.prototype.flags "^1.5.1"
- safe-array-concat "^1.0.1"
- safe-regex-test "^1.0.0"
- string.prototype.trim "^1.2.8"
- string.prototype.trimend "^1.0.7"
- string.prototype.trimstart "^1.0.7"
- typed-array-buffer "^1.0.0"
- typed-array-byte-length "^1.0.0"
- typed-array-byte-offset "^1.0.0"
- typed-array-length "^1.0.4"
- unbox-primitive "^1.0.2"
- which-typed-array "^1.1.13"
-
-es-array-method-boxes-properly@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
- integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
-
-es-set-tostringtag@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9"
- integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==
- dependencies:
- get-intrinsic "^1.2.2"
- has-tostringtag "^1.0.0"
- hasown "^2.0.0"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es6-promise@^4.1.0:
- version "4.2.8"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-esbuild-android-arm64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.7.tgz#8c78cbb617f9f216abfb5a84cca453b51421a1b6"
- integrity sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==
-
-esbuild-darwin-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.7.tgz#7424bdb64c104556d36b7429af79ab51415ab8f4"
- integrity sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==
-
-esbuild-darwin-arm64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.7.tgz#6a243dc0132aeb11c1991f968a6a9e393f43c6bc"
- integrity sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==
-
-esbuild-freebsd-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.7.tgz#e7281e50522e724c4da502504dcd75be0db46c94"
- integrity sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==
-
-esbuild-freebsd-arm64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.7.tgz#31e513098efd181d76a3ba3ea285836d37f018a3"
- integrity sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==
-
-esbuild-linux-32@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.7.tgz#82cf96accbf55d3007c3338dc3b3144efa9ae108"
- integrity sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==
-
-esbuild-linux-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.7.tgz#67bdfe23a6ca918a0bb8e9558a3ee0fdf98c0bc0"
- integrity sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==
-
-esbuild-linux-arm64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.7.tgz#f79c69ff0c176559c418de8e59aa3cf388fff992"
- integrity sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==
-
-esbuild-linux-arm@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.7.tgz#3d665b35e1c27dbe1c9deb8bf956d7d1f191a21b"
- integrity sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==
-
-esbuild-linux-mips64le@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.7.tgz#226114a0cc6649ba0ffd3428118a8f622872f16d"
- integrity sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==
-
-esbuild-linux-ppc64le@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.7.tgz#5c67ae56517f2644d567b2ca5ecb97f9520cfc49"
- integrity sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==
-
-esbuild-netbsd-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.7.tgz#69dc0469ea089013956d8c6aa71c9e7fc25fc567"
- integrity sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==
-
-esbuild-openbsd-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.7.tgz#3a9d04ecf820708e2e5b7d26fa7332e3f19f6b6c"
- integrity sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==
-
-esbuild-sunos-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.7.tgz#7c33a682f0fd9565cae7df165d0e8736b7b62623"
- integrity sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==
-
-esbuild-windows-32@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.7.tgz#24ec706a5f25b4499048f56146bcff0ed3839dce"
- integrity sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==
-
-esbuild-windows-64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.7.tgz#dd6d5b5bace93cd7a9174d31fbd727ba21885abf"
- integrity sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==
-
-esbuild-windows-arm64@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.7.tgz#ecfd9ac289606f26760c4f737caaeeadfff3cfe3"
- integrity sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==
-
-esbuild@0.14.7:
- version "0.14.7"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.7.tgz#e85cead55b0e1001abf1b2ce4a11c1d4d709d13c"
- integrity sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==
- optionalDependencies:
- esbuild-android-arm64 "0.14.7"
- esbuild-darwin-64 "0.14.7"
- esbuild-darwin-arm64 "0.14.7"
- esbuild-freebsd-64 "0.14.7"
- esbuild-freebsd-arm64 "0.14.7"
- esbuild-linux-32 "0.14.7"
- esbuild-linux-64 "0.14.7"
- esbuild-linux-arm "0.14.7"
- esbuild-linux-arm64 "0.14.7"
- esbuild-linux-mips64le "0.14.7"
- esbuild-linux-ppc64le "0.14.7"
- esbuild-netbsd-64 "0.14.7"
- esbuild-openbsd-64 "0.14.7"
- esbuild-sunos-64 "0.14.7"
- esbuild-windows-32 "0.14.7"
- esbuild-windows-64 "0.14.7"
- esbuild-windows-arm64 "0.14.7"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-goat@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
- integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
-
-escape-html@^1.0.3, escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-
-eslint-scope@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
- integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esrecurse@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.2.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
-eventemitter3@^4.0.0:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
-events@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
- integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==
-
-events@^3.0.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
- integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-
-eventsource@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508"
- integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==
-
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==
- dependencies:
- debug "^2.3.3"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-express@^4.17.1:
- version "4.18.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
- integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
- dependencies:
- accepts "~1.3.8"
- array-flatten "1.1.1"
- body-parser "1.20.1"
- content-disposition "0.5.4"
- content-type "~1.0.4"
- cookie "0.5.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "2.0.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.2.0"
- fresh "0.5.2"
- http-errors "2.0.0"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.7"
- qs "6.11.0"
- range-parser "~1.2.1"
- safe-buffer "5.2.1"
- send "0.18.0"
- serve-static "1.15.0"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
- integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
- dependencies:
- array-unique "^0.3.2"
- define-property "^1.0.0"
- expand-brackets "^2.1.4"
- extend-shallow "^2.0.1"
- fragment-cache "^0.2.1"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
-
-extsprintf@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
- integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
-
-fast-deep-equal@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^2.2.6:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
- integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
- dependencies:
- "@mrmlnc/readdir-enhanced" "^2.2.1"
- "@nodelib/fs.stat" "^1.1.2"
- glob-parent "^3.1.0"
- is-glob "^4.0.0"
- merge2 "^1.2.3"
- micromatch "^3.1.10"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-faye-websocket@^0.11.3, faye-websocket@^0.11.4:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"
- integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
- dependencies:
- websocket-driver ">=0.5.1"
-
-figgy-pudding@^3.5.1:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
- integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-
-figures@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
- integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
- dependencies:
- escape-string-regexp "^1.0.5"
-
-file-loader@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa"
- integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==
- dependencies:
- loader-utils "^1.0.2"
- schema-utils "^1.0.0"
-
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-finalhandler@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
- integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- statuses "2.0.1"
- unpipe "~1.0.0"
-
-find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-cache-dir@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
- integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
- dependencies:
- commondir "^1.0.1"
- make-dir "^3.0.2"
- pkg-dir "^4.1.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-flush-write-stream@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
- integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.3.6"
-
-follow-redirects@^1.0.0:
- version "1.15.3"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
- integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
-
-for-each@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
-
-for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
- integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==
-
-foreach@^2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e"
- integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-forwarded@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
- integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
-from2@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
- integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
-
-fs-extra@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
- integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-write-stream-atomic@^1.0.8:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
- integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==
- dependencies:
- graceful-fs "^4.1.2"
- iferr "^0.1.5"
- imurmurhash "^0.1.4"
- readable-stream "1 || 2"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@^1.2.7:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
- integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
- dependencies:
- bindings "^1.5.0"
- nan "^2.12.1"
-
-fsevents@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-function-bind@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
- integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
-
-function.prototype.name@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd"
- integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- functions-have-names "^1.2.3"
-
-functions-have-names@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
- integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b"
- integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==
- dependencies:
- function-bind "^1.1.2"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
-
-get-stream@^4.0.0, get-stream@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
-get-stream@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
- integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
- dependencies:
- pump "^3.0.0"
-
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
- integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
- dependencies:
- assert-plus "^1.0.0"
-
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
- integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-to-regexp@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
- integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==
-
-glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-global-dirs@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d"
- integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==
- dependencies:
- ini "1.3.7"
-
-global@^4.3.2:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
- integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
- dependencies:
- min-document "^2.19.0"
- process "^0.11.10"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globalthis@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
- integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
- dependencies:
- define-properties "^1.1.3"
-
-globby@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
- integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==
- dependencies:
- array-union "^1.0.1"
- glob "^7.0.3"
- object-assign "^4.0.1"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
-globby@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
- integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==
- dependencies:
- array-union "^1.0.1"
- dir-glob "^2.0.0"
- glob "^7.1.2"
- ignore "^3.3.5"
- pify "^3.0.0"
- slash "^1.0.0"
-
-globby@^9.2.0:
- version "9.2.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
- integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==
- dependencies:
- "@types/glob" "^7.1.1"
- array-union "^1.0.2"
- dir-glob "^2.2.2"
- fast-glob "^2.2.6"
- glob "^7.1.3"
- ignore "^4.0.3"
- pify "^4.0.1"
- slash "^2.0.0"
-
-gopd@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
- integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
- dependencies:
- get-intrinsic "^1.1.3"
-
-got@^9.6.0:
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
- integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
- dependencies:
- "@sindresorhus/is" "^0.14.0"
- "@szmarczak/http-timer" "^1.1.2"
- cacheable-request "^6.0.0"
- decompress-response "^3.3.0"
- duplexer3 "^0.1.4"
- get-stream "^4.1.0"
- lowercase-keys "^1.0.1"
- mimic-response "^1.0.1"
- p-cancelable "^1.0.0"
- to-readable-stream "^1.0.0"
- url-parse-lax "^3.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
- version "4.2.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
- integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-
-gray-matter@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
- integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
- dependencies:
- js-yaml "^3.13.1"
- kind-of "^6.0.2"
- section-matter "^1.0.0"
- strip-bom-string "^1.0.0"
-
-handle-thing@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
- integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
-
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
- dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
-
-has-bigints@^1.0.1, has-bigints@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
- integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-property-descriptors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
- integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
- dependencies:
- get-intrinsic "^1.2.2"
-
-has-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
- integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
-
-has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
- integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
- integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has-yarn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
- integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
-
-has@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6"
- integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==
-
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash-sum@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
- integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==
-
-hash-sum@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
- integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hasown@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
- integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
- dependencies:
- function-bind "^1.1.2"
-
-he@1.2.x, he@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
- integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-
-hex-color-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
- integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-
-highlight.js@^9.7.0:
- version "9.18.5"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825"
- integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==
-
-hmac-drbg@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-hogan.js@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/hogan.js/-/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd"
- integrity sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==
- dependencies:
- mkdirp "0.3.0"
- nopt "1.0.10"
-
-hpack.js@^2.1.6:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
- integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==
- dependencies:
- inherits "^2.0.1"
- obuf "^1.0.0"
- readable-stream "^2.0.1"
- wbuf "^1.1.0"
-
-hsl-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
- integrity sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==
-
-hsla-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
- integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==
-
-html-entities@^1.3.1:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc"
- integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==
-
-html-minifier@^3.2.3:
- version "3.5.21"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
- integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==
- dependencies:
- camel-case "3.0.x"
- clean-css "4.2.x"
- commander "2.17.x"
- he "1.2.x"
- param-case "2.1.x"
- relateurl "0.2.x"
- uglify-js "3.4.x"
-
-html-tags@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b"
- integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==
-
-html-tags@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
- integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
-
-htmlparser2@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
- integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
- dependencies:
- domelementtype "^2.0.1"
- domhandler "^4.0.0"
- domutils "^2.5.2"
- entities "^2.0.0"
-
-http-cache-semantics@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
- integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
-
-http-deceiver@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
- integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
-
-http-errors@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
- integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
- dependencies:
- depd "2.0.0"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- toidentifier "1.0.1"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-http-parser-js@>=0.5.1:
- version "0.5.8"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3"
- integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==
-
-http-proxy-middleware@0.19.1:
- version "0.19.1"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
- integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
- dependencies:
- http-proxy "^1.17.0"
- is-glob "^4.0.0"
- lodash "^4.17.11"
- micromatch "^3.1.10"
-
-http-proxy-middleware@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665"
- integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==
- dependencies:
- "@types/http-proxy" "^1.17.5"
- http-proxy "^1.18.1"
- is-glob "^4.0.1"
- is-plain-obj "^3.0.0"
- micromatch "^4.0.2"
-
-http-proxy@^1.17.0, http-proxy@^1.18.1:
- version "1.18.1"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
- integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
- dependencies:
- eventemitter3 "^4.0.0"
- follow-redirects "^1.0.0"
- requires-port "^1.0.0"
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
- integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
-
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-icss-replace-symbols@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
- integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==
-
-icss-utils@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
- integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
- dependencies:
- postcss "^7.0.14"
-
-ieee754@^1.1.4:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-iferr@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
- integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==
-
-ignore@^3.3.5:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
- integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-
-ignore@^4.0.3:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
- integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-
-immediate@^3.2.3:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266"
- integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==
-
-import-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
- integrity sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==
- dependencies:
- import-from "^2.1.0"
-
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
-import-from@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
- integrity sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==
- dependencies:
- resolve-from "^3.0.0"
-
-import-lazy@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
- integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==
-
-import-local@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
- integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
- dependencies:
- pkg-dir "^3.0.0"
- resolve-cwd "^2.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-indexes-of@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
- integrity sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==
-
-infer-owner@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
- integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
-
-ini@1.3.7:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
- integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
-
-ini@~1.3.0:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-internal-ip@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
- integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==
- dependencies:
- default-gateway "^4.2.0"
- ipaddr.js "^1.9.0"
-
-internal-slot@^1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930"
- integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==
- dependencies:
- get-intrinsic "^1.2.2"
- hasown "^2.0.0"
- side-channel "^1.0.4"
-
-ip-regex@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
- integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==
-
-ip@^1.1.0, ip@^1.1.5:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48"
- integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==
-
-ipaddr.js@1.9.1, ipaddr.js@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-is-absolute-url@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
- integrity sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==
-
-is-absolute-url@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
- integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
-
-is-accessor-descriptor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4"
- integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==
- dependencies:
- hasown "^2.0.0"
-
-is-arguments@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
- integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.0"
- is-typed-array "^1.1.10"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
-is-bigint@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
- integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
- dependencies:
- has-bigints "^1.0.1"
-
-is-binary-path@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
- integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==
- dependencies:
- binary-extensions "^1.0.0"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-boolean-object@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
- integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
- integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
- integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-
-is-ci@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
- integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
- dependencies:
- ci-info "^2.0.0"
-
-is-color-stop@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
- integrity sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==
- dependencies:
- css-color-names "^0.0.4"
- hex-color-regex "^1.1.0"
- hsl-regex "^1.0.0"
- hsla-regex "^1.0.0"
- rgb-regex "^1.0.1"
- rgba-regex "^1.0.0"
-
-is-core-module@^2.13.0:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
- integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
- dependencies:
- hasown "^2.0.0"
-
-is-data-descriptor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb"
- integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==
- dependencies:
- hasown "^2.0.0"
-
-is-date-object@^1.0.1, is-date-object@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-descriptor@^0.1.0:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33"
- integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==
- dependencies:
- is-accessor-descriptor "^1.0.1"
- is-data-descriptor "^1.0.1"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306"
- integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==
- dependencies:
- is-accessor-descriptor "^1.0.1"
- is-data-descriptor "^1.0.1"
-
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
- integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
- integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
- dependencies:
- is-extglob "^2.1.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-installed-globally@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
- integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
- dependencies:
- global-dirs "^2.0.1"
- is-path-inside "^3.0.1"
-
-is-negative-zero@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
- integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
-
-is-npm@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
- integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
-
-is-number-object@^1.0.4:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
- integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-path-cwd@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-
-is-path-in-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
- integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
- dependencies:
- is-path-inside "^2.1.0"
-
-is-path-inside@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
- integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
- dependencies:
- path-is-inside "^1.0.2"
-
-is-path-inside@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
- integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
-is-plain-obj@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-
-is-plain-obj@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
- integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
-
-is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-regex@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-resolvable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
- integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
-
-is-shared-array-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
- integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
- dependencies:
- call-bind "^1.0.2"
-
-is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
-
-is-string@^1.0.5, is-string@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
- integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
- integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
- dependencies:
- has-symbols "^1.0.2"
-
-is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
- integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
- dependencies:
- which-typed-array "^1.1.11"
-
-is-typedarray@^1.0.0, is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
-
-is-weakref@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
- integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
- dependencies:
- call-bind "^1.0.2"
-
-is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
- integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
- integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
-
-is-yarn-global@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
- integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
-
-isarray@^2.0.1, isarray@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
-
-javascript-stringify@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3"
- integrity sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==
-
-javascript-stringify@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79"
- integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==
-
-js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
- integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-
-json-buffer@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
- integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
-
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
- integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
-
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
-
-json5@^0.5.0:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
- integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==
-
-json5@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
- integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2, json5@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
- integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsprim@^1.2.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
- integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.4.0"
- verror "1.10.0"
-
-keyv@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
- integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
- dependencies:
- json-buffer "3.0.0"
-
-killable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
- integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
- integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
- integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
-last-call-webpack-plugin@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555"
- integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==
- dependencies:
- lodash "^4.17.5"
- webpack-sources "^1.1.0"
-
-latest-version@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
- integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
- dependencies:
- package-json "^6.3.0"
-
-linkify-it@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf"
- integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==
- dependencies:
- uc.micro "^1.0.1"
-
-load-script@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4"
- integrity sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==
-
-loader-runner@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@^0.2.16:
- version "0.2.17"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
- integrity sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==
- dependencies:
- big.js "^3.1.3"
- emojis-list "^2.0.0"
- json5 "^0.5.0"
- object-assign "^4.0.1"
-
-loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3"
- integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
-
-loader-utils@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
- integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^2.1.2"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash._reinterpolate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
- integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
-
-lodash.clonedeep@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
- integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
-lodash.kebabcase@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
- integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==
-
-lodash.memoize@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
- integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
-
-lodash.template@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
- integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
- dependencies:
- lodash._reinterpolate "^3.0.0"
- lodash.templatesettings "^4.0.0"
-
-lodash.templatesettings@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
- integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
- dependencies:
- lodash._reinterpolate "^3.0.0"
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
- integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
-
-lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5:
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-loglevel@^1.6.8:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4"
- integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==
-
-lower-case@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
- integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==
-
-lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
- integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-
-lowercase-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
- integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-
-lru-cache@^4.1.2:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-make-dir@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
- integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==
- dependencies:
- object-visit "^1.0.0"
-
-markdown-it-anchor@^5.0.2:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744"
- integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==
-
-markdown-it-chain@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz#ccf6fe86c10266bafb4e547380dfd7f277cc17bc"
- integrity sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==
- dependencies:
- webpack-chain "^4.9.0"
-
-markdown-it-container@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-2.0.0.tgz#0019b43fd02eefece2f1960a2895fba81a404695"
- integrity sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA==
-
-markdown-it-emoji@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz#9bee0e9a990a963ba96df6980c4fddb05dfb4dcc"
- integrity sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg==
-
-markdown-it-table-of-contents@^0.4.0:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz#3dc7ce8b8fc17e5981c77cc398d1782319f37fbc"
- integrity sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==
-
-markdown-it@^8.4.1:
- version "8.4.2"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54"
- integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==
- dependencies:
- argparse "^1.0.7"
- entities "~1.1.1"
- linkify-it "^2.0.0"
- mdurl "^1.0.1"
- uc.micro "^1.0.5"
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdn-data@2.0.14:
- version "2.0.14"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
- integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
-
-mdn-data@2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
- integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
-
-mdurl@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
- integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-memory-fs@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
- integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
- integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
-
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
- dependencies:
- source-map "^0.6.1"
-
-merge2@^1.2.3:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-
-micromatch@^3.1.10, micromatch@^3.1.4:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- braces "^2.3.1"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- extglob "^2.0.4"
- fragment-cache "^0.2.1"
- kind-of "^6.0.2"
- nanomatch "^1.2.9"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.2"
-
-micromatch@^4.0.2:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
- integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
-mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
- version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
- version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
- integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
- dependencies:
- mime-db "1.52.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mime@^2.0.3, mime@^2.4.4:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
- integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
-
-mimic-response@^1.0.0, mimic-response@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
-min-document@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
- integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==
- dependencies:
- dom-walk "^0.1.0"
-
-mini-css-extract-plugin@0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz#a3f13372d6fcde912f3ee4cd039665704801e3b9"
- integrity sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==
- dependencies:
- loader-utils "^1.1.0"
- normalize-url "^2.0.1"
- schema-utils "^1.0.0"
- webpack-sources "^1.1.0"
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
-
-minimatch@^3.0.4, minimatch@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@^1.2.0, minimist@^1.2.6:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
- integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-
-mississippi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
- integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
- dependencies:
- concat-stream "^1.5.0"
- duplexify "^3.4.2"
- end-of-stream "^1.1.0"
- flush-write-stream "^1.0.0"
- from2 "^2.1.0"
- parallel-transform "^1.1.0"
- pump "^3.0.0"
- pumpify "^1.3.3"
- stream-each "^1.1.0"
- through2 "^2.0.0"
-
-mixin-deep@^1.2.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
- integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
- integrity sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==
-
-mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.6, mkdirp@~0.5.1:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
- integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
- dependencies:
- minimist "^1.2.6"
-
-mkdirp@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-move-concurrently@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
- integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==
- dependencies:
- aproba "^1.1.1"
- copy-concurrently "^1.0.0"
- fs-write-stream-atomic "^1.0.8"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.3"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@2.1.3, ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-multicast-dns-service-types@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
- integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==
-
-multicast-dns@^6.0.1:
- version "6.2.3"
- resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229"
- integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==
- dependencies:
- dns-packet "^1.3.1"
- thunky "^1.0.2"
-
-nan@^2.12.1:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
- integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
-
-nanoid@^3.3.7:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
- integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
- integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- fragment-cache "^0.2.1"
- is-windows "^1.0.2"
- kind-of "^6.0.2"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-negotiator@0.6.3:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
- integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-
-neo-async@^2.5.0, neo-async@^2.6.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
- integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-no-case@^2.2.0:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
- integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
- dependencies:
- lower-case "^1.1.1"
-
-node-forge@^0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
- integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
-
-node-libs-browser@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^3.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.1"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.11.0"
- vm-browserify "^1.0.1"
-
-node-releases@^2.0.14:
- version "2.0.14"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
- integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
-
-nopt@1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
- integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==
- dependencies:
- abbrev "1"
-
-normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
-
-normalize-url@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6"
- integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==
- dependencies:
- prepend-http "^2.0.0"
- query-string "^5.0.1"
- sort-keys "^2.0.0"
-
-normalize-url@^3.0.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
- integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-
-normalize-url@^4.1.0:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
- integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
- dependencies:
- path-key "^2.0.0"
-
-nprogress@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
- integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
-
-nth-check@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
- integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
- dependencies:
- boolbase "~1.0.0"
-
-nth-check@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
- integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
- dependencies:
- boolbase "^1.0.0"
-
-num2fraction@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
- integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4.0.1, object-assign@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-inspect@^1.13.1, object-inspect@^1.9.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
- integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
-
-object-is@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-object-keys@^1.0.11, object-keys@^1.1.0, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==
- dependencies:
- isobject "^3.0.0"
-
-object.assign@^4.1.0, object.assign@^4.1.4:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0"
- integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==
- dependencies:
- call-bind "^1.0.5"
- define-properties "^1.2.1"
- has-symbols "^1.0.3"
- object-keys "^1.1.1"
-
-object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
- version "2.1.7"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a"
- integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==
- dependencies:
- array.prototype.reduce "^1.0.6"
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- safe-array-concat "^1.0.0"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==
- dependencies:
- isobject "^3.0.1"
-
-object.values@^1.1.0:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a"
- integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-obuf@^1.0.0, obuf@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
- integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
-
-on-finished@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
- integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
- integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-opencollective-postinstall@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
- integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
-
-opn@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
- integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==
- dependencies:
- is-wsl "^1.1.0"
-
-optimize-css-assets-webpack-plugin@^5.0.1:
- version "5.0.8"
- resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz#cbccdcf5a6ef61d4f8cc78cf083a67446e5f402a"
- integrity sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==
- dependencies:
- cssnano "^4.1.10"
- last-call-webpack-plugin "^3.0.0"
-
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
- integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
-
-p-cancelable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
- integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
-
-p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-map@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
- integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
-
-p-retry@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328"
- integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==
- dependencies:
- retry "^0.12.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-package-json@^6.3.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
- integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
- dependencies:
- got "^9.6.0"
- registry-auth-token "^4.0.0"
- registry-url "^5.0.0"
- semver "^6.2.0"
-
-pako@~1.0.5:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
- integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
-
-parallel-transform@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
- integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
- dependencies:
- cyclist "^1.0.1"
- inherits "^2.0.3"
- readable-stream "^2.1.5"
-
-param-case@2.1.x:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
- integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==
- dependencies:
- no-case "^2.2.0"
-
-parse-asn1@^5.0.0, parse-asn1@^5.1.6:
- version "5.1.6"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
- integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
- dependencies:
- asn1.js "^5.2.0"
- browserify-aes "^1.0.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
- safe-buffer "^5.1.1"
-
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parseurl@~1.3.2, parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
- integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==
-
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
- integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-is-inside@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
- integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==
-
-path-key@^2.0.0, path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
- integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
-
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
-
-pbkdf2@^3.0.3:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
- integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
-
-picocolors@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
- integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pify@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-portfinder@^1.0.13, portfinder@^1.0.26:
- version "1.0.32"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81"
- integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==
- dependencies:
- async "^2.6.4"
- debug "^3.2.7"
- mkdirp "^0.5.6"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
- integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
-
-postcss-calc@^7.0.1:
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e"
- integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==
- dependencies:
- postcss "^7.0.27"
- postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.0.2"
-
-postcss-colormin@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
- integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
- dependencies:
- browserslist "^4.0.0"
- color "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-convert-values@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
- integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-discard-comments@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
- integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-duplicates@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
- integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-empty@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
- integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-overridden@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
- integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-load-config@^2.0.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a"
- integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
- dependencies:
- cosmiconfig "^5.0.0"
- import-cwd "^2.0.0"
-
-postcss-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
- integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
- dependencies:
- loader-utils "^1.1.0"
- postcss "^7.0.0"
- postcss-load-config "^2.0.0"
- schema-utils "^1.0.0"
-
-postcss-merge-longhand@^4.0.11:
- version "4.0.11"
- resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
- integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
- dependencies:
- css-color-names "0.0.4"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- stylehacks "^4.0.0"
-
-postcss-merge-rules@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
- integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
- dependencies:
- browserslist "^4.0.0"
- caniuse-api "^3.0.0"
- cssnano-util-same-parent "^4.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
- vendors "^1.0.0"
-
-postcss-minify-font-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
- integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-gradients@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
- integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- is-color-stop "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-params@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
- integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
- dependencies:
- alphanum-sort "^1.0.0"
- browserslist "^4.0.0"
- cssnano-util-get-arguments "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- uniqs "^2.0.0"
-
-postcss-minify-selectors@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
- integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
- dependencies:
- alphanum-sort "^1.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-postcss-modules-extract-imports@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
- integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
- dependencies:
- postcss "^7.0.5"
-
-postcss-modules-local-by-default@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63"
- integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==
- dependencies:
- postcss "^7.0.6"
- postcss-selector-parser "^6.0.0"
- postcss-value-parser "^3.3.1"
-
-postcss-modules-scope@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
- integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
- dependencies:
- postcss "^7.0.6"
- postcss-selector-parser "^6.0.0"
-
-postcss-modules-values@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64"
- integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==
- dependencies:
- icss-replace-symbols "^1.1.0"
- postcss "^7.0.6"
-
-postcss-normalize-charset@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
- integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
- dependencies:
- postcss "^7.0.0"
-
-postcss-normalize-display-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
- integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-positions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
- integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-repeat-style@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
- integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-string@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
- integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
- dependencies:
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-timing-functions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
- integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-unicode@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
- integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-url@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
- integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^3.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-whitespace@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
- integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-ordered-values@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
- integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-reduce-initial@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
- integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
- dependencies:
- browserslist "^4.0.0"
- caniuse-api "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
-
-postcss-reduce-transforms@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
- integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-safe-parser@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96"
- integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
- dependencies:
- postcss "^7.0.26"
-
-postcss-selector-parser@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
- integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
- dependencies:
- dot-prop "^5.2.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
- version "6.0.13"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
- integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-svgo@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e"
- integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- svgo "^1.0.0"
-
-postcss-unique-selectors@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
- integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
- dependencies:
- alphanum-sort "^1.0.0"
- postcss "^7.0.0"
- uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
- integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6:
- version "7.0.39"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
- integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
- dependencies:
- picocolors "^0.2.1"
- source-map "^0.6.1"
-
-postcss@^8.4.14:
- version "8.4.32"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9"
- integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-prepend-http@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
- integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==
-
-"prettier@^1.18.2 || ^2.0.0":
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
- integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
-
-pretty-error@^2.0.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6"
- integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==
- dependencies:
- lodash "^4.17.20"
- renderkid "^2.0.4"
-
-pretty-time@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
- integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
-
-prismjs@^1.13.0:
- version "1.29.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
- integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-process@^0.11.10:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
- integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
-
-promise-inflight@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
- integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
-
-proxy-addr@~2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
- integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
- dependencies:
- forwarded "0.2.0"
- ipaddr.js "1.9.1"
-
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
- integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
-
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
- integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==
-
-psl@^1.1.28:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
- integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
-
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
- safe-buffer "^5.1.2"
-
-pump@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
- integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
-punycode@^1.2.4, punycode@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
- integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
- integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-pupa@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
- integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
- dependencies:
- escape-goat "^2.0.0"
-
-q@^1.1.2:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-
-qs@6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
- integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
- dependencies:
- side-channel "^1.0.4"
-
-qs@^6.11.2:
- version "6.11.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9"
- integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
- dependencies:
- side-channel "^1.0.4"
-
-qs@~6.5.2:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
- integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
-
-query-string@^5.0.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
- integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==
- dependencies:
- decode-uri-component "^0.2.0"
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0, querystring-es3@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
- integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
-
-querystringify@^2.1.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
- integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
-
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
- integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
-range-parser@^1.2.1, range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
- integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-rc@1.2.8, rc@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
- integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-readable-stream@^3.0.6, readable-stream@^3.6.0, readable-stream@^3.6.2:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
- integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
- dependencies:
- graceful-fs "^4.1.11"
- micromatch "^3.1.10"
- readable-stream "^2.0.2"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-reduce@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b"
- integrity sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==
- dependencies:
- object-keys "^1.1.0"
-
-regenerate-unicode-properties@^10.1.0:
- version "10.1.1"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480"
- integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==
- dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
- integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
-
-regenerator-transform@^0.15.2:
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4"
- integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
- integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexp.prototype.flags@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e"
- integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- set-function-name "^2.0.0"
-
-regexpu-core@^5.3.1:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b"
- integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==
- dependencies:
- "@babel/regjsgen" "^0.8.0"
- regenerate "^1.4.2"
- regenerate-unicode-properties "^10.1.0"
- regjsparser "^0.9.1"
- unicode-match-property-ecmascript "^2.0.0"
- unicode-match-property-value-ecmascript "^2.1.0"
-
-registry-auth-token@^4.0.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac"
- integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==
- dependencies:
- rc "1.2.8"
-
-registry-url@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
- integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
- dependencies:
- rc "^1.2.8"
-
-regjsparser@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709"
- integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
- dependencies:
- jsesc "~0.5.0"
-
-relateurl@0.2.x:
- version "0.2.7"
- resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
- integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
- integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
-
-renderkid@^2.0.4:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609"
- integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==
- dependencies:
- css-select "^4.1.3"
- dom-converter "^0.2.0"
- htmlparser2 "^6.1.0"
- lodash "^4.17.21"
- strip-ansi "^3.0.1"
-
-repeat-element@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
- integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
-
-repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
- integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
-
-request@^2.87.0:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-requires-port@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
- integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
-
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
- integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
-
-resolve@^1.14.2, resolve@^1.22.0:
- version "1.22.8"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
- integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-responselike@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
- integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==
- dependencies:
- lowercase-keys "^1.0.0"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
- integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-
-retry@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
- integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==
-
-rgb-regex@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
- integrity sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==
-
-rgba-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
- integrity sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==
-
-rimraf@^2.5.4, rimraf@^2.6.3:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-run-queue@^1.0.0, run-queue@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
- integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==
- dependencies:
- aproba "^1.1.1"
-
-safe-array-concat@^1.0.0, safe-array-concat@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c"
- integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.1"
- has-symbols "^1.0.3"
- isarray "^2.0.5"
-
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-regex-test@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
- integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.3"
- is-regex "^1.1.4"
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sax@~1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
- integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
-schema-utils@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
- integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
- dependencies:
- ajv "^6.1.0"
- ajv-errors "^1.0.0"
- ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.5:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
- integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
- dependencies:
- "@types/json-schema" "^7.0.5"
- ajv "^6.12.4"
- ajv-keywords "^3.5.2"
-
-section-matter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
- integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
- dependencies:
- extend-shallow "^2.0.1"
- kind-of "^6.0.0"
-
-select-hose@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
- integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==
-
-selfsigned@^1.10.8:
- version "1.10.14"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574"
- integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==
- dependencies:
- node-forge "^0.10.0"
-
-semver-diff@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
- integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
- dependencies:
- semver "^6.3.0"
-
-semver@^5.1.0, semver@^5.5.0, semver@^5.6.0:
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
- integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-
-semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-send@0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
- integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
- dependencies:
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "2.0.0"
- mime "1.6.0"
- ms "2.1.3"
- on-finished "2.4.1"
- range-parser "~1.2.1"
- statuses "2.0.1"
-
-serialize-javascript@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
- integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
- dependencies:
- randombytes "^2.1.0"
-
-serialize-javascript@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
- integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
- dependencies:
- randombytes "^2.1.0"
-
-serve-index@^1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
- integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==
- dependencies:
- accepts "~1.3.4"
- batch "0.6.1"
- debug "2.6.9"
- escape-html "~1.0.3"
- http-errors "~1.6.2"
- mime-types "~2.1.17"
- parseurl "~1.3.2"
-
-serve-static@1.15.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
- integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.18.0"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
-set-function-length@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
- integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==
- dependencies:
- define-data-property "^1.1.1"
- get-intrinsic "^1.2.1"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
-
-set-function-name@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a"
- integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==
- dependencies:
- define-data-property "^1.0.1"
- functions-have-names "^1.2.3"
- has-property-descriptors "^1.0.0"
-
-set-value@^2.0.0, set-value@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
- integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
- integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
-
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
-
-side-channel@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
- integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
- dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
-
-signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
- integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
- dependencies:
- is-arrayish "^0.3.1"
-
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
- integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==
-
-slash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
- integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-
-smoothscroll-polyfill@^0.4.3:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz#3a259131dc6930e6ca80003e1cb03b603b69abf8"
- integrity sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
- integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
- integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
- dependencies:
- base "^0.11.1"
- debug "^2.2.0"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- map-cache "^0.2.2"
- source-map "^0.5.6"
- source-map-resolve "^0.5.0"
- use "^3.1.0"
-
-sockjs-client@^1.5.0:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.6.1.tgz#350b8eda42d6d52ddc030c39943364c11dcad806"
- integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==
- dependencies:
- debug "^3.2.7"
- eventsource "^2.0.2"
- faye-websocket "^0.11.4"
- inherits "^2.0.4"
- url-parse "^1.5.10"
-
-sockjs@^0.3.21:
- version "0.3.24"
- resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
- integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==
- dependencies:
- faye-websocket "^0.11.3"
- uuid "^8.3.2"
- websocket-driver "^0.7.4"
-
-sort-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
- integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==
- dependencies:
- is-plain-obj "^1.0.0"
-
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
- integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
- dependencies:
- atob "^2.1.2"
- decode-uri-component "^0.2.0"
- resolve-url "^0.2.1"
- source-map-url "^0.4.0"
- urix "^0.1.0"
-
-source-map-support@~0.5.12:
- version "0.5.21"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
- integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-url@^0.4.0:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
- integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
-
-source-map@0.5.6:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
- integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==
-
-source-map@^0.5.6:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-source-map@^0.7.3:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656"
- integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
-
-spdy-transport@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
- integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
- dependencies:
- debug "^4.1.0"
- detect-node "^2.0.4"
- hpack.js "^2.1.6"
- obuf "^1.1.2"
- readable-stream "^3.0.6"
- wbuf "^1.7.3"
-
-spdy@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
- integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
- dependencies:
- debug "^4.1.0"
- handle-thing "^2.0.0"
- http-deceiver "^1.2.7"
- select-hose "^2.0.0"
- spdy-transport "^3.0.0"
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
- integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-
-sshpk@^1.7.0:
- version "1.18.0"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028"
- integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-ssri@^6.0.1:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
- integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
- dependencies:
- figgy-pudding "^3.5.1"
-
-stable@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
- integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-
-stack-utils@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b"
- integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==
- dependencies:
- escape-string-regexp "^2.0.0"
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-
-std-env@^2.2.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.1.tgz#d42271908819c243f8defc77a140fc1fcee336a1"
- integrity sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==
- dependencies:
- ci-info "^3.1.1"
-
-stream-browserify@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
- integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
-stream-each@^1.1.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
- integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
- dependencies:
- end-of-stream "^1.1.0"
- stream-shift "^1.0.0"
-
-stream-http@^2.7.2:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
- integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
- integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string-width@^4.0.0, string-width@^4.1.0:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-string.prototype.trim@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
- integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string.prototype.trimend@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e"
- integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string.prototype.trimstart@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298"
- integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string_decoder@^1.0.0, string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-bom-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
- integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
-
-stylehacks@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
- integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-stylus-loader@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6"
- integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==
- dependencies:
- loader-utils "^1.0.2"
- lodash.clonedeep "^4.5.0"
- when "~3.6.x"
-
-stylus@^0.54.8:
- version "0.54.8"
- resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147"
- integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==
- dependencies:
- css-parse "~2.0.0"
- debug "~3.1.0"
- glob "^7.1.6"
- mkdirp "~1.0.4"
- safer-buffer "^2.1.2"
- sax "~1.2.4"
- semver "^6.3.0"
- source-map "^0.7.3"
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-svg-tags@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
- integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
-
-svgo@^1.0.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
- integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
- dependencies:
- chalk "^2.4.1"
- coa "^2.0.2"
- css-select "^2.0.0"
- css-select-base-adapter "^0.1.1"
- css-tree "1.0.0-alpha.37"
- csso "^4.0.2"
- js-yaml "^3.13.1"
- mkdirp "~0.5.1"
- object.values "^1.1.0"
- sax "~1.2.4"
- stable "^0.1.8"
- unquote "~1.1.1"
- util.promisify "~1.0.0"
-
-tapable@^1.0.0, tapable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
-term-size@^2.1.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54"
- integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==
-
-terser-webpack-plugin@^1.4.3:
- version "1.4.5"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b"
- integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
- dependencies:
- cacache "^12.0.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^4.0.0"
- source-map "^0.6.1"
- terser "^4.1.2"
- webpack-sources "^1.4.0"
- worker-farm "^1.7.0"
-
-terser@^4.1.2:
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f"
- integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==
- dependencies:
- commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-through2@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-through@~2.3.4:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-
-thunky@^1.0.2:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
- integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
-
-timers-browserify@^2.0.4:
- version "2.0.12"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
- integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
- dependencies:
- setimmediate "^1.0.4"
-
-timsort@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
- integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==
-
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
- integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==
-
-to-factory@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/to-factory/-/to-factory-1.0.0.tgz#8738af8bd97120ad1d4047972ada5563bf9479b1"
- integrity sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
- integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==
- dependencies:
- kind-of "^3.0.2"
-
-to-readable-stream@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
- integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
- integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
- integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-toidentifier@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
- integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
-toml@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
- integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
-
-toposort@^1.0.0:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
- integrity sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
- integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
-
-type-fest@^0.21.3:
- version "0.21.3"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
- integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
-
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-typed-array-buffer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
- integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
- integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-offset@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
- integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-length@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
- integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- is-typed-array "^1.1.9"
-
-typedarray-to-buffer@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-
-uc.micro@^1.0.1, uc.micro@^1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
- integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
-
-uglify-js@3.4.x:
- version "3.4.10"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
- integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==
- dependencies:
- commander "~2.19.0"
- source-map "~0.6.1"
-
-unbox-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
- integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
- dependencies:
- call-bind "^1.0.2"
- has-bigints "^1.0.2"
- has-symbols "^1.0.3"
- which-boxed-primitive "^1.0.2"
-
-undici-types@~5.26.4:
- version "5.26.5"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
- integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
- integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
- integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
- dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0"
- integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
- integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
-
-union-value@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
- integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^2.0.1"
-
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
- integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==
-
-uniqs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
- integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==
-
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
- dependencies:
- unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
- dependencies:
- imurmurhash "^0.1.4"
-
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-unquote@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
- integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-upath@^1.1.0, upath@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
- integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-
-update-browserslist-db@^1.0.13:
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
- integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-update-notifier@^4.0.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3"
- integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==
- dependencies:
- boxen "^4.2.0"
- chalk "^3.0.0"
- configstore "^5.0.1"
- has-yarn "^2.1.0"
- import-lazy "^2.1.0"
- is-ci "^2.0.0"
- is-installed-globally "^0.3.1"
- is-npm "^4.0.0"
- is-yarn-global "^0.3.0"
- latest-version "^5.0.0"
- pupa "^2.0.1"
- semver-diff "^3.1.1"
- xdg-basedir "^4.0.0"
-
-upper-case@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
- integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
- integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
-
-url-loader@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8"
- integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==
- dependencies:
- loader-utils "^1.1.0"
- mime "^2.0.3"
- schema-utils "^1.0.0"
-
-url-parse-lax@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
- integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==
- dependencies:
- prepend-http "^2.0.0"
-
-url-parse@^1.5.10:
- version "1.5.10"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
- integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
- dependencies:
- querystringify "^2.1.1"
- requires-port "^1.0.0"
-
-url@^0.11.0:
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad"
- integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==
- dependencies:
- punycode "^1.4.1"
- qs "^6.11.2"
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
- integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-util.promisify@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
- integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
- dependencies:
- define-properties "^1.1.2"
- object.getownpropertydescriptors "^2.0.3"
-
-util.promisify@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
- integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.2"
- has-symbols "^1.0.1"
- object.getownpropertydescriptors "^2.1.0"
-
-util@^0.10.4:
- version "0.10.4"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
- integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
- dependencies:
- inherits "2.0.3"
-
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
-utila@~0.4:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
- integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-
-uuid@^3.3.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
-vendors@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
- integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-vm-browserify@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
- integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-
-vue-hot-reload-api@^2.3.0:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
- integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
-
-vue-loader@^15.7.1:
- version "15.11.1"
- resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.11.1.tgz#dee91169211276ed43c5715caef88a56b1f497b0"
- integrity sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==
- dependencies:
- "@vue/component-compiler-utils" "^3.1.0"
- hash-sum "^1.0.2"
- loader-utils "^1.1.0"
- vue-hot-reload-api "^2.3.0"
- vue-style-loader "^4.1.0"
-
-vue-router@^3.4.5:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.6.5.tgz#95847d52b9a7e3f1361cb605c8e6441f202afad8"
- integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==
-
-vue-server-renderer@^2.6.10:
- version "2.7.15"
- resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.7.15.tgz#814fe0bb309843e5d3e343d456f7e449dbc2cd5e"
- integrity sha512-5Wy6ls7ErawmgxlogoScTDOQzqBp4+B9CKV1Dl4280xVPBs1+iHpghW1nlKNd1JWKI3O2s4X4vwmg1C7Rvy7oA==
- dependencies:
- chalk "^4.1.2"
- hash-sum "^2.0.0"
- he "^1.2.0"
- lodash.template "^4.5.0"
- lodash.uniq "^4.5.0"
- resolve "^1.22.0"
- serialize-javascript "^6.0.0"
- source-map "0.5.6"
-
-vue-style-loader@^4.1.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"
- integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==
- dependencies:
- hash-sum "^1.0.2"
- loader-utils "^1.0.2"
-
-vue-template-compiler@^2.6.10:
- version "2.7.15"
- resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.15.tgz#ec88ba8ceafe0f17a528b89c57e01e02da92b0de"
- integrity sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==
- dependencies:
- de-indent "^1.0.2"
- he "^1.2.0"
-
-vue-template-es2015-compiler@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
- integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
-
-vue@^2.6.10:
- version "2.7.15"
- resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.15.tgz#94cd34e6e9f22cd2d35a02143f96a5beac1c1f54"
- integrity sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==
- dependencies:
- "@vue/compiler-sfc" "2.7.15"
- csstype "^3.1.0"
-
-vuepress-html-webpack-plugin@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz#219be272ad510faa8750d2d4e70fd028bfd1c16e"
- integrity sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==
- dependencies:
- html-minifier "^3.2.3"
- loader-utils "^0.2.16"
- lodash "^4.17.3"
- pretty-error "^2.0.2"
- tapable "^1.0.0"
- toposort "^1.0.0"
- util.promisify "1.0.0"
-
-vuepress-plugin-container@^2.0.2:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz#37fff05662fedbd63ffd3a5463b2592c7a7f3133"
- integrity sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==
- dependencies:
- "@vuepress/shared-utils" "^1.2.0"
- markdown-it-container "^2.0.0"
-
-vuepress-plugin-smooth-scroll@^0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz#6eff2d4c186cca917cc9f7df2b0af7de7c8c6438"
- integrity sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==
- dependencies:
- smoothscroll-polyfill "^0.4.3"
-
-vuepress@1.9.10:
- version "1.9.10"
- resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.9.10.tgz#14700fccd85bc56c810cf367ecc797fcbecc7c0f"
- integrity sha512-UnGm9vjQvG918SZVNvgiUlNimLqawdYPq0aPRXDpEB1VksvqegVFy/GKdA8ShXJaEpOMPSt7YD4uK21jaMs3kA==
- dependencies:
- "@vuepress/core" "1.9.10"
- "@vuepress/theme-default" "1.9.10"
- "@vuepress/types" "1.9.10"
- cac "^6.5.6"
- envinfo "^7.2.0"
- opencollective-postinstall "^2.0.2"
- update-notifier "^4.0.0"
-
-watchpack-chokidar2@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957"
- integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
- dependencies:
- chokidar "^2.1.8"
-
-watchpack@^1.7.4:
- version "1.7.5"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453"
- integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
- dependencies:
- graceful-fs "^4.1.2"
- neo-async "^2.5.0"
- optionalDependencies:
- chokidar "^3.4.1"
- watchpack-chokidar2 "^2.0.1"
-
-wbuf@^1.1.0, wbuf@^1.7.3:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
- integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
- dependencies:
- minimalistic-assert "^1.0.0"
-
-webpack-chain@^4.9.0:
- version "4.12.1"
- resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-4.12.1.tgz#6c8439bbb2ab550952d60e1ea9319141906c02a6"
- integrity sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==
- dependencies:
- deepmerge "^1.5.2"
- javascript-stringify "^1.6.0"
-
-webpack-chain@^6.0.0:
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206"
- integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==
- dependencies:
- deepmerge "^1.5.2"
- javascript-stringify "^2.0.1"
-
-webpack-dev-middleware@^3.7.2:
- version "3.7.3"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5"
- integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==
- dependencies:
- memory-fs "^0.4.1"
- mime "^2.4.4"
- mkdirp "^0.5.1"
- range-parser "^1.2.1"
- webpack-log "^2.0.0"
-
-webpack-dev-server@^3.5.1:
- version "3.11.3"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3"
- integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==
- dependencies:
- ansi-html-community "0.0.8"
- bonjour "^3.5.0"
- chokidar "^2.1.8"
- compression "^1.7.4"
- connect-history-api-fallback "^1.6.0"
- debug "^4.1.1"
- del "^4.1.1"
- express "^4.17.1"
- html-entities "^1.3.1"
- http-proxy-middleware "0.19.1"
- import-local "^2.0.0"
- internal-ip "^4.3.0"
- ip "^1.1.5"
- is-absolute-url "^3.0.3"
- killable "^1.0.1"
- loglevel "^1.6.8"
- opn "^5.5.0"
- p-retry "^3.0.1"
- portfinder "^1.0.26"
- schema-utils "^1.0.0"
- selfsigned "^1.10.8"
- semver "^6.3.0"
- serve-index "^1.9.1"
- sockjs "^0.3.21"
- sockjs-client "^1.5.0"
- spdy "^4.0.2"
- strip-ansi "^3.0.1"
- supports-color "^6.1.0"
- url "^0.11.0"
- webpack-dev-middleware "^3.7.2"
- webpack-log "^2.0.0"
- ws "^6.2.1"
- yargs "^13.3.2"
-
-webpack-log@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
- integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
- dependencies:
- ansi-colors "^3.0.0"
- uuid "^3.3.2"
-
-webpack-merge@^4.1.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
- integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
- dependencies:
- lodash "^4.17.15"
-
-webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-webpack@^4.8.1:
- version "4.47.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.47.0.tgz#8b8a02152d7076aeb03b61b47dad2eeed9810ebc"
- integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/wasm-edit" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- acorn "^6.4.1"
- ajv "^6.10.2"
- ajv-keywords "^3.4.1"
- chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.5.0"
- eslint-scope "^4.0.3"
- json-parse-better-errors "^1.0.2"
- loader-runner "^2.4.0"
- loader-utils "^1.2.3"
- memory-fs "^0.4.1"
- micromatch "^3.1.10"
- mkdirp "^0.5.3"
- neo-async "^2.6.1"
- node-libs-browser "^2.2.1"
- schema-utils "^1.0.0"
- tapable "^1.1.3"
- terser-webpack-plugin "^1.4.3"
- watchpack "^1.7.4"
- webpack-sources "^1.4.1"
-
-webpackbar@3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-3.2.0.tgz#bdaad103fad11a4e612500e72aaae98b08ba493f"
- integrity sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==
- dependencies:
- ansi-escapes "^4.1.0"
- chalk "^2.4.1"
- consola "^2.6.0"
- figures "^3.0.0"
- pretty-time "^1.1.0"
- std-env "^2.2.1"
- text-table "^0.2.0"
- wrap-ansi "^5.1.0"
-
-websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
- integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
- dependencies:
- http-parser-js ">=0.5.1"
- safe-buffer ">=5.1.0"
- websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
- integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
-
-when@~3.6.x:
- version "3.6.4"
- resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e"
- integrity sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q==
-
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which-module@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
- integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
-
-which-typed-array@^1.1.11, which-typed-array@^1.1.13:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36"
- integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.4"
- for-each "^0.3.3"
- gopd "^1.0.1"
- has-tostringtag "^1.0.0"
-
-which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-widest-line@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
- integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
- dependencies:
- string-width "^4.0.0"
-
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
-wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-write-file-atomic@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
- integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
- dependencies:
- imurmurhash "^0.1.4"
- is-typedarray "^1.0.0"
- signal-exit "^3.0.2"
- typedarray-to-buffer "^3.1.5"
-
-ws@^6.2.1:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
- integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
- dependencies:
- async-limiter "~1.0.0"
-
-xdg-basedir@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
- integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
-
-xtend@^4.0.0, xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
- integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^13.3.2:
- version "13.3.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^3.0.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^13.1.2"
-
-zepto@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/zepto/-/zepto-1.2.0.tgz#e127bd9e66fd846be5eab48c1394882f7c0e4f98"
- integrity sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==