Compare commits

..
Author SHA1 Message Date
Ludeeus 294967014d Add pointer cursor to ha-formfield in update card 2021-11-29 06:01:17 +00:00
4077 changed files with 324695 additions and 615118 deletions

No files matched your search

@@ -1,106 +0,0 @@
---
name: ha-frontend-components
description: Home Assistant frontend component patterns. Use when implementing or reviewing dialogs, ha-form, ha-alert, keyboard shortcuts, tooltips, panels, Lovelace cards, or ha-button usage.
---
# HA Frontend Components
Use this skill when creating or reviewing Home Assistant UI components and common interaction patterns.
Cross-load `ha-frontend-events` when component work includes event listener typing, custom event dispatch, or event-map declarations.
## Dialogs
Open dialogs through the fire-event pattern:
```ts
fireEvent(this, "show-dialog", {
dialogTag: "dialog-example",
dialogImport: () => import("./dialog-example"),
dialogParams: { title: "Example", data: someData },
});
```
Dialog implementation requirements:
- Use `ha-dialog`.
- Use `DialogMixin`, which implements `HassDialogNext<T>`, for new dialogs. See `src/dialogs/dialog-mixin.ts`.
- Read dialog parameters from the mixin's `params` property and render the dialog open. Return `nothing` while required parameters are absent.
- Call the mixin's `closeDialog()` to close a new dialog. The mixin handles the `closed` event, fires `dialog-closed`, and removes the host element.
- Existing dialogs may implement the legacy `HassDialog<T>` interface from `src/dialogs/make-dialog-manager.ts`.
- Preserve the existing `showDialog()`, open-state, and close-event lifecycle when maintaining a legacy dialog; do not copy that lifecycle into a `DialogMixin` dialog.
- Use `header-title` and `header-subtitle` for simple header text.
- Use slots when standard header attributes are not enough.
- Use `ha-dialog-footer` with `primaryAction` and `secondaryAction` slots.
- Add `autofocus` to the first focusable element, such as `<ha-form autofocus>`, and forward it internally if needed.
Use standard dialog widths: `small`, `medium`, `large`, or `full`. Avoid custom dialog sizing unless there is a clear product need.
## Buttons
`ha-button` wraps the Web Awesome button in `src/components/ha-button.ts`.
Axes:
- `variant`: `brand`, `neutral`, `danger`, `warning`, `success`.
- `appearance`: `accent`, `filled`, `outlined`, `plain`.
- `size`: `xs`, `s`, `m`, `l`, `xl`.
Common usage:
- Use `appearance="filled"` for primary emphasis when needed.
- Use `appearance="plain"` for cancel and dismiss actions.
- Use `variant="danger"` for destructive actions.
- Place primary actions in `slot="primaryAction"` and secondary actions in `slot="secondaryAction"`.
## Forms
`ha-form` is schema-driven with `HaFormSchema[]` and supports common selectors for entities, devices, areas, targets, numbers, booleans, time, actions, text, objects, selects, icons, media, and location.
Use `computeLabel`, `computeError`, and `computeHelper` for translated labels, validation, and helper text.
```ts
<ha-form
.hass=${this.hass}
.data=${this._data}
.schema=${this._schema}
.error=${this._errors}
.computeLabel=${(schema) => this._localize(`ui.panel.${schema.name}`)}
@value-changed=${this._valueChanged}
></ha-form>
```
## Alerts
Use `ha-alert` for user-visible status messaging.
- Alert types: `error`, `warning`, `info`, `success`.
- Useful properties: `title`, `alert-type`, `dismissable`, `narrow`.
- Slots: `icon` for custom leading icon, `action` for custom action content.
- Content is announced by screen readers when dynamically displayed.
```ts
html`
<ha-alert alert-type="error">${this._localize("ui.example.error")}</ha-alert>
<ha-alert alert-type="warning" .title=${this._localize("ui.example.warning")}>
${this._localize("ui.example.description")}
</ha-alert>
<ha-alert alert-type="success" dismissable>
${this._localize("ui.example.success")}
</ha-alert>
`;
```
## Shortcuts And Tooltips
Use `ShortcutManager` from `src/common/keyboard/shortcuts.ts` for keyboard shortcuts. It blocks shortcuts in input fields, can prevent shortcuts during text selection, and supports character and KeyCode shortcuts for non-latin keyboards. See `src/state/quick-bar-mixin.ts` for global shortcut examples.
Use `ha-tooltip` from `src/components/ha-tooltip.ts` for contextual hover help. See `src/components/ha-label.ts` for an example.
## Panels And Lovelace Cards
Panels commonly extend `SubscribeMixin(LitElement)` and receive route and narrow-layout properties.
Lovelace cards should implement `LovelaceCard`, validate config in `setConfig()`, handle loading, error, unavailable, and missing-entity states, and add a configuration editor when needed.
Cards are user-story surfaces. Support different households, entity types, responsive layouts, and accessible interaction states.
@@ -1,85 +0,0 @@
---
name: ha-frontend-contexts
description: Home Assistant frontend Lit context and hass migration guidance. Use when adding or changing component state access, replacing hass reads, consuming entity or registry contexts, or reviewing rerender behavior.
---
# HA Frontend Contexts
Use this skill when a component reads Home Assistant state, registries, localization, services, config, UI data, connection state, or API helpers.
## Goal
Move leaf components away from the broad `hass: HomeAssistant` object. Broad `hass` access rerenders components for unrelated changes, hides the data a component depends on, and makes tests harder to mock.
Container components may keep `hass` when they own it and feed providers. Leaf components should consume the narrowest context that covers their reads.
## Core Files
- Context definitions: `src/data/context/index.ts`
- Entity-scoped consume helpers: `src/common/decorators/consume-context-entry.ts`
- Transform decorator: `src/common/decorators/transform.ts`
- Canonical migration example: `src/panels/lovelace/cards/hui-button-card.ts`
- Providers are wired by `contextMixin` on `HassBaseEl`; consumers do not wire providers manually.
## Context Selection
| Context | Replaces |
| -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `statesContext` | `hass.states` |
| `entitiesContext`, `devicesContext`, `areasContext`, `floorsContext` | `hass.entities`, `hass.devices`, `hass.areas`, `hass.floors` |
| `registriesContext` | all four registries together |
| `servicesContext` | `hass.services` |
| `internationalizationContext` | `hass.localize`, `hass.locale`, `hass.language` |
| `formattersContext` | entity and attribute formatters |
| `configContext` | `hass.config`, `hass.user`, `hass.auth`, `hass.userData` |
| `connectionContext` | `hass.connection`, `hass.connected`, `hass.debugConnection`, `hass.hassUrl` |
| `apiContext` | `hass.callService`, `hass.callApi`, `hass.callApiRaw`, `hass.callWS`, `hass.sendWS`, `hass.fetchWithAuth` |
| `uiContext` | themes, selected theme, panels, sidebar, and UI state |
| `narrowViewportContext` | narrow-layout boolean |
Lazy contexts subscribe on first consumer and tear down after the last consumer: `labelsContext`, `fullEntitiesContext`, `configEntriesContext`, `manifestsContext`, `triggerDescriptionsContext`, and `conditionDescriptionsContext`.
The single-field contexts such as `localizeContext`, `themesContext`, and `userContext` are deprecated. Use grouped contexts instead.
## Consumption Patterns
Use entity-scoped helpers when the component watches an entity ID held on the host:
```ts
@state() @consumeEntityState({ entityIdPath: ["_config", "entity"] })
private _stateObj?: HassEntity;
@state() @consumeEntityRegistryEntry({ entityIdPath: ["_config", "entity"] })
private _entity?: EntityRegistryDisplayEntry;
@state() @consumeLocalize()
private _localize!: LocalizeFunc;
```
Use `consumeEntityStates` when the host property contains one or more entity IDs. It filters missing entities and preserves the previous record when none of the selected entities changed.
```ts
@state() @consumeEntityStates({ entityIdPath: ["_config", "entities"] })
private _stateObjs?: Record<string, HassEntity>;
```
For a single field from a grouped context, pair `@consume` with `@transform`:
```ts
@state()
@consume({ context: uiContext, subscribe: true })
@transform<HomeAssistantUI, Themes>({ transformer: ({ themes }) => themes })
private _themes!: Themes;
```
Use `@transform` with `watch` when the transformer depends on a host property, such as a computed entity ID. `consumeEntityState` and `consumeEntityStates` only watch the first path segment.
To consume a whole group untransformed, omit `@transform` and type the field as `ContextType<typeof statesContext>` or the matching context type.
## Review Checklist
- The component consumes the narrowest context needed for the data it reads.
- A broad `hass` property is kept only when the component is a container or external API requires it.
- Entity-scoped reads use the consume helpers rather than ad hoc context transforms.
- Context fields are marked `@state()` so updates trigger rendering.
- Tests and mocks only provide the data the component actually consumes.
-65
View File
@@ -1,65 +0,0 @@
---
name: ha-frontend-demo
description: Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification. Use when changing files under demo/, changing gallery consumers of demo/src/stubs/, or running and validating the demo.
---
# HA Frontend Demo
Use this skill for standalone demo work and changes to shared demo stubs consumed by the gallery. Follow the persistent repository guidance in `AGENTS.md` and load matching specialist skills alongside this skill, especially `ha-frontend-testing` when running or validating the demo.
## Purpose
The demo is the full Home Assistant frontend running against a mocked backend and is published at <https://demo.home-assistant.io>. It needs no Home Assistant server, which makes it the easiest way to load the real UI in a browser, for example to take screenshots.
## Running The Demo
Run commands from the repository root:
```bash
yarn dev:demo # Development server on http://localhost:8090
yarn dev:demo --background # Detached; also supports --status/--stop/--logs
```
Use the E2E workflows documented in `ha-frontend-testing` when validating the demo.
## Opening A Specific Demo
The demo contains multiple demo configurations. Select one directly with the `demo` query parameter, for example `http://localhost:8090/?demo=<slug>`. The valid slugs are defined in `demoConfigs` in `demo/src/configs/demo-configs.ts`, so "the second demo" means the slug of the second entry in that list. An unknown slug falls back to the default, which is the first entry.
## Opening A Specific Page
The demo build uses hash-based routing: the frontend path goes in the URL hash, and the `demo` query parameter goes before the `#`. The URL format is:
```text
http://localhost:8090/?demo=<slug>#/<path>
```
Useful paths:
- `/lovelace/0`: The selected demo's dashboard, also the default when no hash is given.
- `/energy`: The energy dashboard. Its tabs are views: `/energy/overview` (Summary), `/energy/electricity`, `/energy/gas`, `/energy/water`, and `/energy/now`.
- `/map`, `/history`, `/todo`, `/config`: Other sidebar panels.
For example, the water tab of the energy dashboard of the second demo is:
```text
http://localhost:8090/?demo=<second slug>#/energy/water
```
## Structure
- `demo/src/ha-demo.ts`: Root element that sets up all backend mocks.
- `demo/src/configs/<slug>/`: One directory per demo configuration, containing entities, dashboard, and theme data.
- `demo/src/configs/demo-configs.ts`: Registry of demo configurations and URL slug handling.
- `demo/src/stubs/`: Mocked WebSocket and REST APIs.
- `demo/script/develop_demo`, `demo/script/build_demo`: Development server and static build wrappers.
## Shared Gallery Stubs
`demo/src/stubs/` is shared, not demo-private: gallery pages import from it directly. Before changing or removing anything a stub does, search for its callers across `demo/src/` and `gallery/src/`, then check the affected gallery pages as well as the demo.
The two consumers use a stub differently, so demo behavior does not predict gallery behavior. A gallery page calls stubs against the `hass` from `provideHass`, where `hass.config` is the shared `demoConfig` object. A stub that mutates `hass.config` in place is therefore visible to the page. `demo/src/ha-demo.ts` copies `components` into a new array before the stubs run, so the same mutation never reaches the demo. A change can look correct in the demo while quietly breaking a gallery page.
## Verification
Load `ha-frontend-testing` and use its demo and gallery workflows. Validate both consumers when changing shared stubs. Documentation-only changes do not require code tests unless examples or commands change.
-105
View File
@@ -1,105 +0,0 @@
---
name: ha-frontend-events
description: Home Assistant frontend event patterns. Use when typing event handlers, using HASSDomEvent types, dispatching with fireEvent, or declaring HASSDomEvents and event maps.
---
# HA Frontend Events
Use this skill when implementing or reviewing event listeners and custom event contracts. Cross-load `ha-frontend-components` when the work also involves dialogs, forms, alerts, shortcuts, tooltips, panels, Lovelace cards, or buttons.
## Event Handling
Use the event types from `src/common/dom/fire_event.ts` instead of plain `Event`, generic `CustomEvent`, or element casts when they express the handler contract:
- Use `HASSDomCurrentTargetEvent<T>` to read the element on which the listener was registered through `ev.currentTarget`.
- Use `HASSDomTargetEvent<T>` only to read the element that originated the event through `ev.target`.
- Use `HASSDomEvent<T>` to read a custom event payload through `ev.detail`.
- Use `ValueChangedEvent<T>` from `src/types.ts` for the standard `value-changed` event.
- Prefer an event type exported by the component being listened to, such as `HaSelectSelectEvent<T, Clearable>` or `HaDropdownSelectEvent<TValue, TData>`, over reconstructing its detail type.
- Use `ActionHandlerEvent` from `src/data/lovelace/action_handler.ts` for Lovelace tap, hold, and double-tap handlers.
Import event and element types with `import type`:
```ts
import type {
HASSDomCurrentTargetEvent,
HASSDomEvent,
HASSDomTargetEvent,
} from "../common/dom/fire_event";
import type { HaCheckbox } from "../components/ha-checkbox";
import type { HaEntityPicker } from "../components/entity/ha-entity-picker";
import type { HaRadioGroup } from "../components/radio/ha-radio-group";
import type { ValueChangedEvent } from "../types";
```
Type the handler so the selected property can be read directly. Do not cast `ev.currentTarget` or assign it to a single-use variable:
```ts
private _scopeChanged(ev: HASSDomCurrentTargetEvent<HaRadioGroup>): void {
this._scope = ev.currentTarget.value;
}
private _checkedChanged(ev: HASSDomTargetEvent<HaCheckbox>): void {
this._checked = ev.target.checked;
}
private _valueChanged(ev: ValueChangedEvent<string>): void {
this._value = ev.detail.value;
}
private _itemSelected(ev: HASSDomEvent<{ id: string }>): void {
this._selectedId = ev.detail.id;
}
```
Use intersections when a handler needs more than one facet of an event. Keep the native event type when the handler reads native fields such as `key`, modifier keys, `dataTransfer`, or focus relationships:
```ts
private _entityChanged(
ev: ValueChangedEvent<string> & HASSDomCurrentTargetEvent<HaEntityPicker>
): void {
ev.currentTarget.value = ev.detail.value;
}
private _keyDown(
ev: KeyboardEvent & HASSDomCurrentTargetEvent<HTMLInputElement>
): void {
if (ev.key === "Enter") {
this._submit(ev.currentTarget.value);
}
}
```
Dispatch Home Assistant component events with `fireEvent()` instead of constructing `Event` or `CustomEvent` directly. Register the event name and detail type by augmenting `HASSDomEvents`; use `undefined` when an event has no detail. `fireEvent()` constrains event names and supplied detail, and events bubble and cross shadow boundaries by default:
```ts
fireEvent(this, "item-selected", { id: item.id });
fireEvent(this, "refresh-requested");
```
When an event is already registered, derive handler and listener types from its registration rather than repeating the payload shape:
```ts
private _itemSelected(
ev: HASSDomEvent<HASSDomEvents["item-selected"]>
): void {
this._selectedId = ev.detail.id;
}
```
`HASSDomEvents` types `fireEvent()` calls. Augment `HTMLElementEventMap` for typed listeners on HTML elements, or `GlobalEventHandlersEventMap` when the event is handled on global event targets.
In component files, prefer placing global event declarations after the class at the bottom of the file. Preserve the existing placement when editing established files; foundational type, helper, and mixin files commonly keep declarations near the top before their consumers.
```ts
declare global {
interface HASSDomEvents {
"item-selected": { id: string };
"refresh-requested": undefined;
}
interface HTMLElementEventMap {
"item-selected": HASSDomEvent<HASSDomEvents["item-selected"]>;
}
}
```
-128
View File
@@ -1,128 +0,0 @@
---
name: ha-frontend-gallery
description: Home Assistant frontend gallery structure, pages, demos, content, and verification. Use when changing files under gallery/, including gallery markdown, TypeScript demos, sidebar entries, mock data, page generation, or gallery builds.
---
# HA Frontend Gallery
Use this skill for all work under `gallery/`. Follow the persistent repository guidance in `AGENTS.md` and load the matching specialist skills alongside this gallery-specific guidance.
## Quick Reference
Run commands from the repository root unless noted otherwise:
```bash
gallery/script/develop_gallery # Start the gallery development server
gallery/script/build_gallery # Build the static gallery
yarn lint # ESLint, Prettier, TypeScript, and Lit checks
yarn lint:types # TypeScript compiler, without file arguments
```
Never run `yarn lint:types` or `tsc` with file arguments. File arguments make `tsc` ignore `tsconfig.json` and can emit `.js` files into `src/`.
## Purpose
The gallery is a developer and designer reference for Home Assistant frontend UI patterns. It documents component APIs, shows realistic Lovelace and more-info states, captures brand and copy guidance, and provides reproducible demos that are safe to inspect outside a running Home Assistant instance.
- Prefer demonstrating real production components from `src/` instead of creating gallery-only replacements.
- Keep fake state, sample data, and demo-only helpers inside `gallery/`.
- Do not move gallery stubs or demo data into production code unless a production feature explicitly needs them.
- Do not hand-edit generated output under `gallery/build/` or `gallery/dist/`.
## Structure
- `gallery/sidebar.js`: Defines gallery sections, headers, and explicit page ordering.
- `gallery/script/develop_gallery`: Wrapper for the `develop-gallery` gulp task.
- `gallery/script/build_gallery`: Wrapper for the `build-gallery` gulp task.
- `gallery/src/entrypoint.js`: Creates the `<ha-gallery>` shell.
- `gallery/src/ha-gallery.ts`: Renders the drawer, page routing, markdown descriptions, demos, edit links, and RTL toggle.
- `gallery/src/html/index.html.template`: HTML template used by the gallery build.
- `gallery/src/pages/<category>/<page>.markdown`: Optional page description and frontmatter.
- `gallery/src/pages/<category>/<page>.ts`: Optional live demo module for the same page ID.
- `gallery/src/components/`: Gallery-only demo wrappers like `demo-card`, `demo-cards`, `demo-more-info`, and `page-description`.
- `gallery/src/data/`: Fake `hass`, demo states, mock traces, and reusable sample data.
- `gallery/public/`: Static assets copied into the gallery output.
## Page Model
Gallery pages are generated by `gather-gallery-pages` in `build-scripts/gulp/gallery.js`.
- A page ID is the path under `gallery/src/pages/` without the extension, like `components/ha-button`.
- A `.markdown` file and a `.ts` file with the same page ID become one gallery page.
- A page may have only markdown, only a TypeScript demo, or both.
- Markdown can contain YAML frontmatter with `title` and optional `subtitle`.
- Markdown that contains only frontmatter contributes metadata without rendering a description block.
- TypeScript demo modules are dynamically imported for side effects when the page is opened.
- A demo module must define a custom element named `demo-${category}-${page}` with slashes replaced by hyphens, like `demo-components-ha-button` for `components/ha-button`.
- `gallery/src/ha-gallery.ts` renders that element with `dynamicElement()` based on the current page ID.
## Sidebar
Use `gallery/sidebar.js` when a page needs a visible section, section header, or deterministic ordering.
- `category` must match the first directory name under `gallery/src/pages/`.
- `header` is the section label shown in the drawer.
- `pages` is optional. When present, listed pages keep that exact order.
- Pages in a category that are not listed are appended alphabetically after the listed pages.
- New categories without a sidebar entry are appended by the generator with their category name as the header.
- If a listed page does not exist, the generator logs an error during `gather-gallery-pages`.
### Subsections
A section can group its pages under named subsections instead of one flat list. Use this for large categories where related pages should sit together.
- `subsections` is an array of `{ header, pages }`. It is mutually exclusive with a flat `pages` array on the same group.
- Each subsection `header` is a non-collapsible label rendered inside the section's expansion panel; the section stays the only collapsible level.
- Listed pages keep their per-subsection order.
- Any pages found in the category but not listed in a subsection are collected into a generated `Other` subsection, appended alphabetically. The `Other` subsection is omitted when there are no leftovers.
- A listed page that does not exist still logs an error during `gather-gallery-pages`.
- Use sentence case for subsection headers and follow the content standards below.
## Markdown Pages
Use markdown pages for explanations, design guidance, API notes, and copy standards.
- Start with frontmatter when the page needs a title or subtitle.
- Use sentence case for titles, headings, labels, and UI copy.
- Put the live example before the reference API when that makes the page easier to scan.
- Use fenced code blocks with a language tag for copyable examples.
- Keep examples short and focused on the behavior being documented.
- Prefer real component names and attributes over prose-only descriptions.
- Use Home Assistant terminology from `ha-frontend-user-facing-text`.
- For remove/delete and add/create wording, follow `gallery/src/pages/misc/remove-delete-add-create.markdown`.
Gallery markdown is documentation content and is not localized with `localize`. If demo code creates production UI strings, follow the localization and copy guidance in `ha-frontend-user-facing-text`.
## Demo Components
Use TypeScript demo pages for interactive or stateful examples.
- Import production components from `src/` using the correct relative path from the demo file.
- Import reusable gallery helpers from `gallery/src/components/` when they already model the pattern.
- Use `demo-card` and `demo-cards` for Lovelace card examples that render YAML card configs.
- Use `demo-more-info` and `demo-more-infos` for more-info dialog examples.
- Use shared mock data from `gallery/src/data/` instead of repeating large fake state objects inline.
- Show meaningful states, such as loading, unavailable, empty, error, active, inactive, and disabled when relevant.
- Check responsive behavior and the gallery RTL toggle when layout or direction-sensitive UI changes.
- Keep unavoidable casts or loose demo parsing local to the demo helper or demo page.
The gallery ESLint config allows `console` for gallery diagnostics. Do not copy that exception into production frontend code.
## Content Standards
Follow the detailed copy standards in `ha-frontend-user-facing-text`: use American English, sentence case, active voice, inclusive language, direct user-focused wording, and consistent Home Assistant terminology.
- Use `Home Assistant` in full, not `HA` or `HASS`.
- Use `integration` instead of `component` for product concepts.
- Use `Remove` for reversible disassociation and `Delete` for permanent deletion.
- Use `Add` for existing items and `Create` for something made from scratch.
- Avoid Latin abbreviations like `e.g.` and `i.e.` in prose.
- Avoid stitching sentence fragments together in production UI examples.
## Verification
- For markdown, sidebar, and page-generation changes, run `gallery/script/build_gallery`.
- For TypeScript demo or gallery shell changes, run the smallest relevant check plus `yarn lint` when practical.
- For type checking, run `yarn lint:types` without file arguments.
- For visual changes, run `gallery/script/develop_gallery` and check the affected page on desktop, narrow viewport, and RTL when relevant.
- If verification is skipped, state which command was skipped and why.
-39
View File
@@ -1,39 +0,0 @@
---
name: ha-frontend-lit
description: Home Assistant frontend Lit conventions. Use when working with reactive properties, internal state, DOM queries, lifecycle methods, or render-derived state.
---
# HA Frontend Lit
Use this skill when implementing or reviewing Lit component state, DOM access, lifecycle methods, or rendering behavior. Cross-load `ha-frontend-types` for Home Assistant data contracts, assertions, and lifecycle parameter types.
## Reactive Fields
This project currently uses Lit's TypeScript experimental decorators with `useDefineForClassFields: false`. Match existing declarations and do not introduce standard-decorator `accessor` syntax unless the project changes decorator mode.
- Use `@property()` for public reactive API and `@state()` for private reactive state.
- Prefer inferred types for initialized reactive fields when inference preserves the intended type; annotate when widening or an external contract requires it.
## DOM Queries
Prefer Lit's `@query()` or `@queryAll()` decorators for fixed selectors in the component's render root.
- Type the decorated field with the narrowest useful DOM or component interface.
- Keep the field optional when it may be absent at the point of access, including conditional rendering or pre-render lifecycle access.
- Use a definite assignment assertion only when every call site runs after the node is guaranteed to exist.
- The optional second argument to `@query()`, as in `@query("#target", true)`, caches the first query result. Use it only when later renders cannot replace the queried node.
- Use a direct query when the selector is dynamic or the target is outside the component's render root. Before querying a child, consider whether the required value belongs in parent state or data flow.
## Render-Derived State
- Prefer render-local values for inexpensive structures used only by that render.
- Assign a render-local value once when repeated evaluation is non-trivial or a local name improves clarity.
- Keep purely presentational derivations in `render()`. Use stored state or `willUpdate()` when the value must participate in lifecycle work, reflection, CSS, or non-render consumers.
- Use `memoizeOne` for pure, argument-derived transforms when stable input identity avoids meaningful repeated work. Keep inputs explicit and limited, and do not add caching without a credible benefit over computing the value directly.
## References
- [Reactive properties](https://lit.dev/docs/components/properties/)
- [Decorators](https://lit.dev/docs/components/decorators/)
- [Shadow DOM queries](https://lit.dev/docs/components/shadow-dom/#query)
- [Reactive update cycle](https://lit.dev/docs/components/lifecycle/)
-124
View File
@@ -1,124 +0,0 @@
---
name: ha-frontend-review
description: Home Assistant frontend PR and review guidance, including implementation quality, existing review feedback, established design patterns, and the authority of UI/UX evidence. Use when reviewing frontend changes, preparing a PR, checking recurring review issues, or applying the PR template.
---
# HA Frontend Review
Use this skill when reviewing Home Assistant frontend changes or preparing a pull request.
## Review Preparation
1. Establish the review scope from the diff and the behavior changed by it.
2. Before identifying findings, use the [project skill catalogue](../../../AGENTS.md#project-skills) to load every matching companion's `SKILL.md`. Follow applicable companion references in those skills as well; this review skill supplies the workflow, and companions supply the domain-specific criteria.
3. Apply all loaded guidance within that scope. Report only problems introduced or worsened by the changeset, anchored to changed lines. Read surrounding code to understand affected behavior, not to generate unrelated cleanup or migration requests.
## Pull Request Body
When creating a pull request, use `.github/PULL_REQUEST_TEMPLATE.md` as the body.
- Do not omit, reorder, or rewrite template sections.
- Check the appropriate "Type of change" box based on the actual change.
- Do not check checklist items on behalf of the user.
- If the PR includes UI changes, remind the user to add screenshots or a short video.
- Explain what the change does for users, not only implementation details.
- Use Markdown.
## Pre-Submission Checklist
- `yarn lint` passes when practical for the scope.
- `yarn test` or focused relevant tests are green when practical for the scope.
- Each test added by the change protects real logic, not the look of a component.
- User-facing text is localized and follows `ha-frontend-user-facing-text` guidance.
- Components handle loading, error, unavailable, and missing-entity states.
- Entity existence is checked before property access.
- Event listeners and subscriptions are cleaned up.
- UI is accessible to screen readers and keyboard users.
## Recurring Review Issues
Scope and public surface:
- Keep changes independently reviewable and limited to the requested area.
- Prefer existing Home Assistant helpers, Lit primitives, and component seams over parallel implementations.
- Challenge new public properties and optional feature surface when transient options or existing seams meet the requirement with less lifecycle and consistency cost.
Stateful and asynchronous UI:
- Review transitions in both directions, not only individual rendered states.
- When controls reappear, restore valid defaults instead of retaining state that was only valid while they were hidden.
- Establish immutable dirty-state baselines before asynchronous work, guard against stale responses, and preserve unsaved state in mounted editors.
- Determine an action's current meaning before applying dirty-state checks, especially when an action can change between Save and Close.
Readiness and invalidation:
- Treat readiness as the first displayable terminal result, including stable empty and error states.
- Register child readiness before resolving the parent, do not treat fallback work as terminal, and replay readiness correctly for cached or reused panels.
- Ensure every value read by memoized output participates in its invalidation.
Repository-owned contracts:
- Consult the public [frontend developer documentation](https://developers.home-assistant.io/docs/frontend/) for documented architecture, data flow, design, and development workflows.
- For new leaf components, load `ha-frontend-contexts` and verify they consume narrow contexts instead of introducing a broad `hass` property; containers and external APIs may still require `hass`.
- Verify backend assumptions against the owning Core, Supervisor, or WebSocket implementation, and component assumptions against the exported component contract.
- Prefer canonical repository helpers and test setup over duplicate local implementations.
- Promote AI-review concerns into durable guidance only when supported by code evidence, reproduced behavior, an accepted corrective commit, or human-maintainer validation.
User experience and accessibility:
- Forms need proper labels, helper text, and validation feedback.
- Form markup should not cause password managers to identify fields incorrectly.
- Clickable areas should be large enough for touch interaction.
- Hover, active, disabled, loading, and focus states should be clear.
Dialog and modal patterns:
- Multi-step operations should show progress.
- Dialog state should survive background operations correctly.
- Cancel and close buttons should behave consistently.
- Defaults should be helpful without blocking user override.
Component design patterns:
- Terminology should be consistent. Use words like "Join" or "Apply" instead of "Group" when that better matches the user action.
- Visual hierarchy should use appropriate font sizes, weights, and spacing ratios.
- Components should align to the design grid.
- Badges and indicators should be placed consistently.
Code quality:
- Null and undefined paths should be handled explicitly.
- Potentially undefined array and object access should be guarded.
- Event handlers, timers, observers, and subscriptions should be cleaned up.
Configuration and props:
- Make configuration fields optional when sensible.
- Provide reasonable defaults.
- Keep APIs extensible without adding speculative abstractions.
- Validate configuration before applying changes.
## UI/UX Evidence
For user-facing changes, establish the existing design context as part of frontend review:
- Treat an applicable gallery specification as the authoritative repository source for the documented component or interaction. Inspect its written guidance and demos when present.
- Note relevant production designs, approved designs, and shared `ha-*` components so the implementation can also be compared with established frontend behaviour.
- Require the applicable gallery documentation or demo to change when the implementation intentionally changes behaviour documented there.
- Prefer an established input layout or appropriate shared component over a raw input or ad hoc control.
- Treat explicit UI/UX approval, current repository guidance, and direct human or workflow instructions as stronger evidence than inference.
- Treat linked tasks as evidence of the problem and stated requirements, not automatic UI/UX approval.
- When the direction remains uncertain, search frontend pull requests that carry or previously carried **Needs UX**. Inspect their label history, comments, and reviews rather than relying on the current label alone.
- Judge relevant feedback by its content and surrounding discussion. When GitHub provides `author_association`, prioritise feedback marked `MEMBER`.
- Prefer recent feedback about similar interactions or components. Label removal can show that a workflow gate moved on, but does not prove approval without the surrounding discussion.
- Summarise the applicable guidance instead of maintaining a reviewer list or treating one historical decision as a permanent rule.
## Review Flow
- Before reviewing a pull request, read its existing comments, reviews, and threads, including their status, resolver, and Copilot resolution reason when available.
- Prioritise substantive human feedback, especially from authors marked `MEMBER`, and validate agent-generated feedback against the code and repository guidance.
- Do not duplicate unresolved findings as new inline comments; reference any that still need action in the review summary. Treat resolved feedback as closed only when the resolution reason or surrounding discussion supports that outcome; otherwise validate it against the current code before suppressing it. Respect **Won't fix** and **Incorrect** reasons.
- Identify behavioral regressions, bugs, accessibility issues, and missing tests first.
- Record the applicable UI/UX evidence for user-facing changes, whether or not further input is needed.
- Keep style-only comments secondary unless they affect maintainability or user experience.
- Prefer small, direct fixes over large refactors during review follow-up.
@@ -1,78 +0,0 @@
---
name: ha-frontend-styling
description: Home Assistant frontend styling, theming, spacing, responsive layout, RTL, and View Transitions guidance. Use when editing CSS, layout, motion, or visual component structure.
---
# HA Frontend Styling
Use this skill when editing CSS, layout, visual hierarchy, theme integration, responsive behavior, RTL support, or view transitions.
## Theme And Layout Basics
- Use Home Assistant CSS custom properties instead of hardcoded colors.
- Use `--ha-space-*` spacing tokens instead of hardcoded spacing where possible.
- Keep components mobile-first and enhance for desktop.
- Keep layouts RTL-safe. Prefer logical properties when they fit.
- Prefer `ha-*` components and current Web Awesome wrappers.
- Avoid adding new legacy Material Web Components (`mwc-*`).
- Scope styles to the component. Do not rely on global styles for component internals.
Spacing tokens are defined in `src/resources/theme/core.globals.ts`. The scale runs from `--ha-space-1` at 4px through `--ha-space-20` at 80px in 4px increments. Common values are `--ha-space-2` at 8px, `--ha-space-4` at 16px, and `--ha-space-8` at 32px.
```ts
static get styles() {
return css`
:host {
padding: var(--ha-space-4);
color: var(--primary-text-color);
background-color: var(--card-background-color);
}
.content {
gap: var(--ha-space-2);
}
@media (max-width: 600px) {
:host {
padding: var(--ha-space-2);
}
}
`;
}
```
## Interaction States
- Make touch targets large enough for mobile.
- Provide clear hover, active, focus, disabled, loading, error, and unavailable states.
- Preserve keyboard navigation and visible focus indicators.
- Maintain WCAG AA contrast for text and essential UI affordances.
## View Transitions
Use the View Transitions API only for meaningful continuity between DOM states.
Core resources:
- Utility wrapper: `src/common/util/view-transition.ts`, `withViewTransition()`.
- Launch-screen fade example: `src/util/launch-screen.ts`.
- Animation keyframes: `src/resources/theme/animations.globals.ts`.
- Animation duration tokens: `src/resources/theme/core.globals.ts`.
Implementation rules:
- Use `withViewTransition()` for fallback behavior.
- Keep transitions simple. Subtle fades and crossfades usually work best.
- Use `--ha-animation-duration-fast`, `--ha-animation-duration-normal`, or `--ha-animation-duration-slow` for timing.
- Ensure each `view-transition-name` is unique at any given time.
- Remember only one view transition can run at a time.
- View transitions operate at document level and do not work inside Shadow DOM style isolation. For web components, set `view-transition-name` on `:host` or use document-level transitions.
- The root gets `view-transition-name: root` by default. Target `::view-transition-group(root)` to customize the default page transition.
## Review Checklist
- Styling uses theme variables and spacing tokens where practical.
- Layout is mobile-first and RTL-safe.
- Component styles are scoped.
- Interactive states are clear and accessible.
- Motion is subtle, tokenized, and respects reduced-motion behavior through existing globals.
-100
View File
@@ -1,100 +0,0 @@
---
name: ha-frontend-testing
description: Home Assistant frontend testing and validation workflow. Use when adding or updating tests, running lint, TypeScript checks, Vitest, Playwright e2e suites, dev servers, or chart-data benchmarks.
---
# HA Frontend Testing
Use this skill when choosing or running validation for frontend changes.
## Test Helpers
- Before adding or changing tests, inspect the relevant suite's existing helpers and fixtures. Reuse them instead of duplicating setup, test data, navigation, interactions, waits, or assertions.
- When the same test flow appears more than once, move it into the closest suite-local helper with a focused interface.
- Keep one-off test behaviour in the test unless a helper makes the intent materially clearer. Do not hide the behaviour under test behind broad, configurable abstractions.
## Core Commands
```bash
yarn lint # ESLint + Prettier + TypeScript + Lit
yarn format # Auto-fix ESLint + Prettier
yarn lint:types # TypeScript compiler, run without file arguments
yarn test # Vitest
yarn build # Full production build
yarn dev # App dev server
yarn dev:serve # Local serving dev server
```
Never run `tsc` or `yarn lint:types` with file arguments. File arguments make `tsc` ignore `tsconfig.json` and can emit `.js` files into `src/`.
For focused type feedback on one file, use editor diagnostics instead of a file-scoped `tsc` command.
## Production Builds
Production builds support foreground and managed background execution:
```bash
yarn build # Full foreground build
yarn build --background # Full managed background build
yarn build --modern # Modern frontend_latest bundle only
yarn build --modern --background # Modern managed background build
yarn build --status
yarn build --logs [--follow]
yarn build --stop
```
Use `yarn build --modern --background` for production bundle-size or browser performance comparisons that only need modern browser output. It runs the normal metadata and static preparation, minifies and compresses the modern `frontend_latest` bundle and shared static assets, and generates modern-only entry pages and service workers. It deliberately skips the legacy bundle and its service worker.
Do not pass `--help`, `--background`, or `--modern` to `script/build_frontend`; that raw script does not parse arguments and always starts the full foreground build. Use `yarn build` for managed builds. App builds and development servers keep exclusive ownership of `hass_frontend/` for their lifetime.
Managed app, demo, gallery, and E2E app workflows share one lifetime lock, so only one build or development server can run at a time.
## When To Add Tests
- Write tests for code that computes something: data processing, utility functions, config validation, and what happens when the user interacts with a component.
- Do not write tests that check what a component looks like: its text, CSS classes, styles, or slots. Do not write tests that check the default value of an option.
- A component that only takes data from contexts and helpers and puts it in a template does not need a test.
- If you are not sure a test is useful, describe the test and what it would catch, and let the user decide.
- Tests never talk to a real Home Assistant. Replace `callWS`, `callApi`, and the connection with fakes.
## Dev Servers
`yarn dev` builds and watches the app, served by a running Home Assistant core configured through `development_repo`.
`yarn dev:serve` also serves locally and supports `-c` for the core URL and `-p` for the port. The default is 8124, or 8123 in a devcontainer.
Dev server commands support `--background`, `--status`, `--stop`, and `--logs [--follow]`. `yarn dev`, `yarn dev:serve`, `yarn dev:demo`, and `yarn dev:gallery` also support `--fetch-translations`; this runs translation fetching, including first-time GitHub device authentication, under the workflow lock before starting the watcher. It works in foreground and background modes. Prefer managed background mode while iterating so the watcher stays available across test runs without occupying the terminal. `yarn dev` and `yarn dev:serve` share one managed process slot because both write the app output.
## Playwright E2E
Each suite has its own dev server port. Playwright reuses an existing server locally when its configured URL responds; otherwise it performs a slow full build. When a development watcher is being reused, rspack recompiles on save and reruns should not need a restart.
Start the relevant suite server, then run that suite:
| Suite | Background server | Test command |
| ------- | -------------------------------------------- | ----------------------- |
| App | `yarn test:e2e:app:dev --background` on 8095 | `yarn test:e2e:app` |
| Demo | `yarn dev:demo --background` on 8090 | `yarn test:e2e:demo` |
| Gallery | `yarn dev:gallery --background` on 8100 | `yarn test:e2e:gallery` |
The custom development wrappers use `/__ha_dev_status` to identify and manage their own suites. Playwright server reuse checks the configured URL instead. Wrapper start and stop operations are idempotent for a matching suite and reject an unrelated process occupying the port.
Local runs against a watched development server do not always match CI's clean build artifacts, environment, sharding, or worker configuration. Use background servers for the fast iteration loop, but confirm the relevant CI jobs complete successfully before considering E2E changes verified.
Use `-g "<title>" --project=chromium` to narrow a run. `yarn test:e2e` runs suites sequentially when managed servers are unavailable to prevent cold builds racing over shared generated assets. Run suites directly; piping through output truncation hides progress and failures.
The app suite uses a stripped-down harness for e2e. Demo and gallery use their normal dev servers.
## Benchmarks
For chart data transforms such as history, statistics, energy, and downsampling, read and follow the complete workflow in `test/benchmarks/README.md` before making benchmark or optimization changes.
That workflow owns the baseline, noise analysis, guardrails, acceptance thresholds, and reporting requirements. In particular, optimizations must keep output bit-identical; never update snapshots or modify fixtures to make an optimization pass.
## Verification Selection
- Documentation-only change: no code test required unless examples or commands changed.
- Type-only or utility change: run focused Vitest if available, then `yarn lint:types` if practical.
- Lit component change: run relevant tests plus lint or typecheck depending on scope.
- E2E-sensitive flow: start the relevant e2e dev server and run the narrow Playwright suite.
- Broad refactor: run `yarn lint` and relevant test suites when practical.
-44
View File
@@ -1,44 +0,0 @@
---
name: ha-frontend-types
description: Home Assistant frontend TypeScript conventions. Use when defining or reviewing backend data contracts, optional schemas, shared types, assertions, or Lit lifecycle types.
---
# HA Frontend Types
Use this skill for Home Assistant-specific TypeScript contracts and type choices.
## Home Assistant Data Contracts
Verify data contracts against the source that owns them, such as Home Assistant Core, Supervisor, a WebSocket handler, or an exported component type. Do not shape a type around assumptions made by its current frontend consumers.
- Match required, optional, nullable, and defaulted fields to the producer and runtime contract. Preserve optional configuration fields when omission is supported and has defined behavior.
- Use distinct request and response types when their wire shapes differ.
- When changing a shared contract, check affected consumers, tests, fixtures, and mocks.
## Reuse Home Assistant Contracts
- Reuse the canonical Home Assistant type when one exists. Define shared contract types in the data or API module that owns them.
- Reuse types exported by components and helpers rather than reconstructing their payloads. For event types, follow `ha-frontend-events`.
- When one domain contract is used across modules, define and export it from the module that owns that contract.
Prefer an existing owning contract. Introduce a frontend-specific type when the frontend shape or boundary genuinely differs.
## Assertions
Prefer accurate types and runtime narrowing. Use assertions or TypeScript suppressions at boundaries where the runtime invariant is understood but cannot be expressed cleanly; keep them narrow and explain non-obvious invariants.
## Lit Lifecycle Types
For Lit lifecycle methods that receive changed properties, use `PropertyValues<this>` when the method only needs public reactive properties:
```ts
protected willUpdate(changedProperties: PropertyValues<this>) {
// ...
}
```
Use unparameterized `PropertyValues` when the method inspects private or protected reactive properties, which are not keys of `this`. Do not add assertions solely to retain `PropertyValues<this>`.
## Enforced Baseline
Use `import type` for type-only imports. This is enforced by the repository ESLint configuration.
@@ -1,98 +0,0 @@
---
name: ha-frontend-user-facing-text
description: Home Assistant frontend copy, localization, terminology, and user-facing text guidance. Use when adding or reviewing labels, buttons, dialogs, errors, translations, or UI strings.
---
# HA Frontend User-Facing Text
Use this skill for all user-facing text, translations, labels, buttons, dialog copy, errors, helper text, and review comments about wording.
## Localization
- All user-facing text must be translatable.
- Add translation keys to `src/translations/en.json` when introducing new strings.
- Use the localization system instead of inline user-visible strings.
- Prefer complete localized strings with placeholders over concatenating translated fragments.
- Give translators enough context through key naming and placeholders.
```ts
this._localize("ui.panel.config.updates.updates_refreshed", {
count: 5,
});
```
## Voice And Style
- Use American English.
- Use a friendly, informational tone.
- Address users directly with "you" and "your" when appropriate.
- Be inclusive, objective, and non-discriminatory.
- Be concise and clear.
- Use active voice.
- Avoid jargon where a familiar home automation term works.
- Always write "Home Assistant" in full. Do not use "HA" or "HASS" in user-facing copy.
- Spell out terms when possible.
- Use sentence case for titles, headings, buttons, labels, and UI elements.
- Use the Oxford comma in lists.
- Prefer "like" over "e.g." and "for example" over "i.e.".
- Avoid all caps for emphasis. Use wording, bold, or italics instead.
- Write for both technical and non-technical users.
Sentence case examples:
- Use: "Create new automation"
- Avoid: "Create New Automation"
- Use: "Device settings"
- Avoid: "Device Settings"
## Terminology
Use "integration" instead of "component" for user-facing product language unless referring to a frontend component in developer context.
Technical product terms are lowercase in prose: automation, entity, device, service.
## Delete, Remove, Create, Add
Use "Remove" for actions that can be restored or reapplied:
- Removing a user's permission.
- Removing a user from a group.
- Removing links between items.
- Removing a widget from a dashboard.
- Removing an item from a cart.
Use "Delete" for permanent, non-recoverable actions:
- Deleting a field.
- Deleting a value in a field.
- Deleting a task.
- Deleting a group.
- Deleting a permission.
- Deleting a calendar event.
Use "Add" for already-existing items:
- Adding a permission to a user.
- Adding a user to a group.
- Adding links between items.
- Adding a widget to a dashboard.
- Adding an item to a cart.
Use "Create" for something made from scratch:
- Creating a new field.
- Creating a new task.
- Creating a new group.
- Creating a new permission.
- Creating a new calendar event.
Create pairs with Delete. Add pairs with Remove.
## Review Checklist
- Text is localized.
- Copy uses sentence case.
- "Home Assistant" is written in full.
- Delete/Remove and Create/Add match recoverability and object lifecycle.
- Placeholders are used instead of string concatenation.
- The wording is concise and understandable without implementation knowledge.
@@ -1,44 +0,0 @@
---
name: ha-frontend-ux-readiness
description: Home Assistant frontend UI/UX readiness routing for new cards, badges, screens, and interaction patterns. Use it with `ha-frontend-review` to decide whether frontend review is enough or further UI/UX input is needed. Skip it for PRs already carrying Needs UX and for fixes or technical details that preserve an established experience.
---
# HA Frontend UI/UX Readiness
Use the design context and evidence gathered through `ha-frontend-review` to decide whether a change's UI/UX direction is settled and whether further UI/UX review should be recommended or is explicitly required. This skill routes the result; it does not repeat or replace implementation, accessibility, or frontend quality review.
## Early Exit
If the PR already carries the **Needs UX** label, reviewers have already decided to ask designers or UX reviewers for guidance. Do not use this skill to make that recommendation again.
## Triage
1. Apply `ha-frontend-review` and record its UI/UX evidence.
- Include the applicable gallery specification, production or approved designs, shared `ha-*` components, task requirements, historical feedback, and direct instructions.
- Keep the implementation review separate from this readiness decision.
2. Classify the user-facing decision.
- Existing-feature fixes and technical details normally remain with frontend review when they preserve the established experience.
- New cards, badges, screens, and interaction patterns normally need this readiness check.
3. Decide whether the evidence gathered during frontend review settles the direction.
- Frontend maintainer guidance, explicit UI/UX approval, current guidance, an established pattern, or a task that settles the material visual and interaction choices can settle the direction.
- Insufficient or conflicting evidence leaves the direction unresolved.
4. Select exactly one route below and state which frontend-review evidence supports it.
## Routes
- **Frontend review sufficient:** The change preserves the established experience, or the evidence settles the material visual and interaction choices. Cite that evidence and continue with `ha-frontend-review`.
- **UI/UX review recommended:** A new user experience has material design choices that remain unresolved. Identify the decision that needs input and recommend UI/UX review.
- **UI/UX review required:** A workflow rule or direct human instruction explicitly requires UI/UX review. Cite that evidence. A new design, task link, or lack of evidence is not enough on its own.
Frontend maintainer guidance, explicit UI/UX approval, established patterns, and task requirements inform the route. A task can settle requirements without settling the UI/UX. Recommend UI/UX review when important design choices remain unresolved.
## Reporting
Keep the result concise and use this structure:
- **Route:** Frontend review sufficient, UI/UX review recommended, or UI/UX review required
- **Established patterns:** relevant gallery specifications, production designs, and shared `ha-*` components for the next reviewer to compare
- **Supporting evidence:** approval, guidance, established patterns, task requirements, direct instructions, or the evidence gap or conflict
- **Next action:** the review action implied by the route
Separate whether the UI/UX direction is settled from whether the implementation is correct.
-52
View File
@@ -1,52 +0,0 @@
[modern]
# Modern builds target recent browsers supporting the latest features to minimize transpilation, polyfills, etc.
# It is served to browsers meeting the following requirements:
# - released in the last 2 years + current alpha/beta versions
# - exclude dead browsers (no security maintenance for 2+ years)
# - exclude QQ, and UC browsers due to lack of sufficient feature support data
unreleased versions
last 2 years
not dead
not QQAndroid > 0
not UCAndroid > 0
[legacy]
# Legacy builds are served when modern requirements are not met.
# Floors are pinned explicitly (not usage-based) so the support policy is
# deliberate and does not drift with global usage statistics, which do not
# represent old tablets and wall displays used as Home Assistant dashboards:
# - iOS/Safari >= 12: iPad Air 1 / mini 2 / mini 3 (last supported iOS).
# Older iPads (iPad 2/3/mini 1 on iOS 9.3, iPad 4 on iOS 10.3) cannot run
# the app: their engines lack custom elements, shadow DOM, and/or CSS grid.
# - Chrome >= 59: Fire OS 5 tablets (Fire 7/HD 8/HD 10 through ~2017) have
# their system WebView pinned at Chromium 59 and commonly run Fully Kiosk;
# also covers old kiosk browsers and no-longer-updating webviews above it.
# - Edge >= 79: all Chromium-based Edge. Costs nothing (above the Chrome
# floor); mainly catches Edge 109 on Windows 7/8.1 and update-frozen
# enterprise installs, whose engines can run the legacy build fine.
# - Firefox >= 94: the zero-cost floor, not a chased population — pinning it
# adds no babel transforms, core-js modules, or Lightning CSS prefixes to
# the output. Mozilla-supported Firefox (incl. current ESR) always matches
# [modern]; Firefox on old OSes is not supported (use Chrome 109 instead).
# If Firefox ever becomes the pin forcing extra output, raise it first.
# - Samsung >= 9: Samsung Internet on old Galaxy tablets
Chrome >= 59
ChromeAndroid >= 59
Edge >= 79
Firefox >= 94
FirefoxAndroid >= 94
iOS >= 12
Safari >= 12
Samsung >= 9
[legacy-sw]
# Same as legacy, restricted to browsers that support service workers
# (currently resolves to the same set; guards the service worker build if the legacy floor ever drops below them)
Chrome >= 59 and supports serviceworkers
ChromeAndroid >= 59 and supports serviceworkers
Edge >= 79 and supports serviceworkers
Firefox >= 94 and supports serviceworkers
FirefoxAndroid >= 94 and supports serviceworkers
iOS >= 12 and supports serviceworkers
Safari >= 12 and supports serviceworkers
Samsung >= 9 and supports serviceworkers
-1
View File
@@ -1 +0,0 @@
../.agents/skills
+8 -1
View File
@@ -1,6 +1,13 @@
FROM mcr.microsoft.com/devcontainers/python:3.14
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.148.1/containers/python-3/.devcontainer/base.Dockerfile
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.9
ENV \
DEBIAN_FRONTEND=noninteractive \
DEVCONTAINER=true \
PATH=$PATH:./node_modules/.bin
# Install nvm
COPY .nvmrc /tmp/.nvmrc
RUN \
su vscode -c \
"source /usr/local/share/nvm/nvm.sh && nvm install $(cat /tmp/.nvmrc) 2>&1"
+25 -40
View File
@@ -5,45 +5,30 @@
"context": ".."
},
"appPort": "8124:8123",
"postCreateCommand": "./.devcontainer/post_create.sh",
"postStartCommand": "script/bootstrap",
"containerEnv": {
"DEV_CONTAINER": "1",
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
},
"remoteEnv": {
"NODE_OPTIONS": "--max_old_space_size=8192"
},
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens",
"yeion7.styled-global-variables-autocomplete"
],
"settings": {
"files.eol": "\n",
"editor.tabSize": 2,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.renderWhitespace": "boundary",
"editor.rulers": [80],
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.trimTrailingWhitespace": true,
"terminal.integrated.shell.linux": "/usr/bin/zsh",
"gitlens.showWelcomeOnInstall": false,
"gitlens.showWhatsNewAfterUpgrades": false,
"workbench.startupEditor": "none"
}
}
"context": "..",
"postCreateCommand": "script/bootstrap",
"extensions": [
"github.vscode-pull-request-github",
"dbaeumer.vscode-eslint",
"ms-vscode.vscode-typescript-tslint-plugin",
"esbenp.prettier-vscode",
"bierner.lit-html",
"runem.lit-plugin",
"ms-python.vscode-pylance"
],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"files.eol": "\n",
"editor.tabSize": 2,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.trimTrailingWhitespace": true
}
}
-22
View File
@@ -1,22 +0,0 @@
#!/bin/bash
# This script will run after the container is created
# add github cli
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
# Update package lists
sudo apt-get update
sudo apt upgrade -y
# Install necessary packages
sudo apt-get install -y libpcap-dev gh
# Display a message
echo "Post-create script has been executed successfully."
+119
View File
@@ -0,0 +1,119 @@
{
"extends": [
"airbnb-base",
"airbnb-typescript/base",
"plugin:@typescript-eslint/recommended",
"plugin:wc/recommended",
"plugin:lit/all",
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"ecmaFeatures": {
"modules": true
},
"sourceType": "module",
"project": "./tsconfig.json"
},
"settings": {
"import/resolver": {
"webpack": {
"config": "./webpack.config.js"
}
}
},
"globals": {
"__DEV__": false,
"__DEMO__": false,
"__BUILD__": false,
"__VERSION__": false,
"__STATIC_PATH__": false,
"__SUPERVISOR__": false,
"Polymer": true
},
"env": {
"browser": true,
"es6": true
},
"rules": {
"class-methods-use-this": "off",
"new-cap": "off",
"prefer-template": "off",
"object-shorthand": "off",
"func-names": "off",
"no-underscore-dangle": "off",
"strict": "off",
"no-plusplus": "off",
"no-bitwise": "error",
"comma-dangle": "off",
"vars-on-top": "off",
"no-continue": "off",
"no-param-reassign": "off",
"no-multi-assign": "off",
"no-console": "error",
"radix": "off",
"no-alert": "off",
"no-nested-ternary": "off",
"prefer-destructuring": "off",
"no-restricted-globals": [2, "event"],
"prefer-promise-reject-errors": "off",
"import/prefer-default-export": "off",
"import/no-default-export": "off",
"import/no-unresolved": "off",
"import/no-cycle": "off",
"import/extensions": [
"error",
"ignorePackages",
{ "ts": "never", "js": "never" }
],
"no-restricted-syntax": ["error", "LabeledStatement", "WithStatement"],
"object-curly-newline": "off",
"default-case": "off",
"wc/no-self-class": "off",
"no-shadow": "off",
"@typescript-eslint/camelcase": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-use-before-define": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-shadow": ["error"],
"@typescript-eslint/naming-convention": [
"off",
{
"selector": "default",
"format": ["camelCase", "snake_case"],
"leadingUnderscore": "allow",
"trailingUnderscore": "allow"
},
{
"selector": ["variable"],
"format": ["camelCase", "snake_case", "UPPER_CASE"],
"leadingUnderscore": "allow",
"trailingUnderscore": "allow"
},
{
"selector": "typeLike",
"format": ["PascalCase"]
}
],
"@typescript-eslint/no-unused-vars": "off",
"unused-imports/no-unused-vars": [
"error",
{
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_",
"ignoreRestSiblings": true
}
],
"unused-imports/no-unused-imports": "error",
"lit/attribute-value-entities": "off",
"lit/no-template-map": "off"
},
"plugins": ["disable", "unused-imports"],
"processor": "disable/disable"
}
+2 -2
View File
@@ -51,7 +51,7 @@ DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed w
<!--
Provide details about the versions you are using, which helps us reproducing
and finding the issue quicker. Version information is found in the
Home Assistant frontend: Settings -> About.
Home Assistant frontend: Configuration -> Info.
Browser version and operating system is important! Please try to replicate
your issue in a different browser and be sure to include your findings.
@@ -67,7 +67,7 @@ DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed w
<!--
If your issue is about how an entity is shown in the UI, please add the state
and attributes for all situations with a screenshot of the UI.
You can find this information at `/config/tools/state`
You can find this information at `/developer-tools/state`
-->
```yaml
+10 -11
View File
@@ -1,4 +1,4 @@
name: Report a bug with the UI / Dashboards
name: Report a bug with the UI, Frontend or Lovelace
description: Report an issue related to the Home Assistant frontend.
labels: bug
body:
@@ -7,11 +7,11 @@ body:
value: |
Make sure you are running the [latest version of Home Assistant][releases] before reporting an issue.
If you have a feature or enhancement request for the frontend, please [start a discussion][fr] instead of creating an issue.
If you have a feature or enhancement request for the frontend, please [start an discussion][fr] instead of creating an issue.
**Please do not report issues for custom cards.**
**Please not not report issues for custom Lovelace cards.**
[fr]: https://github.com/orgs/home-assistant/discussions
[fr]: https://github.com/home-assistant/frontend/discussions
[releases]: https://github.com/home-assistant/home-assistant/releases
- type: checkboxes
attributes:
@@ -24,7 +24,6 @@ body:
required: true
- label: I have tried a different browser to see if it is related to my browser.
required: true
- label: I have tried reproducing the issue in [safe mode](https://www.home-assistant.io/blog/2023/11/01/release-202311/#restarting-into-safe-mode) to rule out problems with unsupported custom resources.
- type: markdown
attributes:
value: |
@@ -65,7 +64,7 @@ body:
label: What version of Home Assistant Core has the issue?
placeholder: core-
description: >
Can be found in: [Settings -> About](https://my.home-assistant.io/redirect/info/).
Can be found in the Configuration panel -> Info.
- type: input
attributes:
label: What was the last working version of Home Assistant Core?
@@ -74,7 +73,7 @@ body:
If known, otherwise leave blank.
- type: input
attributes:
label: In which browser are you experiencing the issue?
label: In which browser are you experiencing the issue with?
placeholder: Google Chrome 88.0.4324.150
description: >
Provide the full name and don't forget to add the version!
@@ -94,8 +93,8 @@ body:
label: State of relevant entities
description: >
If your issue is about how an entity is shown in the UI, please add the
state and attributes for all situations. You can find this
information in the Details view of the More info dialog.
state and attributes for all situations. You can find this information
at Developer Tools -> States.
render: txt
- type: textarea
attributes:
@@ -108,9 +107,9 @@ body:
render: yaml
- type: textarea
attributes:
label: JavaScript errors shown in your browser console/inspector
label: Javascript errors shown in your browser console/inspector
description: >
If you come across any JavaScript or other error logs, e.g., in your
If you come across any Javascript or other error logs, e.g., in your
browser console/inspector please provide them.
render: txt
- type: textarea
+6 -9
View File
@@ -1,20 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Request a feature for the UI / Dashboards
url: https://github.com/orgs/home-assistant/discussions
about: Request a new feature for the Home Assistant frontend.
- name: Discuss UI or UX design
url: https://github.com/OpenHomeFoundation/ux-design/discussions
about: Share design feedback and discuss visual or UX changes with the design team.
- name: Report a bug that is NOT related to the UI / Dashboards
- name: Request a feature for the UI, Frontend or Lovelace
url: https://github.com/home-assistant/frontend/discussions/category_choices
about: Request an new feature for the Home Assistant frontend.
- name: Report a bug that is NOT related to the UI, Frontend or Lovelace
url: https://github.com/home-assistant/core/issues
about: This is the issue tracker for our frontend. Please report other issues in the backend ("core") repository.
about: This is the issue tracker for our frontend. Please report other issues with the backend repository.
- name: Report incorrect or missing information on our website
url: https://github.com/home-assistant/home-assistant.io/issues
about: Our documentation has its own issue tracker. Please report issues with the website there.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs. Check our website for resources on getting help.
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!
-53
View File
@@ -1,53 +0,0 @@
name: Task
description: For staff only - Create a task
type: Task
body:
- type: markdown
attributes:
value: |
## ⚠️ RESTRICTED ACCESS
**This form is restricted to Open Home Foundation staff and authorized contributors only.**
If you are a community member wanting to contribute, please:
- For bug reports: Use the [bug report form](https://github.com/home-assistant/frontend/issues/new?template=bug_report.yml)
- For feature requests: Submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)
---
### For authorized contributors
Use this form to create tasks for development work, improvements, or other actionable items that need to be tracked.
- type: textarea
id: description
attributes:
label: Description
description: |
Provide a clear and detailed description of the task that needs to be accomplished.
Be specific about what needs to be done, why it's important, and any constraints or requirements.
placeholder: |
Describe the task, including:
- What needs to be done
- Why this task is needed
- Expected outcome
- Any constraints or requirements
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: |
Any additional information, links, research, or context that would be helpful.
Include links to related issues, research, prototypes, roadmap opportunities etc.
placeholder: |
- Roadmap opportunity: [link]
- Epic: [link]
- Feature request: [link]
- Technical design documents: [link]
- Prototype/mockup: [link]
- Dependencies: [links]
validations:
required: false
+19 -44
View File
@@ -2,7 +2,9 @@
You are amazing! Thanks for contributing to our project!
Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## Breaking change
<!--
If your PR contains a breaking change for existing users, it is important
to tell them what breaks, how to make it work again and why we did this.
@@ -11,8 +13,8 @@
Note: Remove this section if this PR is NOT a breaking change.
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
@@ -20,16 +22,8 @@
in the additional information section.
-->
## Screenshots
<!--
If your PR includes visual changes, please add screenshots or a short video
showing the before and after. This helps reviewers understand the impact of
your changes.
Note: Remove this section if this PR has no visual changes.
-->
## Type of change
<!--
What type of change does your PR introduce to the Home Assistant frontend?
NOTE: Please, check only 1! box!
@@ -43,7 +37,19 @@
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example configuration
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR.
-->
```yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
@@ -52,57 +58,26 @@
- This PR fixes or closes issue: fixes #
- This PR is related to issue or discussion:
- Link to documentation pull request:
- Link to developer documentation pull request:
- Link to backend pull request:
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
AI tools are welcome, but contributors are responsible for *fully*
understanding the code before submitting a PR.
-->
- [ ] I understand the code I am submitting and can explain how it works.
- [ ] The code change is tested and works locally.
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [perfect PR recommendations][perfect-pr]
- [ ] Any generated code has been carefully reviewed for correctness and compliance with project standards.
- [ ] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [ ] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/frontend/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+sort%3Acreated-desc+review%3Anone+-status%3Afailure
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[docs-repository]: https://github.com/home-assistant/home-assistant.io
[perfect-pr]: https://developers.home-assistant.io/docs/review-process/#creating-the-perfect-pr
-27
View File
@@ -1,27 +0,0 @@
name: Build frontend target
description: Run a gulp build target
inputs:
target:
description: gulp target to run
required: true
github-token:
description: GitHub token for fetching nightly translations; omit to build English-only
default: ""
is-test:
description: Set IS_TEST for the build (skips source maps and compression)
default: "false"
rspack-cache:
description: rspack persistent cache mode ("readwrite", "readonly", or "" to disable)
default: ""
runs:
using: composite
steps:
- name: Build ${{ inputs.target }}
shell: bash
run: ./node_modules/.bin/gulp ${{ inputs.target }}
env:
GITHUB_TOKEN: ${{ inputs.github-token }}
IS_TEST: ${{ inputs.is-test }}
RSPACK_CACHE: ${{ inputs.rspack-cache }}
-52
View File
@@ -1,52 +0,0 @@
name: Deploy to Netlify
description: Deploy a directory to Netlify (production when alias is empty, otherwise to the alias)
inputs:
dir:
description: Directory to deploy
required: true
alias:
description: Deploy alias; leave empty to deploy to production
default: ""
auth-token:
description: NETLIFY_AUTH_TOKEN
required: true
site-id:
description: NETLIFY_SITE_ID
required: true
outputs:
netlify_url:
description: The deployed URL
value: ${{ steps.deploy.outputs.netlify_url }}
unique_deploy_url:
description: The unique hash-based deployment URL for this specific build
value: ${{ steps.deploy.outputs.unique_deploy_url }}
runs:
using: composite
steps:
- name: Deploy to Netlify
id: deploy
shell: bash
env:
DIR: ${{ inputs.dir }}
ALIAS: ${{ inputs.alias }}
NETLIFY_AUTH_TOKEN: ${{ inputs.auth-token }}
NETLIFY_SITE_ID: ${{ inputs.site-id }}
run: |
# Execute the deployment
if [ -n "$ALIAS" ]; then
npx -y netlify-cli deploy --dir="$DIR" --alias "$ALIAS" --json > deploy_output.json
else
npx -y netlify-cli deploy --dir="$DIR" --prod --json > deploy_output.json
fi
# Collect the urls from the deployment output
NETLIFY_URL=$(jq -r '.url // .deploy_url' deploy_output.json)
SITE_NAME=$(jq -r '.site_name' deploy_output.json)
DEPLOY_ID=$(jq -r '.deploy_id' deploy_output.json)
UNIQUE_URL="https://${DEPLOY_ID}--${SITE_NAME}.netlify.app"
echo "netlify_url=$NETLIFY_URL" >> "$GITHUB_OUTPUT"
echo "unique_deploy_url=$UNIQUE_URL" >> "$GITHUB_OUTPUT"
@@ -1,41 +0,0 @@
name: Prepare dependencies
description: Install and cache the complete dependency tree
inputs:
node-modules-cache-key:
description: Prefix for the shared node_modules cache key
default: node-modules-v1
runs:
using: composite
steps:
- name: Check for complete dependency tree
id: dependencies
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules
.yarn/install-state.gz
key: >-
${{ inputs.node-modules-cache-key }}-${{ runner.os }}-${{ runner.arch }}-${{
hashFiles('.nvmrc', 'package.json', 'yarn.lock', '.yarnrc.yml', '.yarn/releases/**', '.yarn/patches/**') }}
lookup-only: true
- name: Setup Node and install
if: steps.dependencies.outputs.cache-hit != 'true'
uses: ./.github/actions/setup
with:
cache: false
- name: Save complete dependency tree
if: steps.dependencies.outputs.cache-hit != 'true'
continue-on-error: true
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules
.yarn/install-state.gz
key: >-
${{ inputs.node-modules-cache-key }}-${{ runner.os }}-${{ runner.arch }}-${{
hashFiles('.nvmrc', 'package.json', 'yarn.lock', '.yarnrc.yml', '.yarn/releases/**', '.yarn/patches/**') }}
-47
View File
@@ -1,47 +0,0 @@
name: Setup Node and install
description: Set up Node from .nvmrc and install yarn dependencies
inputs:
immutable:
description: Pass --immutable to yarn install
default: "true"
cache:
description: Enable the yarn cache in setup-node
default: "true"
node-modules-cache:
description: Restore the exact shared node_modules cache before installing
default: "false"
node-modules-cache-key:
description: Prefix for the shared node_modules cache key
default: node-modules-v1
runs:
using: composite
steps:
- name: Restore complete dependency tree
id: dependency-cache
if: inputs.node-modules-cache == 'true'
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules
.yarn/install-state.gz
key: >-
${{ inputs.node-modules-cache-key }}-${{ runner.os }}-${{ runner.arch }}-${{
hashFiles('.nvmrc', 'package.json', 'yarn.lock', '.yarnrc.yml', '.yarn/releases/**', '.yarn/patches/**') }}
- name: Setup Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: ".nvmrc"
cache: ${{ inputs.cache == 'true' && (inputs.node-modules-cache != 'true' || steps.dependency-cache.outputs.cache-hit != 'true') && 'yarn' || '' }}
- name: Enable Corepack
shell: bash
run: corepack enable
- name: Install dependencies
if: inputs.node-modules-cache != 'true' || steps.dependency-cache.outputs.cache-hit != 'true'
shell: bash
run: yarn install ${{ inputs.immutable == 'true' && '--immutable' || '' }}
-1
View File
@@ -1 +0,0 @@
../AGENTS.md
-24
View File
@@ -1,24 +0,0 @@
version: 2
updates:
- package-ecosystem: "github-actions"
# Dependabot only scans .github/workflows by default; composite actions
# under .github/actions must be listed explicitly to stay updated.
# https://github.com/dependabot/dependabot-core/issues/6704
directories:
- "/"
- "/.github/actions/setup"
- "/.github/actions/build"
- "/.github/actions/netlify-deploy"
schedule:
interval: weekly
time: "06:00"
cooldown:
default-days: 7
open-pull-requests-limit: 10
groups:
codeql-action:
patterns:
- "github/codeql-action/*"
labels:
- Dependencies
- GitHub Actions
-95
View File
@@ -1,95 +0,0 @@
Agents:
- changed-files:
- any-glob-to-any-file:
- "**/AGENTS.md"
- "**/CLAUDE.md"
- "**/GEMINI.md"
- .agents/**
- .claude/**
- .github/agents/**
- .github/copilot-instructions.md
- .github/hooks/**
- .github/instructions/**
- .github/plugin.json
- .github/plugin/**
- .github/prompts/**
- .github/skills/**
- .github/workflows/copilot-setup-steps.yml
Build:
- changed-files:
- any-glob-to-any-file:
- build-scripts/**
- .browserslistrc
- gulpfile.js
Cast:
- changed-files:
- any-glob-to-any-file:
- cast/src/**
- src/cast/**
Demo:
- changed-files:
- any-glob-to-any-file:
- demo/src/**
- src/fake_data/**
Design:
- changed-files:
- any-glob-to-any-file:
- gallery/src/**
- src/fake_data/**
Dependencies:
- any:
- changed-files:
# Match when only these files are changed (i.e. don't match PRs that happen to add or remove packages)
- any-glob-to-all-files:
- package.json
- renovate.json
- yarn.lock
- .yarn/**
- .yarnrc.yml
- .nvmrc
# Dependabot and Renovate branches always match (i.e. compatibility tweaks by members considered minor)
- head-branch:
- "^renovate/"
- "^dependabot/"
GitHub Actions:
- changed-files:
- any-glob-to-any-file:
- .github/actions/**
- .github/workflows/**
- .github/*.yml
"Tests: E2E":
- changed-files:
- any-glob-to-any-file:
- test/e2e/**
"Tests: App":
- changed-files:
- any-glob-to-any-file:
- test/e2e/app.spec.ts
- test/e2e/app/**
- test/e2e/playwright.app.config.ts
"Tests: Demo":
- changed-files:
- any-glob-to-any-file:
- test/e2e/demo.spec.ts
- test/e2e/playwright.demo.config.ts
"Tests: Design":
- changed-files:
- any-glob-to-any-file:
- test/e2e/gallery.spec.ts
- test/e2e/playwright.gallery.config.ts
"Tests: Unit":
- changed-files:
- any-glob-to-any-file:
- test/*.ts
- "test/!(e2e)/**"
-5
View File
@@ -1,8 +1,3 @@
categories:
- title: "Dependency updates"
collapse-after: 3
labels:
- "Dependencies"
template: |
## What's Changed
-38
View File
@@ -1,38 +0,0 @@
#!/usr/bin/env node
// Fails the check when a pull request carries a label that blocks merging, and
// writes the outcome to the job summary. Invoked from the `check` job in
// .github/workflows/blocking-labels.yaml via actions/github-script:
//
// const { default: checkBlockingLabels } =
// await import(`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-blocking-labels.mjs`);
// await checkBlockingLabels({ github, context, core });
export default async function checkBlockingLabels({ context, core }) {
const blockingLabels = [
"wait for backend",
"Needs UX",
"Do Not Review",
"Blocked",
"has-parent",
];
const prLabels = context.payload.pull_request.labels.map((l) => l.name);
const found = blockingLabels.filter((bl) => prLabels.includes(bl));
if (found.length > 0) {
const message = `This Pull Request is blocked by label${found.length > 1 ? "s" : ""}: ${found.join(", ")}`;
await core.summary
.addHeading(":no_entry_sign: Pull Request is blocked", 2)
.addRaw(message)
.write();
core.setFailed(message);
} else {
await core.summary
.addHeading(
":white_check_mark: Pull Request is clear to merge after review",
2
)
.addRaw(
"This Pull Request is not blocked by any labels which prevent it from being merged."
)
.write();
}
}
@@ -1,195 +0,0 @@
#!/usr/bin/env node
// Checks that a pull request follows the contribution standards: it must use the
// PR template, tick exactly one "Type of change" option, and describe the change.
// Labels and comments the PR when it does not, and fails the check so it blocks
// merging. Invoked from the `check` job in .github/workflows/pull-request-standards.yaml
// via actions/github-script:
//
// const { default: checkStandards } =
// await import(`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-pull-request-standards.mjs`);
// await checkStandards({ github, context, core });
export default async function checkPullRequestStandards({
github,
context,
core,
}) {
const pr = context.payload.pull_request;
// Exempt bots (Copilot agent, dependabot), drafts, and maintainers.
if (pr.user.type === "Bot") {
core.info(`Skipping bot author: ${pr.user.login}`);
return;
}
if (pr.draft) {
core.info("Skipping draft pull request");
return;
}
try {
await github.rest.orgs.checkMembershipForUser({
org: "home-assistant",
username: pr.user.login,
});
core.info(`Skipping organization member: ${pr.user.login}`);
return;
} catch (_error) {
core.info(
`${pr.user.login} is not an organization member, checking standards`
);
}
const label = "Needs Template";
const marker = "<!-- pr-standards-check -->";
const { owner, repo } = context.repo;
const issue_number = pr.number;
let body = pr.body || "";
let previous;
do {
previous = body;
body = body.replace(/<!--[\s\S]*?-->/g, "");
} while (body !== previous);
const normalized = body.toLowerCase();
// Ignore 404s from mutations that race manual edits or cancelled runs.
const ignoreMissing = async (fn) => {
try {
await fn();
} catch (error) {
if (error.status === 404) {
core.info("Target already removed, nothing to do");
return;
}
throw error;
}
};
// Hide/restore our comment via GraphQL (REST cannot minimize).
const setMinimized = async (subjectId, minimized) => {
const mutation = minimized
? `mutation($id: ID!) {
minimizeComment(input: { subjectId: $id, classifier: RESOLVED }) {
clientMutationId
}
}`
: `mutation($id: ID!) {
unminimizeComment(input: { subjectId: $id }) {
clientMutationId
}
}`;
try {
await github.graphql(mutation, { id: subjectId });
} catch (error) {
core.info(
`Could not ${minimized ? "minimize" : "restore"} comment: ${error.message}`
);
}
};
// Content of a "## <name>" section, or null when the heading is absent.
const section = (name) => {
const match = body.match(
new RegExp(`##\\s${name}([\\s\\S]*?)(?=\\n##\\s|$)`, "i")
);
return match ? match[1] : null;
};
const problems = [];
const requiredHeadings = [
"## proposed change",
"## type of change",
"## checklist",
];
if (requiredHeadings.some((h) => !normalized.includes(h))) {
problems.push(
"Use the pull request template without removing its sections."
);
}
const typeOfChange = section("type of change");
if (typeOfChange !== null) {
const ticked = (typeOfChange.match(/-\s*\[[xX]\]/g) || []).length;
if (ticked !== 1) {
problems.push('Select exactly one option under "Type of change".');
}
}
const proposedChange = section("proposed change");
if (proposedChange !== null && proposedChange.trim().length === 0) {
problems.push('Describe your changes under "Proposed change".');
}
const isValid = problems.length === 0;
const comments = await github.paginate(github.rest.issues.listComments, {
owner,
repo,
issue_number,
per_page: 100,
});
const existing = comments.find((c) => c.body.includes(marker));
const hasLabel = pr.labels.some((l) => l.name === label);
if (isValid) {
core.info("Pull request standards met");
if (hasLabel) {
await ignoreMissing(() =>
github.rest.issues.removeLabel({
owner,
repo,
issue_number,
name: label,
})
);
}
if (existing) {
await setMinimized(existing.node_id, true);
}
return;
}
core.info(`Pull request standards not met:\n- ${problems.join("\n- ")}`);
if (!hasLabel) {
await github.rest.issues.addLabels({
owner,
repo,
issue_number,
labels: [label],
});
}
const message =
`${marker}\n` +
`Hey @${pr.user.login}!\n\n` +
`Thank you for your contribution! To help reviewers, please update ` +
`this pull request to follow our pull request standards:\n\n` +
problems.map((p) => `- ${p}`).join("\n") +
`\n\n` +
`Please complete the ` +
`[PR template](https://github.com/home-assistant/frontend/blob/dev/.github/PULL_REQUEST_TEMPLATE.md?plain=1) ` +
`and see the [developer docs](https://developers.home-assistant.io/docs/review-process) ` +
`for more on creating a great pull request (see point 6).`;
if (existing) {
await github.rest.issues.updateComment({
owner,
repo,
comment_id: existing.id,
body: message,
});
await setMinimized(existing.node_id, false);
} else {
await github.rest.issues.createComment({
owner,
repo,
issue_number,
body: message,
});
}
// Fail this check so it can block the PR from being merged
core.setFailed(`Pull request standards not met:\n- ${problems.join("\n- ")}`);
}
@@ -1,58 +0,0 @@
#!/usr/bin/env node
// Restricts Task issues to organization members: closes and labels the issue with
// an explanatory comment when the author is not an org member. Invoked from the
// `check-authorization` job in .github/workflows/restrict-task-creation.yaml via
// actions/github-script:
//
// const { default: checkTaskAuthorization } =
// await import(`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-task-authorization.mjs`);
// await checkTaskAuthorization({ github, context, core });
export default async function checkTaskAuthorization({
github,
context,
core,
}) {
const issueAuthor = context.payload.issue.user.login;
// Check if user is an organization member
try {
await github.rest.orgs.checkMembershipForUser({
org: "home-assistant",
username: issueAuthor,
});
core.info(`✅ ${issueAuthor} is an organization member`);
return; // Authorized
} catch (_error) {
core.info(`❌ ${issueAuthor} is not authorized to create Task issues`);
}
// Close the issue with a comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body:
`Hi @${issueAuthor}, thank you for your contribution!\n\n` +
`Task issues are restricted to Open Home Foundation staff and authorized contributors.\n\n` +
`If you would like to:\n` +
`- Report a bug: Please use the [bug report form](https://github.com/home-assistant/frontend/issues/new?template=bug_report.yml)\n` +
`- Request a feature: Please submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)\n\n` +
`If you believe you should have access to create Task issues, please contact the maintainers.`,
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
state: "closed",
});
// Add a label to indicate this was auto-closed
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ["auto-closed"],
});
}
-42
View File
@@ -1,42 +0,0 @@
name: Lint workflow files
on:
push:
branches:
- dev
- master
paths:
- ".github/actions/**"
- ".github/workflows/**"
pull_request:
branches:
- dev
- master
paths:
- ".github/actions/**"
- ".github/workflows/**"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
actionlint:
name: Check workflow files
runs-on: ubuntu-latest
env:
# renovate: datasource=github-releases depName=rhysd/actionlint
ACTIONLINT_VERSION: 1.7.12
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run actionlint
run: |
curl -sSfL "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" \
| tar -xz actionlint
./actionlint -color
-35
View File
@@ -1,35 +0,0 @@
name: Blocking labels
on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
- unlabeled
branches:
- dev
- master
permissions:
contents: read
jobs:
check:
name: Check for labels which block the Pull Request from being merged
runs-on: ubuntu-latest
steps:
- name: Check out workflow scripts
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
sparse-checkout: .github/scripts
- name: Check for blocking labels
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { default: checkBlockingLabels } = await import(
`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-blocking-labels.mjs`
);
await checkBlockingLabels({ github, context, core });
-79
View File
@@ -1,79 +0,0 @@
name: Cast deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- master
permissions:
contents: read
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy_dev:
runs-on: ubuntu-latest
name: Deploy Development
if: github.event_name != 'push'
environment:
name: Cast Development
url: ${{ steps.deploy.outputs.netlify_url }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: dev
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Cast
uses: ./.github/actions/build
with:
target: build-cast
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: cast/dist
alias: dev
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_CAST_SITE_ID }}
deploy_master:
runs-on: ubuntu-latest
name: Deploy Production
if: github.event_name == 'push'
environment:
name: Cast Production
url: ${{ steps.deploy.outputs.netlify_url }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: master
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Cast
uses: ./.github/actions/build
with:
target: build-cast
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: cast/dist
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_CAST_SITE_ID }}
+60 -164
View File
@@ -1,7 +1,6 @@
name: CI
on:
workflow_dispatch:
push:
branches:
- dev
@@ -12,190 +11,87 @@ on:
- master
env:
NODE_VERSION: 14
NODE_OPTIONS: --max_old_space_size=6144
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
prepare-dependencies:
name: Prepare dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Prepare dependencies
uses: ./.github/actions/prepare-dependencies
lint:
name: Lint and check format
needs: prepare-dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v2
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-demos
- name: Run eslint
run: yarn run lint:eslint
- name: Run tsc
run: yarn run lint:types
- name: Run prettier
run: yarn run lint:prettier
- name: Check for duplicate dependencies
run: yarn dedupe --check
- name: Build resources
id: build_resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup lint cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules/.cache/prettier
node_modules/.cache/eslint
node_modules/.cache/typescript
key: lint-${{ github.sha }}
restore-keys: lint-
- name: Run eslint
run: yarn run lint:eslint --quiet
- name: Run tsc
if: ${{ !cancelled() && steps.build_resources.outcome == 'success' }}
run: yarn run lint:types
- name: Run lit-analyzer
if: ${{ !cancelled() && steps.build_resources.outcome == 'success' }}
run: yarn run lint:lit --quiet
- name: Run prettier
if: ${{ !cancelled() && steps.build_resources.outcome == 'success' }}
run: yarn run lint:prettier
- name: Check dependency licenses
if: ${{ !cancelled() && steps.build_resources.outcome == 'success' }}
run: yarn run lint:licenses
test:
name: Run tests
needs: prepare-dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v2
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CI: true
- name: Build resources
run: ./node_modules/.bin/gulp build-translations build-locale-data
- name: Run Tests
run: yarn run test
build:
name: Build frontend
# Runs alongside lint and test rather than after them: the build only needs
# the dependency tree, and with the rspack cache it is no longer expensive
# enough to be worth serialising behind the other checks. The
# cancel-on-failure job below stops the run as soon as a check fails, so a
# broken pull request does not finish building.
needs: prepare-dependencies
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@v2
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
# Read-only reuse of the rspack cache written by the nightly (see
# nightly.yaml). rspack itself decides what is still valid (version +
# buildDependencies + node_modules snapshot), so the GHA key just restores
# the latest nightly cache; no fingerprint, and no save step (CI never
# writes the shared cache).
- name: Restore rspack cache
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .rspack-cache
key: rspack-cache-${{ runner.os }}-${{ github.run_id }}
restore-keys: |
rspack-cache-${{ runner.os }}-
- name: Build Application
uses: ./.github/actions/build
with:
target: build-app
github-token: ${{ secrets.GITHUB_TOKEN }}
is-test: true
rspack-cache: readonly
- name: Upload bundle stats
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: frontend-bundle-stats
path: build/stats/*.json
if-no-files-found: error
- name: Check entrypoint bundle size budget
run: yarn run check-bundlesize
- name: Upload frontend build
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: frontend-build
path: hass_frontend/
if-no-files-found: error
retention-days: 7
# Now that the checks run in parallel, a failing lint or test no longer stops
# the build from finishing on its own, so this watches them and cancels the
# whole run on the first failure.
#
# It is a separate job on purpose. Cancelling needs `actions: write`, and the
# other jobs check out the pull request and run its build scripts — handing
# them that scope would give PR-controlled code (or a compromised dependency)
# write access to Actions. This job never checks out the repository, so the
# elevated token stays away from PR code. It also cannot be a job that
# `needs` the checks: that would only start once they have all finished, which
# is exactly too late to cancel anything.
cancel-on-failure:
name: Cancel run on failure
needs: prepare-dependencies
runs-on: ubuntu-latest
permissions:
actions: write
timeout-minutes: 30
steps:
- name: Cancel the run when a check fails
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
RUN_ID: ${{ github.run_id }}
run: |
watched='^(Lint and check format|Run tests|Build frontend)$'
while :; do
jobs=$(gh api "repos/$REPO/actions/runs/$RUN_ID/jobs?per_page=100" \
--paginate --jq '.jobs[] | [.name, .status, (.conclusion // "")] | @tsv' \
2>/dev/null || true)
failed=$(printf '%s\n' "$jobs" | awk -F'\t' -v w="$watched" \
'$1 ~ w && ($3 == "failure" || $3 == "timed_out") { print $1 }')
if [ -n "$failed" ]; then
echo "Cancelling the run, these checks failed:"
printf '%s\n' "$failed"
gh run cancel "$RUN_ID" --repo "$REPO" || true
exit 0
fi
found=$(printf '%s\n' "$jobs" | awk -F'\t' -v w="$watched" '$1 ~ w' | wc -l)
running=$(printf '%s\n' "$jobs" | awk -F'\t' -v w="$watched" \
'$1 ~ w && $2 != "completed" { print $1 }')
if [ "$found" -ge 3 ] && [ -z "$running" ]; then
echo "All checks finished without failure"
exit 0
fi
sleep 15
done
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-app
env:
IS_TEST: "true"
supervisor:
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Application
run: ./node_modules/.bin/gulp build-hassio
env:
IS_TEST: "true"
-43
View File
@@ -1,43 +0,0 @@
name: "CodeQL"
on:
push:
branches:
- dev
- master
pull_request:
# The branches below must be a subset of the branches above
branches:
- dev
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
timeout-minutes: 360
permissions:
contents: read # To check out the repository
security-events: write # To upload CodeQL results
steps:
- name: Check out code from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
languages: javascript-typescript
build-mode: none
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
with:
category: "/language:javascript-typescript"
+60
View File
@@ -0,0 +1,60 @@
name: "CodeQL"
on:
push:
branches: [dev, master]
pull_request:
# The branches below must be a subset of the branches above
branches: [dev]
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['javascript']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
-34
View File
@@ -1,34 +0,0 @@
name: Copilot Setup Steps
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Skip fetching nightly translations
run: echo "SKIP_FETCH_NIGHTLY_TRANSLATIONS=1" >> "$GITHUB_ENV"
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages
+35
View File
@@ -0,0 +1,35 @@
name: Demo
on:
push:
branches:
- dev
env:
NODE_VERSION: 14
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
- name: Deploy to Netlify
uses: netlify/actions/cli@master
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
with:
args: deploy --dir=demo/dist --prod
-79
View File
@@ -1,79 +0,0 @@
name: Demo deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- dev
- master
permissions:
contents: read
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy_dev:
runs-on: ubuntu-latest
name: Demo Development
if: github.event_name != 'push' || github.ref_name != 'master'
environment:
name: Demo Development
url: ${{ steps.deploy.outputs.unique_deploy_url }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: dev
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Demo
uses: ./.github/actions/build
with:
target: build-demo
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: demo/dist
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
deploy_master:
runs-on: ubuntu-latest
name: Demo Production
if: github.event_name == 'push' && github.ref_name == 'master'
environment:
name: Demo Production
url: ${{ steps.deploy.outputs.netlify_url }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: master
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Demo
uses: ./.github/actions/build
with:
target: build-demo
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: demo/dist
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_DEMO_SITE_ID }}
-41
View File
@@ -1,41 +0,0 @@
name: Design deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: Design
url: ${{ steps.deploy.outputs.netlify_url }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Gallery
uses: ./.github/actions/build
with:
target: build-gallery
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: gallery/dist
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_GALLERY_SITE_ID }}
-50
View File
@@ -1,50 +0,0 @@
name: Design preview
on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
branches:
- dev
permissions:
contents: read
env:
NODE_OPTIONS: --max_old_space_size=6144
jobs:
preview:
runs-on: ubuntu-latest
# Skip running on forks since it won't have access to secrets
# Skip running PRs without 'needs design preview' label
if: github.repository == 'home-assistant/frontend' && contains(github.event.pull_request.labels.*.name, 'needs design preview')
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Build Gallery
uses: ./.github/actions/build
with:
target: build-gallery
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy preview to Netlify
id: deploy
uses: ./.github/actions/netlify-deploy
with:
dir: gallery/dist
alias: deploy-preview-${{ github.event.number }}
auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site-id: ${{ secrets.NETLIFY_GALLERY_SITE_ID }}
- name: Generate summary
run: echo "${{ steps.deploy.outputs.netlify_url }}" >> "$GITHUB_STEP_SUMMARY"
-396
View File
@@ -1,396 +0,0 @@
name: E2E Tests
on:
push:
branches:
- dev
- master
pull_request:
branches:
- dev
- master
workflow_dispatch:
env:
NODE_OPTIONS: --max_old_space_size=6144
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
prepare-dependencies:
name: Prepare dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Prepare dependencies
uses: ./.github/actions/prepare-dependencies
prepare-container-dependencies:
name: Prepare container dependencies
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.62.1-noble
options: --user 1001
defaults:
run:
shell: bash
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Prepare dependencies
uses: ./.github/actions/prepare-dependencies
with:
node-modules-cache-key: node-modules-container-v1
# ── Build the demo once and share it across test jobs via artifact ──────────
build-demo:
name: Build demo
needs: prepare-dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Build demo
uses: ./.github/actions/build
with:
target: build-demo-e2e
github-token: ${{ secrets.GITHUB_TOKEN }}
is-test: true
- name: Upload demo build
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: demo-dist
path: demo/dist/
if-no-files-found: error
retention-days: 3
# ── Build the e2e test app and share it via artifact ────────────────────────
build-e2e-test-app:
name: Build e2e test app
needs: prepare-dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Build e2e test app
uses: ./.github/actions/build
with:
target: build-e2e-test-app-e2e
github-token: ${{ secrets.GITHUB_TOKEN }}
is-test: true
- name: Upload e2e test app build
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: e2e-test-app-dist
path: test/e2e/app/dist/
if-no-files-found: error
retention-days: 3
# ── Build the gallery and share it via artifact ─────────────────────────────
build-gallery:
name: Build gallery
needs: prepare-dependencies
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Build gallery
uses: ./.github/actions/build
with:
target: build-gallery
github-token: ${{ secrets.GITHUB_TOKEN }}
is-test: true
- name: Upload gallery build
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: gallery-dist
path: gallery/dist/
if-no-files-found: error
retention-days: 3
# ── Run Playwright tests against Chromium ──────────────────────────────────
e2e-demo:
name: E2E demo (${{ matrix.shardIndex }}/${{ matrix.shardTotal }})
needs:
- build-demo
- prepare-container-dependencies
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.62.1-noble
options: --user 1001 --ipc=host
defaults:
run:
shell: bash
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shardIndex:
- 1
- 2
shardTotal:
- 2
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
node-modules-cache-key: node-modules-container-v1
- name: Download demo build
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: demo-dist
path: demo/dist/
- name: Run Playwright demo tests
run: yarn test:e2e:demo --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
timeout-minutes: 15
- name: Upload demo blob report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: blob-report-demo-${{ matrix.shardIndex }}
path: test/e2e/reports/demo/
if-no-files-found: warn
retention-days: 3
e2e-app:
name: E2E app (${{ matrix.shardIndex }}/${{ matrix.shardTotal }})
needs:
- build-e2e-test-app
- prepare-container-dependencies
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.62.1-noble
options: --user 1001 --ipc=host
defaults:
run:
shell: bash
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shardIndex:
- 1
- 2
- 3
- 4
shardTotal:
- 4
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
node-modules-cache-key: node-modules-container-v1
- name: Download e2e test app build
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: e2e-test-app-dist
path: test/e2e/app/dist/
- name: Run Playwright app tests
run: yarn test:e2e:app --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
timeout-minutes: 15
- name: Upload app blob report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: blob-report-app-${{ matrix.shardIndex }}
path: test/e2e/reports/app/
if-no-files-found: warn
retention-days: 3
e2e-gallery:
name: E2E gallery (${{ matrix.shardIndex }}/${{ matrix.shardTotal }})
needs:
- build-gallery
- prepare-container-dependencies
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.62.1-noble
options: --user 1001 --ipc=host
defaults:
run:
shell: bash
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
shardIndex:
- 1
- 2
- 3
- 4
shardTotal:
- 4
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
node-modules-cache-key: node-modules-container-v1
- name: Download gallery build
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: gallery-dist
path: gallery/dist/
- name: Run Playwright gallery tests
run: yarn test:e2e:gallery --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
timeout-minutes: 15
- name: Upload gallery blob report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: blob-report-gallery-${{ matrix.shardIndex }}
path: test/e2e/reports/gallery/
if-no-files-found: warn
retention-days: 3
report:
name: Report
needs:
- e2e-demo
- e2e-app
- e2e-gallery
runs-on: ubuntu-latest
if: ${{ always() }}
permissions:
contents: read
pull-requests: write
steps:
- name: Check out files from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node with shared dependencies
uses: ./.github/actions/setup
with:
node-modules-cache: true
- name: Download demo blob reports
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
continue-on-error: true
with:
pattern: blob-report-demo-*
path: test/e2e/reports/demo/
- name: Download app blob reports
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
continue-on-error: true
with:
pattern: blob-report-app-*
path: test/e2e/reports/app/
- name: Download gallery blob reports
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
continue-on-error: true
with:
pattern: blob-report-gallery-*
path: test/e2e/reports/gallery/
- name: Stage blobs for merge
run: node test/e2e/collect-blob-reports.mjs
- name: Merge blob reports
run: npx playwright merge-reports -c test/e2e/playwright.merge.config.ts test/e2e/reports/blob
- name: Upload merged HTML report
id: upload-report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: playwright-report
path: test/e2e/reports/combined/
retention-days: 14
- name: Post report to PR
if: >-
github.event_name == 'pull_request' &&
(needs.e2e-demo.result == 'failure' ||
needs.e2e-app.result == 'failure' ||
needs.e2e-gallery.result == 'failure')
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { default: postReportComment } = await import(
`${process.env.GITHUB_WORKSPACE}/test/e2e/post-report-comment.mjs`
);
await postReportComment({ github, context, core });
- name: Check suite results
run: |
failed=0
for suite in \
"demo:${{ needs.e2e-demo.result }}" \
"app:${{ needs.e2e-app.result }}" \
"gallery:${{ needs.e2e-gallery.result }}"; do
name="${suite%%:*}"
result="${suite#*:}"
echo "E2E ${name}: ${result}"
if [ "$result" != "success" ]; then
failed=1
fi
done
exit "$failed"
-15
View File
@@ -1,15 +0,0 @@
name: "Pull Request Labeler"
on: pull_request_target # zizmor: ignore[dangerous-triggers] -- safe: only runs actions/labeler, no PR code checkout
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Apply labels
uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
with:
sync-labels: true
-23
View File
@@ -1,23 +0,0 @@
name: Lock
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
permissions:
issues: write
pull-requests: write
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@89ae32b08ed1a541efecbab17912962a5e38981c # v6.0.2
with:
github-token: ${{ github.token }}
process-only: "issues, prs"
issue-inactive-days: "30"
issue-lock-reason: ""
pr-inactive-days: "1"
pr-lock-reason: ""
+20
View File
@@ -0,0 +1,20 @@
name: Lock
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/[email protected]
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"
issue-exclude-created-before: "2020-10-01T00:00:00Z"
issue-lock-reason: ""
pr-lock-inactive-days: "1"
pr-exclude-created-before: "2020-11-01T00:00:00Z"
pr-lock-reason: ""
+19
View File
@@ -0,0 +1,19 @@
name: Netlify
on:
schedule:
- cron: "0 0 * * *"
jobs:
trigger_builds:
name: Trigger netlify build preview
runs-on: "ubuntu-latest"
steps:
- name: Trigger Cast build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_CAST_DEV_BUILD_HOOK }}
- name: Trigger Demo build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_DEMO_DEV_BUILD_HOOK }}
- name: Trigger Gallery build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_GALLERY_DEV_BUILD_HOOK }}
-142
View File
@@ -1,142 +0,0 @@
name: Nightly
on:
workflow_dispatch:
schedule:
- cron: "0 1 * * *"
env:
PYTHON_VERSION: "3.14"
NODE_OPTIONS: --max_old_space_size=6144
permissions:
actions: none
jobs:
nightly:
name: Nightly
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Setup Node and install
uses: ./.github/actions/setup
with:
immutable: false
- name: Download translations
run: ./script/translations_download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
# The wheel only builds the app (build-app), which does not merge
# backend translations. Skipping the whole-project backend export (as
# the release does) keeps this off the build's critical path; the full
# translations artifact is produced in parallel by the job below.
SKIP_BACKEND_TRANSLATIONS: "1"
- name: Bump version
run: script/version_bump.js nightly
# Warm the shared compression cache so releases reuse it (see release.yaml).
- name: Restore compression cache
id: compress-cache
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .compress-cache
key: compress-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
compress-cache-${{ runner.os }}-
# The nightly writes the rspack persistent cache; CI reads it read-only
# (see ci.yaml). rspack invalidates internally (version + buildDependencies
# + node_modules snapshot), so the cache rolls forward daily and a single
# dependency bump keeps most of it warm instead of dropping the lineage.
- name: Restore rspack cache
id: rspack-cache
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .rspack-cache
key: rspack-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
rspack-cache-${{ runner.os }}-
- name: Build nightly Python wheels
env:
COMPRESS_CACHE_DIR: ${{ github.workspace }}/.compress-cache
RSPACK_CACHE: readwrite
run: |
pip install build
yarn install
export SKIP_FETCH_NIGHTLY_TRANSLATIONS=1
script/build_frontend
rm -rf dist home_assistant_frontend.egg-info
python3 -m build
# Not gated on the restore steps: a transient restore failure (they are
# continue-on-error) must not stop us persisting a freshly built cache.
- name: Save compression cache
if: success()
continue-on-error: true
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .compress-cache
key: compress-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
- name: Save rspack cache
if: success()
continue-on-error: true
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .rspack-cache
key: rspack-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
- name: Upload build artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: wheels
path: dist/home_assistant_frontend*.whl
if-no-files-found: error
# The full translations (including the slow backend/core export) are only
# needed for the uploaded artifact, not the wheel, so they are downloaded in
# parallel here instead of blocking the build above.
translations:
name: Translations
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
with:
immutable: false
- name: Download translations
run: ./script/translations_download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Archive translations
run: tar -czvf translations.tar.gz translations
- name: Upload translations
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
@@ -1,38 +0,0 @@
name: Pull request standards
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] -- safe: reads PR metadata from event payload only, checks out base repo scripts only, never PR head code
types:
- opened
- edited
- reopened
- ready_for_review
branches:
- dev
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
check:
name: Check pull request follows contribution standards
runs-on: ubuntu-latest
permissions:
pull-requests: write # To label and comment on pull requests
steps:
- name: Check out workflow scripts
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
sparse-checkout: .github/scripts
- name: Check pull request standards
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { default: checkStandards } = await import(
`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-pull-request-standards.mjs`
);
await checkStandards({ github, context, core });
-39
View File
@@ -1,39 +0,0 @@
name: RelativeCI
on:
# zizmor: ignore[dangerous-triggers] -- safe: only downloads artifacts, no PR code checkout
workflow_run:
workflows: [CI]
types:
- completed
permissions:
contents: read
actions: read
jobs:
upload-frontend-modern:
name: Upload stats (frontend/modern)
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Send bundle stats and build information to RelativeCI
uses: relative-ci/agent-action@fcf45416581928e8dd62eded78ce98c78e5149f8 # v3.2.3
with:
key: ${{ secrets.RELATIVE_CI_KEY_frontend_modern }}
token: ${{ github.token }}
artifactName: frontend-bundle-stats
webpackStatsFile: frontend-modern.json
upload-frontend-legacy:
name: Upload stats (frontend/legacy)
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Send bundle stats and build information to RelativeCI
uses: relative-ci/agent-action@fcf45416581928e8dd62eded78ce98c78e5149f8 # v3.2.3
with:
key: ${{ secrets.RELATIVE_CI_KEY_frontend_legacy }}
token: ${{ github.token }}
artifactName: frontend-bundle-stats
webpackStatsFile: frontend-legacy.json
+1 -10
View File
@@ -5,19 +5,10 @@ on:
branches:
- dev
permissions:
contents: read
jobs:
update_release_draft:
permissions:
# write permission for contents is required to create a github release
contents: write
# write permission for pull-requests is required for autolabeler
# otherwise, read permission is required at least
pull-requests: read
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+45 -123
View File
@@ -6,164 +6,86 @@ on:
- published
env:
PYTHON_VERSION: "3.14"
PYTHON_VERSION: 3.8
NODE_VERSION: 14
NODE_OPTIONS: --max_old_space_size=6144
# Set default workflow permissions
# All scopes not mentioned here are set to no access
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
permissions:
actions: none
jobs:
release:
name: Release
runs-on: ubuntu-latest
environment: pypi
permissions:
contents: write # Required to upload release assets
id-token: write # For "Trusted Publisher" to PyPi
if: github.repository_owner == 'home-assistant'
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
uses: actions/checkout@v2
- name: Verify version
uses: home-assistant/actions/helpers/verify-version@master
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
uses: actions/setup-python@v2
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Verify version
uses: home-assistant/actions/helpers/verify-version@58bff37c8947f690ace498be413a9b78d6f30f93 # master
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v2
with:
immutable: false
cache: false
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
- name: Download Translations
run: ./script/translations_download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
# The app fetches core (backend) translations live from HA, so the
# release build does not need Lokalise's backend project.
SKIP_BACKEND_TRANSLATIONS: "1"
# Restore the content-addressed compression cache. Unchanged chunks and
# static assets are then reused instead of re-run through brotli/zopfli.
- name: Restore compression cache
id: compress-cache
continue-on-error: true
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .compress-cache
key: compress-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
compress-cache-${{ runner.os }}-
- name: Build and release package
env:
COMPRESS_CACHE_DIR: ${{ github.workspace }}/.compress-cache
run: |
python3 -m pip install build
export SKIP_FETCH_NIGHTLY_TRANSLATIONS=1
python3 -m pip install twine
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
script/release
# The build keeps the cache under its size budget, so saving stays bounded.
# A unique key always writes; restore-keys picks the newest on the next
# run. Not gated on the restore step: a transient restore failure (it is
# continue-on-error) must not stop us persisting a freshly built cache.
- name: Save compression cache
if: success()
continue-on-error: true
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .compress-cache
key: compress-cache-${{ runner.os }}-${{ github.run_id }}-${{ github.run_attempt }}
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
with:
skip-existing: true
- name: Upload release assets
env:
GH_TOKEN: ${{ github.token }}
TAG_NAME: ${{ github.event.release.tag_name }}
run: gh release upload "$TAG_NAME" dist/*.whl dist/*.tar.gz --clobber
wheels-init:
name: Init wheels build
needs: release
runs-on: ubuntu-latest
steps:
- name: Generate requirements.txt
env:
GITHUB_REF: ${{ github.ref }}
run: |
version=$(echo "$GITHUB_REF" | awk -F"/" '{print $NF}' )
# Wait for the exact wheel to appear on the simple index (the surface
# the wheels build's pip uses). The JSON API can report a version as
# available before it propagates here, which fails the wheels build.
wheel="home_assistant_frontend-${version}-py3-none-any.whl"
echo "Waiting for $wheel to appear on the PyPI simple index..."
for i in $(seq 1 30); do
if curl -sf "https://pypi.org/simple/home-assistant-frontend/" | grep -qF "$wheel"; then
echo "Package is available on the PyPI simple index!"
break
fi
if [ "$i" = "30" ]; then
echo "Timed out waiting for package to appear on PyPI"
exit 1
fi
echo "Not available yet, retrying in 30 seconds... ($i/30)"
sleep 30
done
# Sleep to give pypi time to populate the new version across mirrors
sleep 240
version=$(echo "${{ github.ref }}" | awk -F"/" '{print $NF}' )
echo "home-assistant-frontend==$version" > ./requirements.txt
# home-assistant/wheels doesn't support SHA pinning
- name: Build wheels
uses: home-assistant/wheels@9e17ab1ed5c4c79d8b61e29fa63de25ca2710716 # 2026.07.0
- name: Upload requirements.txt
uses: actions/upload-artifact@v2
with:
abi: cp314
tag: musllinux_1_2
arch: amd64
wheels-key: ${{ secrets.WHEELS_KEY }}
requirements: "requirements.txt"
name: requirements
path: ./requirements.txt
release-landing-page:
name: Release landing-page frontend
if: github.event.release.prerelease == false
build-wheels:
name: Build wheels for ${{ matrix.arch }}
needs: wheels-init
runs-on: ubuntu-latest
permissions:
contents: write # Required to upload release assets
strategy:
matrix:
arch: ["aarch64", "armhf", "armv7", "amd64", "i386"]
tag:
- "3.9-alpine3.14"
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Download requirements.txt
uses: actions/download-artifact@v2
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
name: requirements
- name: Build wheels
uses: home-assistant/wheels@master
with:
immutable: false
cache: false
- name: Download Translations
run: ./script/translations_download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
# The landing-page build does not merge backend translations.
SKIP_BACKEND_TRANSLATIONS: "1"
- name: Build landing-page
run: landing-page/script/build_landing_page
- name: Tar folder
env:
TAG_NAME: ${{ github.event.release.tag_name }}
run: tar -czf "landing-page/home_assistant_frontend_landingpage-${TAG_NAME}.tar.gz" -C landing-page/dist .
- name: Upload release asset
env:
GH_TOKEN: ${{ github.token }}
TAG_NAME: ${{ github.event.release.tag_name }}
run: gh release upload "$TAG_NAME" "landing-page/home_assistant_frontend_landingpage-${TAG_NAME}.tar.gz" --clobber
tag: ${{ matrix.tag }}
arch: ${{ matrix.arch }}
wheels-host: ${{ secrets.WHEELS_HOST }}
wheels-key: ${{ secrets.WHEELS_KEY }}
wheels-user: wheels
requirements: "requirements.txt"
@@ -1,56 +0,0 @@
name: Restrict task creation
# yamllint disable-line rule:truthy
on:
issues:
types: [opened]
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.issue.number }}
jobs:
add-no-stale:
name: Add no-stale label
runs-on: ubuntu-latest
permissions:
issues: write # To add labels to issues
if: >-
github.event.issue.type.name == 'Task'
|| github.event.issue.type.name == 'Epic'
|| github.event.issue.type.name == 'Opportunity'
steps:
- name: Add no-stale label
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['no-stale']
});
check-authorization:
name: Check authorization
runs-on: ubuntu-latest
permissions:
contents: read # To check out workflow scripts
issues: write # To comment on, label, and close issues
# Only run if this is a Task issue type (from the issue form)
if: github.event.issue.type.name == 'Task'
steps:
- name: Check out workflow scripts
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
sparse-checkout: .github/scripts
- name: Check if user is authorized
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { default: checkTaskAuthorization } = await import(
`${process.env.GITHUB_WORKSPACE}/.github/scripts/check-task-authorization.mjs`
);
await checkTaskAuthorization({ github, context, core });
-47
View File
@@ -1,47 +0,0 @@
name: Stale
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
permissions:
actions: write
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- name: 90 days stale policy
uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 7
operations-per-run: 25
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted,feature-request,feature%20request"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
+42
View File
@@ -0,0 +1,42 @@
name: Stale
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- name: 90 days stale policy
uses: actions/[email protected]
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 7
operations-per-run: 25
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted,feature-request,feature%20request"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
@@ -1,47 +0,0 @@
name: Sync device class constants
# Mirrors the device class constants for Home Assistant Core's into the
# build-time default in src/data/devce_classes.ts and opens a PR
# when it drifts. Reads homeassistant/generated/device_classes.json from core.
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * *" # Daily, 04:00 UTC
permissions:
contents: read
jobs:
sync:
name: Sync
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Regenerate device class constants
run: ./script/gen_device_classes
- name: Format
run: yarn prettier --write src/data/sensor_numeric_device_classes.ts
- name: Create pull request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
branch: chore/sync-numeric-device-classes
commit-message: Update numeric sensor device classes
title: Update numeric sensor device classes
body: |
Regenerated `SENSOR_NUMERIC_DEVICE_CLASSES` from Home Assistant Core's
`SensorDeviceClass`.
Automated by `.github/workflows/sync-numeric-device-classes.yaml`.
@@ -1,48 +0,0 @@
name: Sync sensor entity constants
# Mirrors Home Assistant Core's numeric `SensorDeviceClass`, `SensorStateClass`,
# units and related device and state classes arrays into the
# build-time default in src/data/sensor_entity_constants.ts and opens a PR
# when it drifts. Reads homeassistant/generated/sensor.json from core.
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * *" # Daily, 04:00 UTC
permissions:
contents: read
jobs:
sync:
name: Sync
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup Node and install
uses: ./.github/actions/setup
- name: Regenerate sensor entity constants
run: ./script/gen_sensor_entity_constants
- name: Format
run: yarn prettier --write src/data/sensor_numeric_device_classes.ts
- name: Create pull request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
branch: chore/sync-numeric-device-classes
commit-message: Update numeric sensor device classes
title: Update numeric sensor device classes
body: |
Regenerated `SENSOR_NUMERIC_DEVICE_CLASSES` from Home Assistant Core's
`SensorDeviceClass`.
Automated by `.github/workflows/sync-numeric-device-classes.yaml`.
+7 -10
View File
@@ -1,16 +1,14 @@
name: Translations
on:
workflow_dispatch:
push:
branches:
- dev
paths:
- .github/workflows/translations.yaml
- src/translations/en.json
permissions:
contents: read
env:
NODE_VERSION: 14
jobs:
upload:
@@ -18,11 +16,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
uses: actions/checkout@v2
- name: Upload Translations
run: ./script/translations_upload_base
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
./script/translations_upload_base
+6 -35
View File
@@ -2,14 +2,9 @@
.reify-cache
# build
build/
dist/
/hass_frontend/
/translations/
/.compress-cache/
/.rspack-cache/
# Composite action source, not build output
!/.github/actions/build/
build
hass_frontend/*
dist
# yarn
.yarn/*
@@ -19,7 +14,7 @@ dist/
!.yarn/sdks
!.yarn/versions
.pnp.*
node_modules/
node_modules/*
yarn-error.log
npm-debug.log
@@ -31,7 +26,7 @@ npm-debug.log
# venv stuff
pyvenv.cfg
pip-selfcheck.json
/venv/
venv/*
.venv
# vscode
@@ -50,28 +45,4 @@ src/cast/dev_const.ts
.tool-versions
# Home Assistant config
/config/
# Jetbrains
/.idea/
# test coverage
test/coverage/
# Playwright e2e output
test/e2e/reports/
test/e2e/test-results/
# E2E test app build output
test/e2e/app/dist/
# MCP server
.playwright-mcp/
# AI tooling
.claude/*
!.claude/skills
.cursor
.opencode
.serena
test/benchmarks/results/
/config
-1
View File
@@ -1 +0,0 @@
yarn run lint-staged --relative
+1 -1
View File
@@ -1 +1 @@
24.21.0
14
+9 -4
View File
@@ -1,4 +1,9 @@
CLA.md
CODE_OF_CONDUCT.md
LICENSE.md
PULL_REQUEST_TEMPLATE.md
build
translations/*
node_modules/*
hass_frontend/*
pip-selfcheck.json
# vscode
.vscode/*
!.vscode/extensions.json
+2 -5
View File
@@ -2,10 +2,7 @@
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens",
"vitest.explorer",
"yeion7.styled-global-variables-autocomplete"
"bierner.lit-html",
"runem.lit-plugin"
]
}
+4 -2
View File
@@ -9,7 +9,9 @@
"webRoot": "${workspaceFolder}/hass_frontend",
"disableNetworkCache": true,
"preLaunchTask": "Develop Frontend",
"outFiles": ["${workspaceFolder}/hass_frontend/frontend_latest/*.js"]
"outFiles": [
"${workspaceFolder}/hass_frontend/frontend_latest/*.js"
]
},
{
"name": "Debug Gallery",
@@ -37,6 +39,6 @@
"webRoot": "${workspaceFolder}/cast/dist",
"disableNetworkCache": true,
"preLaunchTask": "Develop Cast"
}
},
]
}
+23 -48
View File
@@ -1,42 +1,6 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Develop and serve Frontend",
"type": "shell",
"command": "script/develop_and_serve -c ${input:coreUrl}",
// Sync changes here to other tasks until issue resolved
// https://github.com/Microsoft/vscode/issues/61497
"problemMatcher": {
"owner": "ha-build",
"source": "ha-build",
"fileLocation": "absolute",
"severity": "error",
"pattern": [
{
"regexp": "(SyntaxError): (.+): (.+) \\((\\d+):(\\d+)\\)",
"severity": 1,
"file": 2,
"message": 3,
"line": 4,
"column": 5
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "Changes detected. Starting compilation",
"endsPattern": "Build done @"
}
},
"isBackground": true,
"group": {
"kind": "build",
"isDefault": true
},
"runOptions": {
"instanceLimit": 1
}
},
{
"label": "Develop Frontend",
"type": "gulp",
@@ -74,9 +38,9 @@
}
},
{
"label": "Develop Gallery",
"label": "Develop Supervisor panel",
"type": "gulp",
"task": "develop-gallery",
"task": "develop-hassio",
"problemMatcher": {
"owner": "ha-build",
"source": "ha-build",
@@ -98,7 +62,6 @@
"endsPattern": "Build done @"
}
},
"isBackground": true,
"group": "build",
"runOptions": {
@@ -106,9 +69,9 @@
}
},
{
"label": "Develop Landing Page",
"label": "Develop Gallery",
"type": "gulp",
"task": "develop-landing-page",
"task": "develop-gallery",
"problemMatcher": {
"owner": "ha-build",
"source": "ha-build",
@@ -216,18 +179,30 @@
}
},
{
"label": "Setup and fetch nightly translations",
"type": "gulp",
"task": "setup-and-fetch-nightly-translations",
"problemMatcher": []
"label": "Run HA Core for Supervisor in devcontainer",
"type": "shell",
"command": "HASSIO=${input:supervisorHost} HASSIO_TOKEN=${input:supervisorToken} script/core",
"isBackground": true,
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"runOptions": {
"instanceLimit": 1
}
}
],
"inputs": [
{
"id": "coreUrl",
"id": "supervisorHost",
"type": "promptString",
"description": "The URL of the Home Assistant Core instance",
"default": "http://127.0.0.1:8123"
"description": "The IP of the Supervisor host running the Remote API proxy add-on"
},
{
"id": "supervisorToken",
"type": "promptString",
"description": "The token for the Remote API proxy add-on"
}
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,29 @@
diff --git a/lib/uni-virtualizer/lib/polyfillLoaders/EventTarget.js b/lib/uni-virtualizer/lib/polyfillLoaders/EventTarget.js
index d92179f7fd5315203f870a6963e871dc8ddf6c0c..362e284121b97e0fba0925225777aebc32e26b8d 100644
--- a/lib/uni-virtualizer/lib/polyfillLoaders/EventTarget.js
+++ b/lib/uni-virtualizer/lib/polyfillLoaders/EventTarget.js
@@ -1,14 +1,15 @@
-let _ET, ET;
+let _ET;
+let ET;
export default async function EventTarget() {
- return ET || init();
+ return ET || init();
}
async function init() {
- _ET = window.EventTarget;
- try {
- new _ET();
- }
- catch (_a) {
- _ET = (await import('event-target-shim')).EventTarget;
- }
- return (ET = _ET);
+ _ET = window.EventTarget;
+ try {
+ new _ET();
+ } catch (_a) {
+ _ET = (await import("event-target-shim")).default.EventTarget;
+ }
+ return (ET = _ET);
}
@@ -1,22 +0,0 @@
diff --git a/mwc-formfield-base.js b/mwc-formfield-base.js
index 7b763326d7d51835ad52646bfbc80fe21989abd3..f2baa8224e6d03df1fdb0b9fd03f5c6d77fc8747 100644
--- a/mwc-formfield-base.js
+++ b/mwc-formfield-base.js
@@ -9,7 +9,7 @@ import { BaseElement } from '@material/mwc-base/base-element.js';
import { FormElement } from '@material/mwc-base/form-element.js';
import { observer } from '@material/mwc-base/observer.js';
import { html } from 'lit';
-import { property, query, queryAssignedNodes } from 'lit/decorators.js';
+import { property, query, queryAssignedElements } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';
export class FormfieldBase extends BaseElement {
constructor() {
@@ -96,7 +96,7 @@ __decorate([
query('.mdc-form-field')
], FormfieldBase.prototype, "mdcRoot", void 0);
__decorate([
- queryAssignedNodes('', true, '*')
+ queryAssignedElements({ slot: "", flatten: true, selector: "*" })
], FormfieldBase.prototype, "slottedInputs", void 0);
__decorate([
query('label')
@@ -1,26 +0,0 @@
diff --git a/mwc-list-base.js b/mwc-list-base.js
index 1ba95b6a01dcecea4d85b5cbbbcc3dfb04c40d5f..dced13fdb7929c490d6661b1bbe7e9f96dcd2285 100644
--- a/mwc-list-base.js
+++ b/mwc-list-base.js
@@ -11,7 +11,7 @@ import { BaseElement } from '@material/mwc-base/base-element.js';
import { observer } from '@material/mwc-base/observer.js';
import { deepActiveElementPath, doesElementContainFocus, isNodeElement } from '@material/mwc-base/utils.js';
import { html } from 'lit';
-import { property, query, queryAssignedNodes } from 'lit/decorators.js';
+import { property, query, queryAssignedElements } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';
import MDCListFoundation, { isIndexSet } from './mwc-list-foundation.js';
export { createSetFromIndex, isEventMulti, isIndexSet } from './mwc-list-foundation.js';
@@ -425,10 +425,10 @@ __decorate([
query('.mdc-deprecated-list')
], ListBase.prototype, "mdcRoot", void 0);
__decorate([
- queryAssignedNodes('', true, '*')
+ queryAssignedElements({ flatten: true, selector: "*" })
], ListBase.prototype, "assignedElements", void 0);
__decorate([
- queryAssignedNodes('', true, '[tabindex="0"]')
+ queryAssignedElements({ flatten: true, selector: '[tabindex="0"]' })
], ListBase.prototype, "tabbableElements", void 0);
__decorate([
property({ type: Boolean }),
@@ -0,0 +1,12 @@
diff --git a/mwc-icon-button-base.js b/mwc-icon-button-base.js
index 45cdaab93ccc0a6daaaaabc01266dcdc32e46bfd..b3ea5b541597308d85f86ce6c23fd00785fda835 100644
--- a/mwc-icon-button-base.js
+++ b/mwc-icon-button-base.js
@@ -63,7 +63,6 @@ export class IconButtonBase extends LitElement {
@touchend="${this.handleRippleDeactivate}"
@touchcancel="${this.handleRippleDeactivate}"
>${this.renderRipple()}
- <i class="material-icons">${this.icon}</i>
<span
><slot></slot
></span>
@@ -0,0 +1,34 @@
diff --git a/lib/legacy/class.js b/lib/legacy/class.js
index aee2511be1cd9bf900ee552bc98190c1631c57c0..f2f499d68bf52034cac9c28307c99e8ce6b8417d 100644
--- a/lib/legacy/class.js
+++ b/lib/legacy/class.js
@@ -304,17 +304,23 @@ function GenerateClassFromInfo(info, Base, behaviors) {
// only proceed if the generated class' prototype has not been registered.
const generatedProto = PolymerGenerated.prototype;
if (!generatedProto.hasOwnProperty(JSCompiler_renameProperty('__hasRegisterFinished', generatedProto))) {
- generatedProto.__hasRegisterFinished = true;
+ // make sure legacy lifecycle is called on the *element*'s prototype
+ // and not the generated class prototype; if the element has been
+ // extended, these are *not* the same.
+ const proto = Object.getPrototypeOf(this);
+ // Only set flag when generated prototype itself is registered,
+ // as this element may be extended from, and needs to run `registered`
+ // on all behaviors on the subclass as well.
+ if (proto === generatedProto) {
+ generatedProto.__hasRegisterFinished = true;
+ }
// ensure superclass is registered first.
super._registered();
// copy properties onto the generated class lazily if we're optimizing,
- if (legacyOptimizations) {
+ if (legacyOptimizations && !Object.hasOwnProperty(generatedProto, '__hasCopiedProperties')) {
+ generatedProto.__hasCopiedProperties = true;
copyPropertiesToProto(generatedProto);
}
- // make sure legacy lifecycle is called on the *element*'s prototype
- // and not the generated class prototype; if the element has been
- // extended, these are *not* the same.
- const proto = Object.getPrototypeOf(this);
let list = lifecycle.beforeRegister;
if (list) {
for (let i=0; i < list.length; i++) {
@@ -1,60 +0,0 @@
diff --git a/modular/sortable.core.esm.js b/modular/sortable.core.esm.js
index 8b5e49b011713c8859c669069fbe85ce53974e1d..6a0afc92787157b8a31c38cc5f67dfa526090a00 100644
--- a/modular/sortable.core.esm.js
+++ b/modular/sortable.core.esm.js
@@ -1781,11 +1781,16 @@ Sortable.prototype = /** @lends Sortable.prototype */{
}
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
capture();
- if (elLastChild && elLastChild.nextSibling) {
- // the last draggable element is not the last node
- el.insertBefore(dragEl, elLastChild.nextSibling);
- } else {
- el.appendChild(dragEl);
+ try {
+ if (elLastChild && elLastChild.nextSibling) {
+ // the last draggable element is not the last node
+ el.insertBefore(dragEl, elLastChild.nextSibling);
+ } else {
+ el.appendChild(dragEl);
+ }
+ }
+ catch(err) {
+ return completed(false);
}
parentEl = el; // actualization
@@ -1802,7 +1807,12 @@ Sortable.prototype = /** @lends Sortable.prototype */{
targetRect = getRect(target);
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
capture();
- el.insertBefore(dragEl, firstChild);
+ try {
+ el.insertBefore(dragEl, firstChild);
+ }
+ catch(err) {
+ return completed(false);
+ }
parentEl = el; // actualization
changed();
@@ -1849,10 +1859,15 @@ Sortable.prototype = /** @lends Sortable.prototype */{
_silent = true;
setTimeout(_unsilent, 30);
capture();
- if (after && !nextSibling) {
- el.appendChild(dragEl);
- } else {
- target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
+ try {
+ if (after && !nextSibling) {
+ el.appendChild(dragEl);
+ } else {
+ target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
+ }
+ }
+ catch(err) {
+ return completed(false);
}
// Undo chrome's scroll adjustment (has no effect on other browsers)
@@ -1,86 +0,0 @@
diff --git a/dist/tinykeys.cjs b/dist/tinykeys.cjs
index 08c98b6eff3b8fb4b727fe8e6b096951d6ef6347..9c44f14862f582766ea1733b6dc0e97f962800d8 100644
--- a/dist/tinykeys.cjs
+++ b/dist/tinykeys.cjs
@@ -61,6 +61,18 @@ function defaultKeybindingsHandlerIgnore(event) {
function getModifierState(event, mod) {
return typeof event.getModifierState === "function" ? event.getModifierState(mod) || ALT_GRAPH_ALIASES.includes(mod) && event.getModifierState("AltGraph") : false;
}
+function splitKeybindingPress(press) {
+ let parts = [];
+ let start = 0;
+ for (let index = 0; index < press.length; index++) {
+ if (press[index] === "+" && /[\w\]]/.test(press[index - 1] || "")) {
+ parts.push(press.slice(start, index));
+ start = index + 1;
+ }
+ }
+ parts.push(press.slice(start));
+ return parts;
+}
/**
* Parses a keybinding string into its parts.
*
@@ -76,10 +88,10 @@ function getModifierState(event, mod) {
*/
function parseKeybinding(str) {
return str.trim().split(" ").map((press) => {
- let parts = press.split(/(?<=\w|\])\+/);
+ let parts = splitKeybindingPress(press);
let last = parts.pop();
let regex = last.match(/^\((.+)\)$/);
- let key = regex ? new RegExp(`^(?:${regex[1]})$`, "iv") : last;
+ let key = regex ? new RegExp(`^(?:${regex[1]})$`, "i") : last;
let requiredModifiers = [];
let optionalModifiers = [];
for (const part of parts) {
@@ -201,5 +213,3 @@ exports.defaultKeybindingsHandlerIgnore = defaultKeybindingsHandlerIgnore;
exports.matchKeybindingPress = matchKeybindingPress;
exports.parseKeybinding = parseKeybinding;
exports.tinykeys = tinykeys;
-
-//# sourceMappingURL=tinykeys.cjs.map
\ No newline at end of file
diff --git a/dist/tinykeys.mjs b/dist/tinykeys.mjs
index c289972d2728e03d9b272268c38fd3392e8845bf..e22897b00aae6cdb0dbbb971445227c07be52918 100644
--- a/dist/tinykeys.mjs
+++ b/dist/tinykeys.mjs
@@ -60,6 +60,18 @@ function defaultKeybindingsHandlerIgnore(event) {
function getModifierState(event, mod) {
return typeof event.getModifierState === "function" ? event.getModifierState(mod) || ALT_GRAPH_ALIASES.includes(mod) && event.getModifierState("AltGraph") : false;
}
+function splitKeybindingPress(press) {
+ let parts = [];
+ let start = 0;
+ for (let index = 0; index < press.length; index++) {
+ if (press[index] === "+" && /[\w\]]/.test(press[index - 1] || "")) {
+ parts.push(press.slice(start, index));
+ start = index + 1;
+ }
+ }
+ parts.push(press.slice(start));
+ return parts;
+}
/**
* Parses a keybinding string into its parts.
*
@@ -75,10 +87,10 @@ function getModifierState(event, mod) {
*/
function parseKeybinding(str) {
return str.trim().split(" ").map((press) => {
- let parts = press.split(/(?<=\w|\])\+/);
+ let parts = splitKeybindingPress(press);
let last = parts.pop();
let regex = last.match(/^\((.+)\)$/);
- let key = regex ? new RegExp(`^(?:${regex[1]})$`, "iv") : last;
+ let key = regex ? new RegExp(`^(?:${regex[1]})$`, "i") : last;
let requiredModifiers = [];
let optionalModifiers = [];
for (const part of parts) {
@@ -196,5 +208,3 @@ function tinykeys(target, keybindingMap, options = {}) {
}
//#endregion
export { createKeybindingsHandler, defaultKeybindingsHandlerIgnore, matchKeybindingPress, parseKeybinding, tinykeys };
-
-//# sourceMappingURL=tinykeys.mjs.map
\ No newline at end of file
@@ -1,55 +0,0 @@
diff --git a/build/inject-manifest.js b/build/inject-manifest.js
index 60e3d2bb51c11a19fbbedbad65e101082ec41c36..fed6026630f43f86e25446383982cf6fb694313b 100644
--- a/build/inject-manifest.js
+++ b/build/inject-manifest.js
@@ -104,7 +104,7 @@ async function injectManifest(config) {
replaceString: manifestString,
searchString: options.injectionPoint,
});
- filesToWrite[options.swDest] = source;
+ filesToWrite[options.swDest] = source.replace(url, encodeURI(upath_1.default.basename(destPath)));
filesToWrite[destPath] = map;
}
else {
diff --git a/build/lib/translate-url-to-sourcemap-paths.js b/build/lib/translate-url-to-sourcemap-paths.js
index 3220c5474eeac6e8a56ca9b2ac2bd9be48529e43..5f003879a904d4840529a42dd056d288fd213771 100644
--- a/build/lib/translate-url-to-sourcemap-paths.js
+++ b/build/lib/translate-url-to-sourcemap-paths.js
@@ -22,7 +22,7 @@ function translateURLToSourcemapPaths(url, swSrc, swDest) {
const possibleSrcPath = upath_1.default.resolve(upath_1.default.dirname(swSrc), url);
if (fs_extra_1.default.existsSync(possibleSrcPath)) {
srcPath = possibleSrcPath;
- destPath = upath_1.default.resolve(upath_1.default.dirname(swDest), url);
+ destPath = `${swDest}.map`;
}
else {
warning = `${errors_1.errors['cant-find-sourcemap']} ${possibleSrcPath}`;
diff --git a/src/inject-manifest.ts b/src/inject-manifest.ts
index 8795ddcaa77aea7b0356417e4bc4b19e2b3f860c..fcdc68342d9ac53936c9ed40a9ccfc2f5070cad3 100644
--- a/src/inject-manifest.ts
+++ b/src/inject-manifest.ts
@@ -129,7 +129,10 @@ export async function injectManifest(
searchString: options.injectionPoint!,
});
- filesToWrite[options.swDest] = source;
+ filesToWrite[options.swDest] = source.replace(
+ url!,
+ encodeURI(upath.basename(destPath)),
+ );
filesToWrite[destPath] = map;
} else {
// If there's no sourcemap associated with swSrc, a simple string
diff --git a/src/lib/translate-url-to-sourcemap-paths.ts b/src/lib/translate-url-to-sourcemap-paths.ts
index 072eac40d4ef5d095a01cb7f7e392a9e034853bd..f0bbe69e88ef3a415de18a7e9cb264daea273d71 100644
--- a/src/lib/translate-url-to-sourcemap-paths.ts
+++ b/src/lib/translate-url-to-sourcemap-paths.ts
@@ -28,7 +28,7 @@ export function translateURLToSourcemapPaths(
const possibleSrcPath = upath.resolve(upath.dirname(swSrc), url);
if (fse.existsSync(possibleSrcPath)) {
srcPath = possibleSrcPath;
- destPath = upath.resolve(upath.dirname(swDest), url);
+ destPath = `${swDest}.map`;
} else {
warning = `${errors['cant-find-sourcemap']} ${possibleSrcPath}`;
}
+77
View File
@@ -0,0 +1,77 @@
/* eslint-disable */
module.exports = {
name: "@yarnpkg/plugin-interactive-tools",
factory: function (require) {
var plugin;plugin=(()=>{var __webpack_modules__={7560:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>K});function r(e,t,n,r){var i,o=arguments.length,u=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(u=(o<3?i(u):o>3?i(t,n,u):i(t,n))||u);return o>3&&u&&Object.defineProperty(t,n,u),u}const i=require("@yarnpkg/cli"),o=require("@yarnpkg/core");var u=n(9245),a=n(7382);const l=(0,a.memo)(({active:e})=>{const t=(0,a.useMemo)(()=>e?"◉":"◯",[e]),n=(0,a.useMemo)(()=>e?"green":"yellow",[e]);return a.createElement(u.Text,{color:n},t)});function s({active:e},t,n){const{stdin:r}=(0,u.useStdin)(),i=(0,a.useCallback)((e,n)=>t(e,n),n);(0,a.useEffect)(()=>{if(e&&r)return r.on("keypress",i),()=>{r.off("keypress",i)}},[e,i,r])}var c;!function(e){e.BEFORE="before",e.AFTER="after"}(c||(c={}));const f=function(e,t,{active:n,minus:r,plus:i,set:o,loop:u=!0}){s({active:n},(n,a)=>{const l=t.indexOf(e);switch(a.name){case r:{const e=l-1;if(u)return void o(t[(t.length+e)%t.length]);if(e<0)return;o(t[e])}break;case i:{const e=l+1;if(u)return void o(t[e%t.length]);if(e>=t.length)return;o(t[e])}}},[t,e,i,o,u])},d=({active:e=!0,children:t=[],radius:n=10,size:r=1,loop:i=!0,onFocusRequest:o,willReachEnd:l})=>{const d=a.Children.map(t,e=>(e=>{if(null===e.key)throw new Error("Expected all children to have a key");return e.key})(e)),p=d[0],[h,v]=(0,a.useState)(p),m=d.indexOf(h);(0,a.useEffect)(()=>{d.includes(h)||v(p)},[t]),(0,a.useEffect)(()=>{l&&m>=d.length-2&&l()},[m]),function({active:e},t,n){s({active:e},(e,n)=>{"tab"===n.name&&(n.shift?t(c.BEFORE):t(c.AFTER))},n)}({active:e&&!!o},e=>{null==o||o(e)},[o]),f(h,d,{active:e,minus:"up",plus:"down",set:v,loop:i});let g=m-n,y=m+n;y>d.length&&(g-=y-d.length,y=d.length),g<0&&(y+=-g,g=0),y>=d.length&&(y=d.length-1);const _=[];for(let n=g;n<=y;++n){const i=d[n],o=e&&i===h;_.push(a.createElement(u.Box,{key:i,height:r},a.createElement(u.Box,{marginLeft:1,marginRight:1},a.createElement(u.Text,null,o?a.createElement(u.Text,{color:"cyan",bold:!0},">"):" ")),a.createElement(u.Box,null,a.cloneElement(t[n],{active:o}))))}return a.createElement(u.Box,{flexDirection:"column",width:"100%"},_)},p=require("readline"),h=a.createContext(null),v=({children:e})=>{const{stdin:t,setRawMode:n}=(0,u.useStdin)();(0,a.useEffect)(()=>{n&&n(!0),t&&(0,p.emitKeypressEvents)(t)},[t,n]);const[r,i]=(0,a.useState)(new Map),o=(0,a.useMemo)(()=>({getAll:()=>r,get:e=>r.get(e),set:(e,t)=>i(new Map([...r,[e,t]]))}),[r,i]);return a.createElement(h.Provider,{value:o,children:e})};function m(e,t){const n=(0,a.useContext)(h);if(null===n)throw new Error("Expected this hook to run with a ministore context attached");if(void 0===e)return n.getAll();const r=(0,a.useCallback)(t=>{n.set(e,t)},[e,n.set]);let i=n.get(e);return void 0===i&&(i=t),[i,r]}async function g(e,t){let n;const{waitUntilExit:r}=(0,u.render)(a.createElement(v,null,a.createElement(e,Object.assign({},t,{useSubmit:e=>{const{exit:t}=(0,u.useApp)();s({active:!0},(r,i)=>{"return"===i.name&&(n=e,t())},[t,e])}}))));return await r(),n}const y=require("clipanion");var _=n(7840),b=n(4410);const w={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},E=n.n(b)()(w.appId,w.apiKey).initIndex(w.indexName),D=async(e,t=0)=>await E.search(e,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:t,hitsPerPage:10}),S=["regular","dev","peer"];class C extends i.BaseCommand{async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),t=()=>a.createElement(u.Box,{flexDirection:"row"},a.createElement(u.Box,{flexDirection:"column",width:48},a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<up>"),"/",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),a.createElement(u.Box,{flexDirection:"column"},a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),n=()=>a.createElement(a.Fragment,null,a.createElement(u.Box,{width:15},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),a.createElement(u.Box,{width:11},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Version")),a.createElement(u.Box,{width:10Line truncated
/** @license React v0.24.0
* react-reconciler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
e.exports=function t(r){"use strict";var i=n(9381),o=n(7382),u=n(7181);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;l.hasOwnProperty("ReactCurrentDispatcher")||(l.ReactCurrentDispatcher={current:null}),l.hasOwnProperty("ReactCurrentBatchConfig")||(l.ReactCurrentBatchConfig={suspense:null});var s="function"==typeof Symbol&&Symbol.for,c=s?Symbol.for("react.element"):60103,f=s?Symbol.for("react.portal"):60106,d=s?Symbol.for("react.fragment"):60107,p=s?Symbol.for("react.strict_mode"):60108,h=s?Symbol.for("react.profiler"):60114,v=s?Symbol.for("react.provider"):60109,m=s?Symbol.for("react.context"):60110,g=s?Symbol.for("react.concurrent_mode"):60111,y=s?Symbol.for("react.forward_ref"):60112,_=s?Symbol.for("react.suspense"):60113,b=s?Symbol.for("react.suspense_list"):60120,w=s?Symbol.for("react.memo"):60115,E=s?Symbol.for("react.lazy"):60116;s&&Symbol.for("react.fundamental"),s&&Symbol.for("react.responder"),s&&Symbol.for("react.scope");var D="function"==typeof Symbol&&Symbol.iterator;function S(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=D&&e[D]||e["@@iterator"])?e:null}function C(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case d:return"Fragment";case f:return"Portal";case h:return"Profiler";case p:return"StrictMode";case _:return"Suspense";case b:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case m:return"Context.Consumer";case v:return"Context.Provider";case y:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case w:return C(e.type);case E:if(e=1===e._status?e._result:null)return C(e)}return null}function k(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function T(e){if(k(e)!==e)throw Error(a(188))}function x(e){var t=e.alternate;if(!t){if(null===(t=k(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return T(i),e;if(o===r)return T(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var u=!1,l=i.child;l;){if(l===n){u=!0,n=i,r=o;break}if(l===r){u=!0,r=i,n=o;break}l=l.sibling}if(!u){for(l=o.child;l;){if(l===n){u=!0,n=o,r=i;break}if(l===r){u=!0,r=o,n=i;break}l=l.sibling}if(!u)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}function A(e){if(!(e=x(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var O=r.getPublicInstance,P=r.getRootHostContext,I=r.getChildHostContext,N=r.prepareForCommit,M=r.resetAfterCommit,R=r.createInstance,F=r.appendInitialChild,L=r.finalizeInitialChildren,B=r.prepareUpdate,j=r.shouldSetTextContent,U=r.shouldDeprioritizeSubtree,z=r.createTextInstance,W=r.setTimeout,H=r.clearTimeout,V=r.noTimeout,q=r.isPrimaryRenderer,G=r.supportsMutation,$=r.supportsPersistence,Y=r.supportsHydration,K=r.appendChild,X=r.appendChildToContainer,Q=r.commitTextUpdate,J=r.commitMount,Z=r.commitUpdate,ee=r.insertBefore,te=r.insertInContainerBefore,ne=r.removeChild,re=r.removeChildFromContainer,ie=r.resetTextContent,oe=r.hideInstance,ue=r.hideTextInstance,ae=r.unhideInstance,le=r.unhideTextInstance,se=r.cloneInstance,ce=r.createContainerChildSet,fe=r.appendChildToContainerChildSet,de=r.finalizeContainerChildren,pe=r.replaceContainerChildren,he=r.cloneHiddenInstance,ve=r.cloneHiddenTextInstance,me=r.canHydrateInstance,ge=r.canHydrateTextInstance,ye=r.isSuspenseInstancePending,_e=r.isSuspenseInstanceFallback,be=r.getNextHydratableSibling,we=r.getFirstHydratableChild,Ee=r.hydrateInstance,De=r.hydrateTextInstance,Se=r.getNextHydratableInstanceAfterSuspenseInstance,Ce=r.commitHydratedContainer,ke=r.commitHydratedSuspenseInstance,Te=/^(.*)[\\\/]/;function xe(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,o=C(e.type);n=null,r&&(n=C(r.type)),r=o,o="",i?o=" (at "+i.fileName.replace(Te,"")+":"+i.lineNumber+")":n&&(o=" (created by "+n+")"),n="\n in "+(r||"Unknown")+o}t+=n,e=e.return}while(e);return t}new Set;var Ae=[],Oe=-1;function Pe(e){0>Oe||(e.current=Ae[Oe],Ae[Oe]=null,Oe--)}function Ie(e,t){Oe++,Ae[Oe]=e.current,e.current=t}var Ne={},Me={current:Ne},Re={current:!1},Fe=Ne;funcLine truncated
/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/e=n.nmd(e),function(){var i="Expected a function",o="__lodash_placeholder__",u=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],a="[object Arguments]",l="[object Array]",s="[object Boolean]",c="[object Date]",f="[object Error]",d="[object Function]",p="[object GeneratorFunction]",h="[object Map]",v="[object Number]",m="[object Object]",g="[object RegExp]",y="[object Set]",_="[object String]",b="[object Symbol]",w="[object WeakMap]",E="[object ArrayBuffer]",D="[object DataView]",S="[object Float32Array]",C="[object Float64Array]",k="[object Int8Array]",T="[object Int16Array]",x="[object Int32Array]",A="[object Uint8Array]",O="[object Uint16Array]",P="[object Uint32Array]",I=/\b__p \+= '';/g,N=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,R=/&(?:amp|lt|gt|quot|#39);/g,F=/[&<>"']/g,L=RegExp(R.source),B=RegExp(F.source),j=/<%-([\s\S]+?)%>/g,U=/<%([\s\S]+?)%>/g,z=/<%=([\s\S]+?)%>/g,W=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,V=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q=/[\\^$.*+?()[\]{}|]/g,G=RegExp(q.source),$=/^\s+|\s+$/g,Y=/^\s+/,K=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Q=/\{\n\/\* \[wrapped with (.+)\] \*/,J=/,? & /,Z=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee=/\\(\\)?/g,te=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ne=/\w*$/,re=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,oe=/^\[object .+?Constructor\]$/,ue=/^0o[0-7]+$/i,ae=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,se=/($^)/,ce=/['\n\r\u2028\u2029\\]/g,fe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="[\\ud800-\\udfff]",he="["+de+"]",ve="["+fe+"]",me="\\d+",ge="[\\u2700-\\u27bf]",ye="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+de+me+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",be="\\ud83c[\\udffb-\\udfff]",we="[^\\ud800-\\udfff]",Ee="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce="(?:"+ye+"|"+_e+")",ke="(?:"+Se+"|"+_e+")",Te="(?:"+ve+"|"+be+")"+"?",xe="[\\ufe0e\\ufe0f]?"+Te+("(?:\\u200d(?:"+[we,Ee,De].join("|")+")[\\ufe0e\\ufe0f]?"+Te+")*"),Ae="(?:"+[ge,Ee,De].join("|")+")"+xe,Oe="(?:"+[we+ve+"?",ve,Ee,De,pe].join("|")+")",Pe=RegExp("['’]","g"),Ie=RegExp(ve,"g"),Ne=RegExp(be+"(?="+be+")|"+Oe+xe,"g"),Me=RegExp([Se+"?"+ye+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[he,Se,"$"].join("|")+")",ke+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[he,Se+Ce,"$"].join("|")+")",Se+"?"+Ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",me,Ae].join("|"),"g"),Re=RegExp("[\\u200d\\ud800-\\udfff"+fe+"\\ufe0e\\ufe0f]"),Fe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Le=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Be=-1,je={};je[S]=je[C]=je[k]=je[T]=je[x]=je[A]=je["[object Uint8ClampedArray]"]=je[O]=je[P]=!0,je[a]=je[l]=je[E]=je[s]=je[D]=je[c]=je[f]=je[d]=je[h]=je[v]=je[m]=je[g]=je[y]=je[_]=je[w]=!1;var Ue={};Ue[a]=Ue[l]=Ue[E]=Ue[D]=Ue[s]=Ue[c]=Ue[S]=Ue[C]=Ue[k]=Ue[T]=Ue[x]=Ue[h]=Ue[v]=Ue[m]=Ue[g]=Ue[y]=Ue[_]=Ue[b]=Ue[A]=Ue["[object Uint8ClampedArray]"]=Ue[O]=Ue[P]=!0,Ue[f]=Ue[d]=Ue[w]=!1;var ze={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},We=parseFloat,He=parseInt,Ve="object"==typeof global&&global&&global.Object===Object&&global,qe="object"==typeof self&&self&&self.Object===Object&&self,Ge=Ve||qe||Function("return this")(),$e=t&&!t.nodeType&&t,Ye=$e&&e&&!e.nodeType&&e,Ke=Ye&&Ye.exports===$e,Xe=Ke&&Ve.process,Qe=function(){try{var e=Ye&&Ye.require&&Ye.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Je=Qe&&Qe.isArrayBuffer,Ze=Qe&&Qe.isDate,et=Qe&&Qe.isMap,tt=Qe&&Qe.isRegExp,nt=Qe&&Qe.isSet,rt=Qe&&Qe.isTypedArray;function it(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function ot(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var u=e[i];t(r,u,n(u),e)}return r}function ut(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function at(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function lt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function st(e,t){for(var n=-1,r=null==e?Line truncated
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var u,a,l=i(e),s=1;s<arguments.length;s++){for(var c in u=Object(arguments[s]))n.call(u,c)&&(l[c]=u[c]);if(t){a=t(u);for(var f=0;f<a.length;f++)r.call(u,a[f])&&(l[a[f]]=u[a[f]])}}return l}},834:(e,t,n)=>{"use strict";const r=n(1573),i=new WeakMap,o=(e,t={})=>{if("function"!=typeof e)throw new TypeError("Expected a function");let n,o=!1,u=0;const a=e.displayName||e.name||"<anonymous>",l=function(...r){if(i.set(l,++u),o){if(!0===t.throw)throw new Error(`Function \`${a}\` can only be called once`);return n}return o=!0,n=e.apply(this,r),e=null,n};return r(l,e),i.set(l,u),l};e.exports=o,e.exports.default=o,e.exports.callCount=e=>{if(!i.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return i.get(e)}},8070:(e,t,n)=>{"use strict";const r=n(2413),i=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"];let o={};e.exports=e=>{const t=new r.PassThrough,n=new r.PassThrough;t.write=t=>e("stdout",t),n.write=t=>e("stderr",t);const u=new console.Console(t,n);for(const e of i)o[e]=console[e],console[e]=u[e];return()=>{for(const e of i)console[e]=o[e];o={}}}},5187:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}([function(e,t,n){"use strict";e.exports=n(12)},function(e,t,n){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,l=u(e),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))i.call(n,c)&&(l[c]=n[c]);if(r){a=r(n);for(var f=0;f<a.length;f++)o.call(n,a[f])&&(l[a[f]]=n[a[f]])}}return l}},function(e,t,n){(function(t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,u=/^0o[0-7]+$/i,a=parseInt,l="object"==(void 0===t?"undefined":n(t))&&t&&t.Object===Object&&t,s="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,c=l||s||Function("return this")(),f=Object.prototype.toString,d=Math.max,p=Math.min,h=function(){return c.Date.now()};function v(e){var t=n(e);return!!e&&("object"==t||"function"==t)}function m(e){return"symbol"==n(e)||function(e){return!!e&&"object"==n(e)}(e)&&"[object Symbol]"==f.call(e)}function g(e){if("number"==typeof e)return e;if(m(e))return NaN;if(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=o.test(e);return n||u.test(e)?a(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return v(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),function(e,t,n){var r,i,o,u,a,l,s=0,c=!1,f=!1,m=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,o=i;return r=i=void 0,s=t,u=e.apply(o,n)}function _(e){return s=e,a=setTimeout(w,t),c?y(e):u}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-s>=o}function w(){var e=h();if(b(e))return E(e);a=setTimeout(w,function(e){var n=t-(e-l);return f?p(n,o-(e-s)):n}(e))}function E(e){return a=void 0,m&&r?y(e):(r=i=void 0,u)}function D(){var e=h(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===a)return _(l);if(f)return a=setTimeout(w,t),y(l)}return void 0===a&&(a=setTimeout(w,t)),u}return t=g(t)||0,v(n)&&(c=!!n.leading,o=(f="maxWait"in n)?d(g(n.maxWait)||0,t):o,m="trailing"in n?!!n.trailing:m),D.cancel=function(){void 0!==a&&clearTimeout(a),s=0,r=l=i=a=void 0},D.flush=function(){return void 0===a?u:E(h())},D}(e,t,{leading:r,maxWait:t,trailing:i})}}).call(this,n(4))},function(e,t,n){(function(n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i;t=e.exports=p,i="object"===(void 0===n?"undefined":r(n))&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var o=Number.MAX_SAFE_INTEGER||9007199254740991,u=t.re=[],a=t.src=[],l=t.tokens={},s=0;function c(e){l[e]=s++}c("NUMERICIDENTIFIER"),a[l.NUMERICIDENTIFIER]="0|[1-9]\\d*",c("NUMERICIDENTIFIERLOOSE"),a[l.NUMERICIDENTIFIERLOOSE]="[0-9]+",c("NONNUMERICIDENTIFIER"),a[l.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",c("MAINVERSION"),a[l.MAINVERSION]="("+a[l.NUMERICIDENTIFIER]+")\\.("+a[l.NUMERICIDENTIFIER]+")\\.("+a[l.NUMERICIDENTIFIER]+")",c("MAINVERSIONLOOSE"),a[l.MAINVERSIONLOOSE]="("+a[l.NUMERICIDENTIFIERLOOSE]+")\\.("+a[l.NUMERICIDENTIFIERLOOSE]+")\\.("+a[l.NUMERICIDENTIFIERLOOSE]+")",c("PRERELEASEIDENTIFIER"),a[l.PRERELEASEIDENTIFIER]="(?:"+a[l.NUMERICIDENTIFIER]+"|"+a[l.NONNUMERICIDENTIFIER]+")",c("PRERELEASEIDENTIFIERLOOSE"),a[l.PRERELEASEIDENTIFIERLOOSE]="(?:"+a[l.NUMERICIDENTIFIERLOOSE]+"|"+a[l.NONNUMERICIDENTIFIER]+")",c("PRERELEASE"),a[l.PRERELEASE]="(?:-("+a[l.PRERELEASEIDENTIFIER]+"(?:\\."+a[l.PRERELEASEIDENTIFIER]+")*))",c("PRERELEASELOOSE"),a[l.PRERELEASELOOSE]="(?:-?("+a[l.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+a[l.PRERELEASEIDENTIFIERLOOSE]+")*))",c("BUILDIDENTIFIER"),a[l.BUILDIDENTIFIER]="[0-9A-Za-z-]+",c("BUILD"),a[l.BUILD]="(?:\\+("+a[l.BUILDIDENTIFIER]+"(?:\\."+a[l.BUILDIDENTIFIER]+")*))",c("FULL"),c("FULLPLAIN"),a[l.FULLPLAIN]="v?"+a[l.MAINVERSION]+a[l.PRERELEASE]+"?"+a[l.BUILD]+"?",a[l.FULL]="^"+a[l.FULLPLAIN]+"$",c("LOOSEPLAIN"),a[l.LOOSEPLAIN]="[v=\Line truncated
/*! promise-polyfill 2.0.1 */
function(r){function i(e,t){return function(){e.apply(t,arguments)}}function o(e){if("object"!=n(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],f(e,i(a,this),i(l,this))}function u(e){var t=this;return null===this._state?void this._deferreds.push(e):void d((function(){var n=t._state?e.onFulfilled:e.onRejected;if(null!==n){var r;try{r=n(t._value)}catch(t){return void e.reject(t)}e.resolve(r)}else(t._state?e.resolve:e.reject)(t._value)}))}function a(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==n(e)||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void f(i(t,e),i(a,this),i(l,this))}this._state=!0,this._value=e,s.call(this)}catch(e){l.call(this,e)}}function l(e){this._state=!1,this._value=e,s.call(this)}function s(){for(var e=0,t=this._deferreds.length;t>e;e++)u.call(this,this._deferreds[e]);this._deferreds=null}function c(e,t,n,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r}function f(e,t,n){var r=!1;try{e((function(e){r||(r=!0,t(e))}),(function(e){r||(r=!0,n(e))}))}catch(e){if(r)return;r=!0,n(e)}}var d=o.immediateFn||"function"==typeof t&&t||function(e){setTimeout(e,1)},p=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){var n=this;return new o((function(r,i){u.call(n,new c(e,t,r,i))}))},o.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&p(arguments[0])?arguments[0]:arguments);return new o((function(t,r){function i(u,a){try{if(a&&("object"==n(a)||"function"==typeof a)){var l=a.then;if("function"==typeof l)return void l.call(a,(function(e){i(u,e)}),r)}e[u]=a,0==--o&&t(e)}catch(e){r(e)}}if(0===e.length)return t([]);for(var o=e.length,u=0;u<e.length;u++)i(u,e[u])}))},o.resolve=function(e){return e&&"object"==n(e)&&e.constructor===o?e:new o((function(t){t(e)}))},o.reject=function(e){return new o((function(t,n){n(e)}))},o.race=function(e){return new o((function(t,n){for(var r=0,i=e.length;i>r;r++)e[r].then(t,n)}))},e.exports?e.exports=o:r.Promise||(r.Promise=o)}(this),u.copy=function(e){return new Promise((function(t,n){if("string"!=typeof e&&!("text/plain"in e))throw new Error("You must provide a text/plain type.");var r="string"==typeof e?e:e["text/plain"];window.clipboardData.setData("Text",r)?t():n(new Error("Copying was rejected."))}))},u.paste=function(){return new Promise((function(e,t){var n=window.clipboardData.getData("Text");n?e(n):t(new Error("Pasting was rejected."))}))}),u}()}).call(this,n(13).setImmediate)},function(e,t,n){"use strict";e.exports=n(15)},function(e,t,n){"use strict";n.r(t),t.default=":root {\n /**\n * IMPORTANT: When new theme variables are added below– also add them to SettingsContext updateThemeVariables()\n */\n\n /* Light theme */\n --light-color-attribute-name: #ef6632;\n --light-color-attribute-name-not-editable: #23272f;\n --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7);\n --light-color-attribute-value: #1a1aa6;\n --light-color-attribute-value-inverted: #ffffff;\n --light-color-attribute-editable-value: #1a1aa6;\n --light-color-background: #ffffff;\n --light-color-background-hover: rgba(0, 136, 250, 0.1);\n --light-color-background-inactive: #e5e5e5;\n --light-color-background-invalid: #fff0f0;\n --light-color-background-selected: #0088fa;\n --light-color-button-background: #ffffff;\n --light-color-button-background-focus: #ededed;\n --light-color-button: #5f6673;\n --light-color-button-disabled: #cfd1d5;\n --light-color-button-active: #0088fa;\n --light-color-button-focus: #23272f;\n --light-color-button-hover: #23272f;\n --light-color-border: #eeeeee;\n --light-color-commit-did-not-render-fill: #cfd1d5;\n --light-color-commit-did-not-render-fill-text: #000000;\n --light-color-commit-did-not-render-pattern: #cfd1d5;\n --light-color-commit-did-not-render-pattern-text: #333333;\n --light-color-commit-gradient-0: #37afa9;\n --light-color-commit-gradient-1: #63b19e;\n --light-color-commit-gradient-2: #80b393;\n --light-color-commit-gradient-3: #97b488;\n --light-color-commit-gradient-4: #abb67d;\n --light-color-commit-gradient-5: #beb771;\n --light-color-commit-gradient-6: #cfb965;\n --light-color-commit-gradient-7: #dfba57;\n --light-color-commit-gradient-8: #efbb49;\n --light-color-commit-gradient-9: #febc38;\n --light-color-commit-gradient-text: #000000;\n --light-color-component-name: #6a51b2;\n --light-color-component-name-inverted: #ffffff;\n --light-color-component-badge-background: rgba(0, 0, 0, 0.1);\n --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25);\n --light-color-component-badge-count: #777d88;\n --light-color-component-badge-count-inverted: rgba(255, 255, 2Line truncated
/** @license React v0.0.0-experimental-51a3aa6af
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=60103,o=60106,u=60107,a=60108,l=60114,s=60109,c=60110,f=60112,d=60113,p=60120,h=60115,v=60116,m=60121,g=60122,y=60117,_=60129,b=60131;if("function"==typeof Symbol&&Symbol.for){var w=Symbol.for;i=w("react.element"),o=w("react.portal"),u=w("react.fragment"),a=w("react.strict_mode"),l=w("react.profiler"),s=w("react.provider"),c=w("react.context"),f=w("react.forward_ref"),d=w("react.suspense"),p=w("react.suspense_list"),h=w("react.memo"),v=w("react.lazy"),m=w("react.block"),g=w("react.server.block"),y=w("react.fundamental"),_=w("react.debug_trace_mode"),b=w("react.legacy_hidden")}function E(e){if("object"===r(e)&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case u:case l:case a:case d:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case v:case h:case s:return e;default:return t}}case o:return t}}}var D=s,S=i,C=f,k=u,T=v,x=h,A=o,O=l,P=a,I=d;t.ContextConsumer=c,t.ContextProvider=D,t.Element=S,t.ForwardRef=C,t.Fragment=k,t.Lazy=T,t.Memo=x,t.Portal=A,t.Profiler=O,t.StrictMode=P,t.Suspense=I,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return E(e)===c},t.isContextProvider=function(e){return E(e)===s},t.isElement=function(e){return"object"===r(e)&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return E(e)===f},t.isFragment=function(e){return E(e)===u},t.isLazy=function(e){return E(e)===v},t.isMemo=function(e){return E(e)===h},t.isPortal=function(e){return E(e)===o},t.isProfiler=function(e){return E(e)===l},t.isStrictMode=function(e){return E(e)===a},t.isSuspense=function(e){return E(e)===d},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===u||e===l||e===_||e===a||e===d||e===p||e===b||"object"===r(e)&&null!==e&&(e.$$typeof===v||e.$$typeof===h||e.$$typeof===s||e.$$typeof===c||e.$$typeof===f||e.$$typeof===y||e.$$typeof===m||e[0]===g)},t.typeOf=E},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(14),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(4))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,u,a,l=1,s={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(u="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(u)&&h(+t.data.slice(u.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(u+t,"*")}):e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)},d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return s[l]=i,r(l),l++},d.clearImmediate=p}function p(e){delete s[e]}function h(e){if(c)setTimeout(h,0,e);else{var t=s[e];if(t){c=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{p(e),c=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(4),n(5))},function(e,t,n){"use strict";
/** @license React v0.0.0-experimental-51a3aa6af
* react-debug-tools.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(1),o=n(16),u=n(18).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,a=60128;if("function"==typeof Symbol&&Symbol.for){var l=Symbol.for;a=l("react.opaque.id")}var s=[],c=null,f=null;function d(){if(null===c){var e=new Map;try{v.useContext({_currentValue:null}),v.useState(null),v.useReducer((function(e){return e}),null),v.useRef(null),v.useLayoutEffect((function(){})),v.useEffect((function(){})),v.useImperativeHandle(void 0,(function(){return null})),v.useDebugValue(null),v.useCallback((function(){})),v.useMemo((function(){return null}))}finally{var t=s;s=[]}for(var n=0;n<t.length;n++){var r=t[n];e.set(r.primitive,o.parse(r.stackError))}c=e}return c}var p=null;function h(){var e=p;return null!==e&&(p=e.next),e}var v={readContext:function(e){return e._currentValue},useCallback:function(e){var t=h();return s.push({primitive:"Callback",stackError:Error(),value:null!==t?t.memoizedState[0]:e}),e},useContext:function(e){return s.push({primitive:"Context",stackError:Error(),value:e._currentValue}),e._currentValue},useEffect:function(e){h(),s.push({primitive:"Effect",stackError:Error(),value:e})},useImperativeHandle:function(e){h();var t=void 0;null!==e&&"object"===r(e)&&(t=e.current),s.push({primitive:"ImperativeHandle",stackError:Error(),value:t})},useDebugValue:function(e,t){s.push({primitive:"DebugValue",stackError:Error(),value:"function"==typeof t?t(e):e})},useLayoutEffect:function(e){h(),s.push({primitive:"LayoutEffect",stackError:Error(),value:e})},useMemo:function(e){var t=h();return e=null!==t?t.memoizedState[0]:e(),s.push({primitive:"Memo",stackError:Error(),value:e}),e},useReducer:function(e,t,n){return t=null!==(e=h())?e.memoizedState:void 0!==n?n(t):t,s.push({primitive:"Reducer",stackError:Error(),value:t}),[t,function(){}]},useRef:function(e){var t=h();return e=null!==t?t.memoizedState:{current:e},s.push({primitive:"Ref",stackError:Error(),value:e.current}),e},useState:function(e){var t=h();return e=null!==t?t.memoizedState:"function"==typeof e?e():e,s.push({primitive:"State",stackError:Error(),value:e}),[e,function(){}]},useTransition:function(){return h(),h(),s.push({primitive:"Transition",stackError:Error(),value:void 0}),[function(){},!1]},useMutableSource:function(e,t){return h(),h(),h(),h(),e=t(e._source),s.push({primitive:"MutableSource",stackError:Error(),value:e}),e},useDeferredValue:function(e){return h(),h(),s.push({primitive:"DeferredValue",stackError:Error(),value:e}),e},useOpaqueIdentifier:function(){var e=h();return f&&0===f.mode&&h(),(e=null===e?void 0:e.memoizedState)&&e.$$typeof===a&&(e=void 0),s.push({primitive:"OpaqueIdentifier",stackError:Error(),value:e}),e}},m=0;function g(e,t,n){var r=t[n].source,i=0;e:for(;i<e.length;i++)if(e[i].source===r){for(var o=n+1,u=i+1;o<t.length&&u<e.length;o++,u++)if(e[u].source!==t[o].source)continue e;return i}return-1}function y(e,t){return!(!e||(t="use"+t,e.length<t.length||e.lastIndexOf(t)!==e.length-t.length))}function _(e){if(!e)return"";var t=e.lastIndexOf(".");return-1===t&&(t=0),"use"===e.substr(t,3)&&(t+=3),e.substr(t)}function b(e,t){for(var n=[],r=null,i=n,u=0,a=[],l=0;l<t.length;l++){var s=t[l],c=e,f=o.parse(s.stackError);e:{var p=f,h=g(p,c,m);if(-1!==h)c=h;else{for(var v=0;v<c.length&&5>v;v++)if(-1!==(h=g(p,c,v))){m=v,c=h;break e}c=-1}}e:{if(p=f,void 0!==(h=d().get(s.primitive)))for(v=0;v<h.length&&v<p.length;v++)if(h[v].source!==p[v].source){v<p.length-1&&y(p[v].functionName,s.primitive)&&v++,v<p.length-1&&y(p[v].functionName,s.primitive)&&v++,p=v;break e}p=-1}if(null!==(f=-1===c||-1===p||2>c-p?null:f.slice(p,c-1))){if(c=0,null!==r){for(;c<f.length&&c<r.length&&f[f.length-c-1].source===r[r.length-c-1].source;)c++;for(r=r.length-1;r>c;r--)i=a.pop()}for(r=f.length-c-1;1<=r;r--)c=[],i.push({id:null,isStateEditable:!1,name:_(f[r-1].functionName),value:void 0,subHooks:c}),a.push(i),i=c;r=f}c="Context"===(f=s.primitive)||"DebugValue"===f?null:u++,i.push({id:c,isStateEditable:"Reducer"===f||"State"===f,name:f,value:s.value,subHooks:[]})}return function e(t,n){for(var r=[],i=0;i<t.length;i++){var o=t[i];"DebugValue"===o.name&&0===o.subHooks.length?(t.splice(i,1),i--,r.push(o)):e(o.subHooks,o)}null!==n&&(1===r.length?n.value=r[0].value:1<r.length&&(n.value=r.map((function(e){return e.value}))))}(n,null),n}function w(e,t,n){null==n&&(n=u.ReactCurrentDispatcher);var r=n.current;n.current=v;try{var i=Error();e(t)}finally{e=s,s=[],n.current=r}return b(n=o.parse(i),e)}t.inspectHooks=w,t.inspectHooksOfFiber=function(e,t){if(null==t&&(t=u.ReactCurrentDispatcher),f=e,0!==e.tag&&15!==e.tag&&11!==e.tag&&22!==e.tag)throw Error("Unknown Fiber. Needs to be a function component to inspect hooks.");d();var n=e.type,r=e.memoizedProps;if(n!==e.elementType&&n&&n.defaultProps){r=i({},r);var a=n.defaultProps;for(l in a)void 0Line truncated
/** @license React v0.0.0-experimental-51a3aa6af
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(1),o=60103,u=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var a=60109,l=60110,s=60112;t.Suspense=60113,t.unstable_SuspenseList=60120;var c=60115,f=60116,d=60121;if(t.unstable_DebugTracingMode=60129,t.unstable_LegacyHidden=60131,"function"==typeof Symbol&&Symbol.for){var p=Symbol.for;o=p("react.element"),u=p("react.portal"),t.Fragment=p("react.fragment"),t.StrictMode=p("react.strict_mode"),t.Profiler=p("react.profiler"),a=p("react.provider"),l=p("react.context"),s=p("react.forward_ref"),t.Suspense=p("react.suspense"),t.unstable_SuspenseList=p("react.suspense_list"),c=p("react.memo"),f=p("react.lazy"),d=p("react.block"),t.unstable_DebugTracingMode=p("react.debug_trace_mode"),t.unstable_LegacyHidden=p("react.legacy_hidden")}var h="function"==typeof Symbol&&Symbol.iterator;function v(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function _(){}function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!==r(e)&&"function"!=typeof e&&null!=e)throw Error(v(85));this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},_.prototype=y.prototype;var w=b.prototype=new _;w.constructor=b,i(w,y.prototype),w.isPureReactComponent=!0;var E={current:null},D=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var r,i={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)D.call(t,r)&&!S.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){for(var s=Array(l),c=0;c<l;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===i[r]&&(i[r]=l[r]);return{$$typeof:o,type:e,key:u,ref:a,props:i,_owner:E.current}}function k(e){return"object"===r(e)&&null!==e&&e.$$typeof===o}var T=/\/+/g;function x(e,t){return"object"===r(e)&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,n,i,a){var l=r(e);"undefined"!==l&&"boolean"!==l||(e=null);var s=!1;if(null===e)s=!0;else switch(l){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case o:case u:s=!0}}if(s)return a=a(s=e),e=""===i?"."+x(s,0):i,Array.isArray(a)?(n="",null!=e&&(n=e.replace(T,"$&/")+"/"),A(a,t,n,"",(function(e){return e}))):null!=a&&(k(a)&&(a=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,n+(!a.key||s&&s.key===a.key?"":(""+a.key).replace(T,"$&/")+"/")+e)),t.push(a)),1;if(s=0,i=""===i?".":i+":",Array.isArray(e))for(var c=0;c<e.length;c++){var f=i+x(l=e[c],c);s+=A(l,t,n,f,a)}else if("function"==typeof(f=function(e){return null===e||"object"!==r(e)?null:"function"==typeof(e=h&&e[h]||e["@@iterator"])?e:null}(e)))for(e=f.call(e),c=0;!(l=e.next()).done;)s+=A(l=l.value,t,n,f=i+x(l,c++),a);else if("object"===l)throw t=""+e,Error(v(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return s}function O(e,t,n){if(null==e)return e;var r=[],i=0;return A(e,r,"","",(function(e){return t.call(n,e,i++)})),r}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}function I(e){return{$$typeof:d,_data:e.load.apply(null,e.args),_render:e.render}}var N={current:null};function M(){var e=N.current;if(null===e)throw Error(v(321));return e}var R={transition:0},F={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:R,ReactCurrentOwner:E,IsSomeRendererActing:{current:!1},assign:i};t.Children={map:O,forEach:function(e,t,n){O(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return O(e,(function(){t++})),t},toArray:function(e){return O(e,(function(e){return e}))||[]},only:function(e){if(!k(e))throw Error(v(143));return e}},t.Component=y,t.PureComponent=b,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=F,t.cloneElement=function(e,t,n){if(null==e)throw Error(v(267,e));var r=i({},e.props),u=e.key,a=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,l=E.cuLine truncated
/** @license React v16.13.1
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var r=n(9381),i="function"==typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,u=i?Symbol.for("react.portal"):60106,a=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,h=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,m="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_={};function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||y}function w(){}function E(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||y}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(g(85));this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=b.prototype;var D=E.prototype=new w;D.constructor=E,r(D,b.prototype),D.isPureReactComponent=!0;var S={current:null},C=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,n){var r,i={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)C.call(t,r)&&!k.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){for(var s=Array(l),c=0;c<l;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===i[r]&&(i[r]=l[r]);return{$$typeof:o,type:e,key:u,ref:a,props:i,_owner:S.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var A=/\/+/g,O=[];function P(e,t,n,r){if(O.length){var i=O.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function I(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>O.length&&O.push(e)}function N(e,t,n){return null==e?0:function e(t,n,r,i){var a=typeof t;"undefined"!==a&&"boolean"!==a||(t=null);var l=!1;if(null===t)l=!0;else switch(a){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case u:l=!0}}if(l)return r(i,t,""===n?"."+M(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s<t.length;s++){var c=n+M(a=t[s],s);l+=e(a,c,r,i)}else if(null===t||"object"!=typeof t?c=null:c="function"==typeof(c=m&&t[m]||t["@@iterator"])?c:null,"function"==typeof c)for(t=c.call(t),s=0;!(a=t.next()).done;)l+=e(a=a.value,c=n+M(a,s++),r,i);else if("object"===a)throw r=""+t,Error(g(31,"[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return l}(e,"",t,n)}function M(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function R(e,t){e.func.call(e.context,t,e.count++)}function F(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?L(e,r,n,(function(e){return e})):null!=e&&(x(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(A,"$&/")+"/")+n)),r.push(e))}function L(e,t,n,r,i){var o="";null!=n&&(o=(""+n).replace(A,"$&/")+"/"),N(e,F,t=P(t,o,r,i)),I(t)}var B={current:null};function j(){var e=B.current;if(null===e)throw Error(g(321));return e}var U={ReactCurrentDispatcher:B,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:S,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return L(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;N(e,R,t=P(null,null,t,n)),I(t)},count:function(e){return N(e,(function(){return null}),null)},toArray:function(e){var t=[];return L(e,t,null,(function(e){return e})),t},only:function(e){if(!x(e))throw Error(g(143));return e}},t.Component=b,t.Fragment=a,t.Profiler=s,t.PureComponent=E,t.StrictMode=l,t.Suspense=p,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=U,t.cloneElement=function(e,t,n){if(null==e)throw Error(g(267,e));var i=r({},e.props),u=e.key,a=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,l=S.current),void 0!==t.key&&(u=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)C.call(t,c)&&!k.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];i.children=s}return{$$typeof:o,Line truncated
/** @license React v0.18.0
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var n,r,i,o,u;if(Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var a=null,l=null,s=function(){if(null!==a)try{var e=t.unstable_now();a(!0,e),a=null}catch(e){throw setTimeout(s,0),e}},c=Date.now();t.unstable_now=function(){return Date.now()-c},n=function(e){null!==a?setTimeout(n,0,e):(a=e,setTimeout(s,0))},r=function(e,t){l=setTimeout(e,t)},i=function(){clearTimeout(l)},o=function(){return!1},u=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,d=window.Date,p=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var v=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof f&&"function"==typeof f.now)t.unstable_now=function(){return f.now()};else{var m=d.now();t.unstable_now=function(){return d.now()-m}}var g=!1,y=null,_=-1,b=5,w=0;o=function(){return t.unstable_now()>=w},u=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):b=0<e?Math.floor(1e3/e):5};var E=new MessageChannel,D=E.port2;E.port1.onmessage=function(){if(null!==y){var e=t.unstable_now();w=e+b;try{y(!0,e)?D.postMessage(null):(g=!1,y=null)}catch(e){throw D.postMessage(null),e}}else g=!1},n=function(e){y=e,g||(g=!0,D.postMessage(null))},r=function(e,n){_=p((function(){e(t.unstable_now())}),n)},i=function(){h(_),_=-1}}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=Math.floor((n-1)/2),i=e[r];if(!(void 0!==i&&0<T(i,t)))break e;e[r]=t,e[n]=i,n=r}}function C(e){return void 0===(e=e[0])?null:e}function k(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var o=2*(r+1)-1,u=e[o],a=o+1,l=e[a];if(void 0!==u&&0>T(u,n))void 0!==l&&0>T(l,u)?(e[r]=l,e[a]=n,r=a):(e[r]=u,e[o]=n,r=o);else{if(!(void 0!==l&&0>T(l,n)))break e;e[r]=l,e[a]=n,r=a}}}return t}return null}function T(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var x=[],A=[],O=1,P=null,I=3,N=!1,M=!1,R=!1;function F(e){for(var t=C(A);null!==t;){if(null===t.callback)k(A);else{if(!(t.startTime<=e))break;k(A),t.sortIndex=t.expirationTime,S(x,t)}t=C(A)}}function L(e){if(R=!1,F(e),!M)if(null!==C(x))M=!0,n(B);else{var t=C(A);null!==t&&r(L,t.startTime-e)}}function B(e,n){M=!1,R&&(R=!1,i()),N=!0;var u=I;try{for(F(n),P=C(x);null!==P&&(!(P.expirationTime>n)||e&&!o());){var a=P.callback;if(null!==a){P.callback=null,I=P.priorityLevel;var l=a(P.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?P.callback=l:P===C(x)&&k(x),F(n)}else k(x);P=C(x)}if(null!==P)var s=!0;else{var c=C(A);null!==c&&r(L,c.startTime-n),s=!1}return s}finally{P=null,I=u,N=!1}}function j(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var U=u;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_scheduleCallback=function(e,o,u){var a=t.unstable_now();if("object"==typeof u&&null!==u){var l=u.delay;l="number"==typeof l&&0<l?a+l:a,u="number"==typeof u.timeout?u.timeout:j(e)}else u=j(e),l=a;return e={id:O++,callback:o,priorityLevel:e,startTime:l,expirationTime:u=l+u,sortIndex:-1},l>a?(e.sortIndex=l,S(A,e),null===C(x)&&e===C(A)&&(R?i():R=!0,r(L,l-a))):(e.sortIndex=u,S(x,e),M||N||(M=!0,n(B))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_shouldYield=function(){var e=t.unstable_now();F(e);var n=C(x);return n!==P&&null!==P&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<P.expirationTime||o()},t.unstable_requestPaint=U,t.unstable_continueExecution=function(){M||N||(M=!0,n(B))},t.unstable_pauseExecution=function(){},t.unstable_getFirstCallbackNode=function(){return C(x)},t.unstable_Profiling=null},7181:(e,t,n)=>{"use strict";e.exports=n(706)},6458:(e,t,n)=>{var r,i=n(2357),o=n(8082),u=n(8614);function a(){c&&(c=!1,o.forEach((function(e){try{process.removeListener(e,s[e])}catch(e){}})),process.emit=h,process.reallyExit=d,r.count-=1)}function l(e,t,n){r.emitted[e]||(r.emitted[e]=!0,r.emit(e,t,n))}"function"!=typeof u&&(u=u.EventEmitter),process.__sig Line truncated
return plugin;
}
};
+8
View File
@@ -0,0 +1,8 @@
/* eslint-disable */
module.exports = {
name: "@yarnpkg/plugin-typescript",
factory: function (require) {
var plugin;plugin=(()=>{var e={958:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});const s=require("@yarnpkg/core"),a=require("@yarnpkg/plugin-essentials"),o=require("semver");var n=r.n(o),i=r(410),c=r.n(i);const d=e=>{const t={async send(t){try{const r=await s.httpUtils.request(t.url,t.data||null,{configuration:e,headers:t.headers});return{content:r.body,isTimedOut:!1,status:r.statusCode}}catch(e){return{content:e.response.body,isTimedOut:!1,status:e.response.statusCode}}}};return c()("OFCNCOG2CU","e8e1bd300d860104bb8c58453ffa1eb4",{requester:t})},l=e=>e.scope?`${e.scope}__${e.name}`:""+e.name,u={hooks:{afterWorkspaceDependencyAddition:async(e,t,r,o)=>{if("types"===r.scope)return;const{project:i}=e,{configuration:c}=i,u=c.makeResolver(),p={project:i,resolver:u,report:new s.ThrowReport};if(!await(async(e,t)=>{var r;const a=s.structUtils.stringifyIdent(e),o=d(t).initIndex("npm-search");try{return"definitely-typed"===(null===(r=(await o.getObject(a,{attributesToRetrieve:["types"]})).types)||void 0===r?void 0:r.ts)}catch(e){return!1}})(r,c))return;const m=l(r);let h=s.structUtils.parseRange(r.range).selector;if(!n().validRange(h)){const e=await u.getCandidates(r,new Map,p);h=s.structUtils.parseRange(e[0].reference).selector}const y=n().coerce(h);if(null===y)return;const g=`${a.suggestUtils.Modifier.CARET}${y.major}`,b=s.structUtils.makeDescriptor(s.structUtils.makeIdent("types",m),g),f=s.miscUtils.mapAndFind(i.workspaces,e=>{var t,a;const o=null===(t=e.manifest.dependencies.get(r.identHash))||void 0===t?void 0:t.descriptorHash,n=null===(a=e.manifest.devDependencies.get(r.identHash))||void 0===a?void 0:a.descriptorHash;if(o!==r.descriptorHash&&n!==r.descriptorHash)return s.miscUtils.mapAndFind.skip;const i=[];for(const t of s.Manifest.allDependencies){const r=e.manifest[t].get(b.identHash);void 0!==r&&i.push([t,r])}return 0===i.length?s.miscUtils.mapAndFind.skip:i});if(void 0!==f)for(const[t,r]of f)e.manifest[t].set(r.identHash,r);else{try{if(0===(await u.getCandidates(b,new Map,p)).length)return}catch(e){return}e.manifest[a.suggestUtils.Target.DEVELOPMENT].set(b.identHash,b)}},afterWorkspaceDependencyRemoval:async(e,t,r)=>{if("types"===r.scope)return;const a=l(r),o=s.structUtils.makeIdent("types",a);for(const t of s.Manifest.allDependencies){void 0!==e.manifest[t].get(o.identHash)&&e.manifest[t].delete(o.identHash)}},beforeWorkspacePacking:(e,t)=>{t.publishConfig&&t.publishConfig.typings&&(t.typings=t.publishConfig.typings),t.publishConfig&&t.publishConfig.types&&(t.types=t.publishConfig.types)}}}},469:(e,t,r)=>{"use strict";function s(e){const t=[...e.caches],r=t.shift();return void 0===r?a():{get:(e,a,o={miss:()=>Promise.resolve()})=>r.get(e,a,o).catch(()=>s({caches:t}).get(e,a,o)),set:(e,a)=>r.set(e,a).catch(()=>s({caches:t}).set(e,a)),delete:e=>r.delete(e).catch(()=>s({caches:t}).delete(e)),clear:()=>r.clear().catch(()=>s({caches:t}).clear())}}function a(){return{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then(e=>Promise.all([e,r.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}}r.r(t),r.d(t,{createFallbackableCache:()=>s,createNullCache:()=>a})},712:(e,t,r)=>{"use strict";function s(e={serializable:!0}){let t={};return{get(r,s,a={miss:()=>Promise.resolve()}){const o=JSON.stringify(r);if(o in t)return Promise.resolve(e.serializable?JSON.parse(t[o]):t[o]);const n=s(),i=a&&a.miss||(()=>Promise.resolve());return n.then(e=>i(e)).then(()=>n)},set:(r,s)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(s):s,Promise.resolve(s)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}r.r(t),r.d(t,{createInMemoryCache:()=>s})},223:(e,t,r)=>{"use strict";r.r(t),r.d(t,{addABTest:()=>i,createAnalyticsClient:()=>n,deleteABTest:()=>c,getABTest:()=>d,getABTests:()=>l,stopABTest:()=>u});var s=r(757),a=r(858),o=r(541);const n=e=>{const t=e.region||"us",r=(0,s.createAuth)(s.AuthMode.WithinHeaders,e.appId,e.apiKey),o=(0,a.createTransporter)({hosts:[{url:`analytics.${t}.algolia.com`}],...e,headers:{...r.headers(),"content-type":"application/json",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),n=e.appId;return(0,s.addMethods)({appId:n,transporter:o},e.methods)},i=e=>(t,r)=>e.transporter.write({method:o.N.Post,path:"2/abtests",data:t},r),c=e=>(t,r)=>e.transporter.write({method:o.N.Delete,path:(0,s.encode)("2/abtests/%s",t)},r),d=e=>(t,r)=>e.transporter.read({method:o.N.Get,path:(0,s.encode)("2/abtests/%s",t)},r),l=e=>t=>e.transporter.read({method:o.N.Get,path:"2/abtests"},t),u=e=>(t,r)=>e.transporter.write({method:o.N.Post,path:(0,s.encode)("2/abtests/%s/stop",t)},r)},757:(e,t,r)=>{"use strict";function s(e,t,r){const s={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===u.WithinHeaders?s:{},queryParameters:()=>e===u.WithinQueryParameters?s:{}}}function a(e){let t=0;const r=()=>(t++,new Promise(s=>{setTimeout(()=>{s(e(r))},Math.min(100*t,1e3))}));return e(r)}funcLine truncated
return plugin;
}
};
+631
View File
@@ -0,0 +1,631 @@
#!/usr/bin/env node
/* eslint-disable */
//prettier-ignore
(()=>{var Loe=Object.create,pg=Object.defineProperty,Moe=Object.defineProperties,Toe=Object.getOwnPropertyDescriptor,Ooe=Object.getOwnPropertyDescriptors,Koe=Object.getOwnPropertyNames,gC=Object.getOwnPropertySymbols,Uoe=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty,IN=Object.prototype.propertyIsEnumerable;var EN=(t,e,r)=>e in t?pg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,v=(t,e)=>{for(var r in e||(e={}))uw.call(e,r)&&EN(t,r,e[r]);if(gC)for(var r of gC(e))IN.call(e,r)&&EN(t,r,e[r]);return t},V=(t,e)=>Moe(t,Ooe(e)),Hoe=t=>pg(t,"__esModule",{value:!0});var Rr=(t,e)=>{var r={};for(var i in t)uw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&gC)for(var i of gC(t))e.indexOf(i)<0&&IN.call(t,i)&&(r[i]=t[i]);return r},Yoe=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),et=(t,e)=>{for(var r in e)pg(t,r,{get:e[r],enumerable:!0})},joe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Koe(e))!uw.call(t,i)&&i!=="default"&&pg(t,i,{get:()=>e[i],enumerable:!(r=Toe(e,i))||r.enumerable});return t},te=t=>joe(Hoe(pg(t!=null?Loe(Uoe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var XN=C((J8e,JN)=>{JN.exports=WN;WN.sync=iae;var zN=require("fs");function nae(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i<r.length;i++){var n=r[i].toLowerCase();if(n&&t.substr(-n.length).toLowerCase()===n)return!0}return!1}function VN(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:nae(e,r)}function WN(t,e,r){zN.stat(t,function(i,n){r(i,i?!1:VN(n,t,e))})}function iae(t,e){return VN(zN.statSync(t),t,e)}});var tL=C((W8e,ZN)=>{ZN.exports=_N;_N.sync=sae;var $N=require("fs");function _N(t,e,r){$N.stat(t,function(i,n){r(i,i?!1:eL(n,e))})}function sae(t,e){return eL($N.statSync(t),e)}function eL(t,e){return t.isFile()&&oae(t,e)}function oae(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var iL=C((V8e,rL)=>{var z8e=require("fs"),bC;process.platform==="win32"||global.TESTING_WINDOWS?bC=XN():bC=tL();rL.exports=Sw;Sw.sync=aae;function Sw(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Sw(t,e||{},function(s,o){s?n(s):i(o)})})}bC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function aae(t,e){try{return bC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var cL=C((X8e,nL)=>{var xl=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",sL=require("path"),Aae=xl?";":":",oL=iL(),aL=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),AL=(t,e)=>{let r=e.colon||Aae,i=t.match(/\//)||xl&&t.match(/\\/)?[""]:[...xl?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=xl?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=xl?n.split(r):[""];return xl&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},lL=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AL(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aL(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=sL.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];oL(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},lae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=AL(t,e),s=[];for(let o=0;o<r.length;o++){let a=r[o],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=sL.join(l,t),u=!l&&/^\.[\\\/]/.test(t)?t.slice(0,2)+c:c;for(let g=0;g<i.length;g++){let f=u+i[g];try{if(oL.sync(f,{pathExt:n}))if(e.all)s.push(f);else return f}catch(h){}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw aL(t)};nL.exports=lL;lL.sync=lae});var gL=C((Z8e,xw)=>{"use strict";var uL=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};xw.exports=uL;xw.exports.default=uL});var dL=C((_8e,fL)=>{"use strict";var hL=require("path"),cae=cL(),uae=gL();function pL(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=cae.sync(t.command,{path:r[uae({env:r})],pathExt:e?hL.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=hL.resolve(n?t.options.cwd:"",o)),o}function gae(t){return pL(t)||pL(t,!0)}fL.exports=gae});var CL=C(($8e,kw)=>{"Line truncated
`:`
`)+r,n=i+1,i=t.indexOf(`
`,n)}while(i!==-1);return s+=t.substr(n),s};_L.exports={stringReplaceAll:jae,stringEncaseCRLFWithFirstIndex:Gae}});var nM=C((m4e,eM)=>{"use strict";var qae=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,tM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Jae=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Wae=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,zae=new Map([["n",`
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function rM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):zae.get(t)||t}function Vae(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Jae))r.push(n[2].replace(Wae,(a,l,c)=>l?rM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function Xae(t){tM.lastIndex=0;let e=[],r;for(;(r=tM.exec(t))!==null;){let i=r[1];if(r[2]){let n=Vae(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function iM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}eM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(qae,(s,o,a,l,c,u)=>{if(o)n.push(rM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:iM(t,r)(g)),r.push({inverse:a,styles:Xae(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(iM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var eQ=C((I4e,sM)=>{"use strict";var Fg=JL(),{stdout:Xw,stderr:Zw}=ZL(),{stringReplaceAll:Zae,stringEncaseCRLFWithFirstIndex:_ae}=$L(),oM=["ansi","ansi","ansi256","ansi16m"],Rl=Object.create(null),$ae=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Xw?Xw.level:0;t.level=e.level===void 0?r:e.level},aM=class{constructor(e){return AM(e)}},AM=t=>{let e={};return $ae(e,t),e.template=(...r)=>eAe(e.template,...r),Object.setPrototypeOf(e,xC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=aM,e.template};function xC(t){return AM(t)}for(let[t,e]of Object.entries(Fg))Rl[t]={get(){let r=kC(this,_w(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Rl.visible={get(){let t=kC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var lM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of lM)Rl[t]={get(){let{level:e}=this;return function(...r){let i=_w(Fg.color[oM[e]][t](...r),Fg.color.close,this._styler);return kC(this,i,this._isEmpty)}}};for(let t of lM){let e="bg"+t[0].toUpperCase()+t.slice(1);Rl[e]={get(){let{level:r}=this;return function(...i){let n=_w(Fg.bgColor[oM[r]][t](...i),Fg.bgColor.close,this._styler);return kC(this,n,this._isEmpty)}}}}var tAe=Object.defineProperties(()=>{},V(v({},Rl),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),_w=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},kC=(t,e,r)=>{let i=(...n)=>rAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=tAe,i._generator=t,i._styler=e,i._isEmpty=r,i},rAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=Zae(e,r.close,r.open),r=r.parent;let s=e.indexOf(`
`);return s!==-1&&(e=_ae(e,n,i,s)),i+e+n},$w,eAe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s<r.length;s++)n.push(String(i[s-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[s]));return $w===void 0&&($w=nM()),$w(t,n.join(""))};Object.defineProperties(xC.prototype,Rl);var Rg=xC();Rg.supportsColor=Xw;Rg.stderr=xC({level:Zw?Zw.level:0});Rg.stderr.supportsColor=Zw;Rg.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};sM.exports=Rg});var uM=C((E4e,cM)=>{cM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var Ng=C(Ki=>{"use strict";var gM=uM(),Zn=process.env;Object.defineProperty(Ki,"_vendors",{value:gM.map(function(t){return t.constant})});Ki.name=null;Ki.isPR=null;gM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return fM(i)});if(Ki[t.constant]=r,r)switch(Ki.name=t.name,typeof t.pr){case"string":Ki.isPR=!!Zn[t.pr];break;case"object":"env"in t.pr?Ki.isPR=t.pr.env in Zn&&Zn[t.pr.env]!==t.pr.ne:"any"in t.pr?Ki.isPR=t.pr.any.some(function(i){return!!Zn[i]}):Ki.isPR=fM(t.pr);break;default:Ki.isPR=null}});Ki.isCI=!!(Zn.CI||Zn.CONTINUOUS_INTEGRATION||Zn.BUILD_NUMBER||Zn.RUN_ID||Ki.name);function fM(t){return typeof t=="string"?!!Zn[t]:Object.keys(t).every(function(e){return Zn[e]===t[e]})}});var vC=C(an=>{"use strict";an.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;an.find=(t,e)=>t.nodes.find(r=>r.type===e);an.exceedsLimit=(t,e,r=1,i)=>i===!1||!an.isInteger(t)||!an.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;an.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};an.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;an.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;an.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;an.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);an.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n<i.length;n++){let s=i[n];Array.isArray(s)?r(s,e):s!==void 0&&e.push(s)}return e};return r(t),e}});var PC=C((w4e,hM)=>{"use strict";var pM=vC();hM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&pM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&pM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var CM=C((Q4e,dM)=>{"use strict";dM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var DM=C((b4e,mM)=>{"use strict";var IM=CM(),Va=(t,e,r)=>{if(IM(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a n Line truncated
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var WM=C((v4e,jM)=>{"use strict";var BAe=PC(),{MAX_LENGTH:GM,CHAR_BACKSLASH:sQ,CHAR_BACKTICK:wAe,CHAR_COMMA:QAe,CHAR_DOT:bAe,CHAR_LEFT_PARENTHESES:DAe,CHAR_RIGHT_PARENTHESES:SAe,CHAR_LEFT_CURLY_BRACE:xAe,CHAR_RIGHT_CURLY_BRACE:kAe,CHAR_LEFT_SQUARE_BRACKET:qM,CHAR_RIGHT_SQUARE_BRACKET:JM,CHAR_DOUBLE_QUOTE:vAe,CHAR_SINGLE_QUOTE:PAe,CHAR_NO_BREAK_SPACE:FAe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:RAe}=YM(),NAe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(GM,r.maxLength):GM;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u<c;)if(o=s[s.length-1],f=p(),!(f===RAe||f===FAe)){if(f===sQ){m({type:"text",value:(e.keepEscaping?f:"")+p()});continue}if(f===JM){m({type:"text",value:"\\"+f});continue}if(f===qM){l++;let I=!0,y;for(;u<c&&(y=p());){if(f+=y,y===qM){l++;continue}if(y===sQ){f+=p();continue}if(y===JM&&(l--,l===0))break}m({type:"text",value:f});continue}if(f===DAe){o=m({type:"paren",nodes:[]}),s.push(o),m({type:"text",value:f});continue}if(f===SAe){if(o.type!=="paren"){m({type:"text",value:f});continue}o=s.pop(),m({type:"text",value:f}),o=s[s.length-1];continue}if(f===vAe||f===PAe||f===wAe){let I=f,y;for(e.keepQuotes!==!0&&(f="");u<c&&(y=p());){if(y===sQ){f+=y+p();continue}if(y===I){e.keepQuotes===!0&&(f+=y);break}f+=y}m({type:"text",value:f});continue}if(f===xAe){g++;let I=a.value&&a.value.slice(-1)==="$"||o.dollar===!0;o=m({type:"brace",open:!0,close:!1,dollar:I,depth:g,commas:0,ranges:0,nodes:[]}),s.push(o),m({type:"open",value:f});continue}if(f===kAe){if(o.type!=="brace"){m({type:"text",value:f});continue}let I="close";o=s.pop(),o.close=!0,m({type:I,value:f}),g--,o=s[s.length-1];continue}if(f===QAe&&g>0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:BAe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===bAe&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+f,a=y,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};jM.exports=NAe});var XM=C((P4e,zM)=>{"use strict";var VM=PC(),LAe=TM(),MAe=UM(),TAe=WM(),Ui=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ui.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ui.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.parse=(t,e={})=>TAe(t,e);Ui.stringify=(t,e={})=>typeof t=="string"?VM(Ui.parse(t,e),e):VM(t,e);Ui.compile=(t,e={})=>(typeof t=="string"&&(t=Ui.parse(t,e)),LAe(t,e));Ui.expand=(t,e={})=>{typeof t=="string"&&(t=Ui.parse(t,e));let r=MAe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ui.compile(t,e):Ui.expand(t,e);zM.exports=Ui});var Mg=C((F4e,ZM)=>{"use strict";var OAe=require("path"),_n="\\\\/",_M=`[^${_n}]`,Os="\\.",KAe="\\+",UAe="\\?",RC="\\/",HAe="(?=.)",$M="[^/]",oQ=`(?:${RC}|$)`,eT=`(?:^|${RC})`,aQ=`${Os}{1,2}${oQ}`,YAe=`(?!${Os})`,jAe=`(?!${eT}${aQ})`,GAe=`(?!${Os}{0,1}${oQ})`,qAe=`(?!${aQ})`,JAe=`[^.${RC}]`,WAe=`${$M}*?`,tT={DOT_LITERAL:Os,PLUS_LITERAL:KAe,QMARK_LITERAL:UAe,SLASH_LITERAL:RC,ONE_CHAR:HAe,QMARK:$M,END_ANCHOR:oQ,DOTS_SLASH:aQ,NO_DOT:YAe,NO_DOTS:jAe,NO_DOT_SLASH:GAe,NO_DOTS_SLASH:qAe,QMARK_NO_DOT:JAe,STAR:WAe,START_ANCHOR:eT},zAe=V(v({},tT),{SLASH_LITERAL:`[${_n}]`,QMARK:_M,STAR:`${_M}*?`,DOTS_SLASH:`${Os}{1,2}(?:[${_n}]|$)`,NO_DOT:`(?!${Os})`,NO_DOTS:`(?!(?:^|[${_n}])${Os}{1,2}(?:[${_n}]|$))`,NO_DOT_SLASH:`(?!${Os}{0,1}(?:[${_n}]|$))`,NO_DOTS_SLASH:`(?!${Os}{1,2}(?:[${_n}]|$))`,QMARK_NO_DOT:`[^.${_n}]`,START_ANCHOR:`(?:^|[${_n}])`,END_ANCHOR:`(?:[${_n}]|$)`}),VAe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@ Line truncated
Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=hCe.connect(e,v({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[li]=0,f[oc]=!1;let h=()=>f[li]<f.remoteSettings.maxConcurrentStreams,p=!0;f.socket.once("session",I=>{this.tlsSessionCache.set(u,I)}),f.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(f),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let I of f[fn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&h();)y.shift().resolve(f);let B=this.queue[o];if(B[I].listeners.length===0&&(delete B[I],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[fn]=f.originSet,!!h()&&(m(),Kb(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);f.destroy();return}f[fn]=f.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(CCe(y,f,mCe),0,f)}else I[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[li]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),Kb(this.sessions[o],f)})}),f[jH]=f.request,f.request=(I,y)=>{if(f[oc])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[jH](I,y);return f.ref(),++f[li],f[li]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[li],!f.destroyed&&!f.closed&&(ICe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[li]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[oc])?f.close():(Kb(this.sessions[o],f),m())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Xs.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),fCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[li]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return qH({agent:this,isFree:!0})}get busySessions(){return qH({agent:this,isFree:!1})}};Xs.kCurrentStreamsCount=li;Xs.kGracefullyClosing=oc;YH.exports={Agent:Xs,globalAgent:new Xs}});var Hb=C((F6e,JH)=>{"use strict";var{Readable:ECe}=require("stream"),WH=class extends ECe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};JH.exports=WH});var Yb=C((R6e,zH)=>{"use strict";zH.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var XH=C((N6e,VH)=>{"use strict";VH.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var _H=C((L6e,ZH)=>{"use strict";ZH.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var eY=C((T6e,$H)=>{"use strict";var ac=(t,e,r)=>{$H.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n) Line truncated
`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(`
`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(`
`)}${a.reverse().join(`
`)}`}}};Et.RequestError=mr;var pD=class extends mr{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=pD;var dD=class extends mr{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=dD;var CD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=CD;var mD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=mD;var ID=class extends mr{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=ID;var eI=class extends mr{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=eI;var ED=class extends mr{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=ED;var xme=["socket","connect","continue","information","upgrade","timeout"],hD=class extends OY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[lc]=0,this[uc]=0,this.requestInitialized=!1,this[_m]=new Set,this.redirects=[],this[gc]=!1,this[$m]=!1,this[vf]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof uD.IncomingMessage&&(this.options.headers=v(v({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ome.ReadStream&&await bme(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Sr])===null||c===void 0||c.destroy();return}for(let g of this[vf])g();this[vf].length=0,this.requestInitialized=!0}catch(u){if(u instanceof mr){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=v(v(v({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=v(v({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([GY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.httLine truncated
`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};_s.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function mj(t,e){var r=this;_s.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=xD({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=eIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function Ij(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function xD(t){for(var e=1,r=arguments.length;e<r;++e){var i=arguments[e];if(typeof i=="object")for(var n=Object.keys(i),s=0,o=n.length;s<o;++s){var a=n[s];i[a]!==void 0&&(t[a]=i[a])}}return t}var Zo;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?Zo=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:Zo=function(){};fc.debug=Zo});var Bj=C((h7e,yj)=>{yj.exports=Ej()});var sG=C((DVe,RD)=>{var Nj=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Nf={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Nf[$o]=ne[$o]);var ND=[],Lj="./this.program",Mj=function(t,e){throw e},Tj=!1,EA=!0,Lf="";function pIe(t){return ne.locateFile?ne.locateFile(t,Lf):Lf+t}var AI,LD,lI,MD;EA&&(Tj?Lf=require("path").dirname(Lf)+"/":Lf=__dirname+"/",AI=function(e,r){var i=Kj(e);return i?r?i:i.toString():(lI||(lI=Nj),MD||(MD=require("path")),e=MD.normalize(e),lI.readFileSync(e,r?null:"utf8"))},LD=function(e){var r=AI(e,!0);return r.buffer||(r=new Uint8Array(r)),Oj(r.buffer),r},process.argv.length>1&&(Lj=process.argv[1].replace(/\\/g,"/")),ND=process.argv.slice(2),typeof RD!="undefined"&&(RD.exports=ne),Mj=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var cI=ne.print||console.log.bind(console),Wr=ne.printErr||console.warn.bind(console);for($o in Nf)Nf.hasOwnProperty($o)&&(ne[$o]=Nf[$o]);Nf=null;ne.arguments&&(ND=ne.arguments);ne.thisProgram&&(Lj=ne.thisProgram);ne.quit&&(Mj=ne.quit);var dIe=16;function CIe(t,e){return e||(e=dIe),Math.ceil(t/e)*e}var mIe=0,IIe=function(t){mIe=t},TD;ne.wasmBinary&&(TD=ne.wasmBinary);var x7e=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&gr("no native wasm support detected");function EIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return ui[t>>0];case"i8":return ui[t>>0];case"i16":return OD[t>>1];case"i32":return je[t>>2];case"i64":return je[t>>2];case"float":return Uj[t>>2];case"double":return Hj[t>>3];default:gr("invalid type for getValue: "+e)}return null}var uI,Yj=!1,yIe;function Oj(t,e){t||gr("Assertion failed: "+e)}function jj(t){var e=ne["_"+t];return Oj(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function bIe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var m=(h.length<<2)+1;p=Jj(m),qj(h,p,m)}return p},array:function(h){var p=Jj(h.length);return BIe(h,p),p}};function o(h){return e==="string"?Gj(h):e==="boolean"?Boolean(h):h}var a=jj(t),l=[],c=0;if(i)for(var u=0;u<i.length;u++){var g=s[r[u]];g?(c===0&&(c=wIe()),l[u]=g(i[u])):l[u]=i[u]}var f=a.apply(null,l);return f=o(f),c!==0&&QIe(c),f}function DIe(t,e,r,i){r=r||[];var n=r.every(function(o){return o==="number"}),s=e!=="string";return s&&n&&!i?jj(t):function(){return bIe(t,e,r,arguments,i)}}var Wj=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function hc(t,e,r){for(var i=e+r,n=e;t[n]&&!(n>=i);)++n;if(n-e>16&&t.subarray&&Wj)return Wj.decode(t.subarray(e,n));for(var s="";e<n;){var o=t[e++];if(!(o&128)){s+=String.fromCharCode(o);continue}var a=t[e++]&63;if((o&224)==192){s+=String.fromCharCode((o&31)<<6|a);continue}var l=t[e++]&63;if((o&240)==224?o=(o&15)<<12|a<<6|l:o=(o&7)<<18|a<<12|l<<6|t[e++]&63,o<65536)s+=String.fromCharCode(o);else{var c=o-65536;s+=String.fromCharCode(55296|c>>10,56320|c&1023)}}return s}function Gj(t,e){return t?hc(pc,t,e):""}function gI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o<t.length;++o){var a=t.charCodeAt(o);if(a>=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function qj(t,e,r){return gI(t,pc,e,r)}function fI(t){for(var e=0,r=0;r<t.length;++r){var i=t.charCodeAt(r);i>=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function KD(t){var e=fI(t)+1,r=zj(e);return r&&gI(t,ui,r,e),r}function BIe(t,e){ui.set(t,e)}function SIe(t,e){return t%e>0&&(t+=e-t%e),t}var UD,ui,pc,OD,xIe,je,kIe,Uj,Hj;function Vj(t){UD=t,ne.HEAP8=ui=ne Line truncated
`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=`
`));if(!e)return null;t.input=qD(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(cI(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cI(hc(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Wr(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Wr(hc(t.output,0)),t.output=[])}}};function JD(t){for(var e=CIe(t,65536),r=zj(e);t<e;)ui[r+t++]=0;return r}var ot={ops_table:null,mount:function(t){return ot.createNode(null,"/",16384|511,0)},createNode:function(t,e,r,i){if(E.isBlkdev(r)||E.isFIFO(r))throw new E.ErrnoError(63);ot.ops_table||(ot.ops_table={dir:{node:{getattr:ot.node_ops.getattr,setattr:ot.node_ops.setattr,lookup:ot.node_ops.lookup,mknod:ot.node_ops.mknod,rename:ot.node_ops.rename,unlink:ot.node_ops.unlink,rmdir:ot.node_ops.rmdir,readdir:ot.node_ops.readdir,symlink:ot.node_ops.symlink},stream:{llseek:ot.stream_ops.llseek}},file:{node:{getattr:ot.node_ops.getattr,setattr:ot.node_ops.setattr},stream:{llseek:ot.stream_ops.llseek,read:ot.stream_ops.read,write:ot.stream_ops.write,allocate:ot.stream_ops.allocate,mmap:ot.stream_ops.mmap,msync:ot.stream_ops.msync}},link:{node:{getattr:ot.node_ops.getattr,setattr:ot.node_ops.setattr,readlink:ot.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ot.node_ops.getattr,setattr:ot.node_ops.setattr},stream:E.chrdev_stream_ops}});var n=E.createNode(t,e,r,i);return E.isDir(n.mode)?(n.node_ops=ot.ops_table.dir.node,n.stream_ops=ot.ops_table.dir.stream,n.contents={}):E.isFile(n.mode)?(n.node_ops=ot.ops_table.file.node,n.stream_ops=ot.ops_table.file.stream,n.usedBytes=0,n.contents=null):E.isLink(n.mode)?(n.node_ops=ot.ops_table.link.node,n.stream_ops=ot.ops_table.link.stream):E.isChrdev(n.mode)&&(n.node_ops=ot.ops_table.chrdev.node,n.stream_ops=ot.ops_table.chrdev.stream),n.timestamp=Date.now(),t&&(t.contents[e]=n,t.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(t){return t.contents?t.contents.subarray?t.contents.subarray(0,t.usedBytes):new Uint8Array(t.contents):new Uint8Array(0)},expandFileStorage:function(t,e){var r=t.contents?t.contents.length:0;if(!(r>=e)){var i=1024*1024;e=Math.max(e,r*(r<i?2:1.125)>>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&ot.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return ot.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=ot.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a<o;a++)e[r+a]=s[n+a];return o},write:function(t,e,r,i,n,s){if(e.buffer===ui.buffer&&(s=!1),!i)return 0;var o=t.node;if(o.timestamp=Date.now(),e.subarray&&(!o.contents||o.contents.subarray)){if(s)return o.contents=e.subarray(r,r+i),o.usedBytes=i,i;if(o.usedBytes===0&&n===0)return o.contents=e.slice(r,r+i),o.usedBytes=i,i;if(n+i<=o.usedBytes)return o.contents.set(e.subarray(r,r+i),n),i}if(ot.expandFileStorage(o,n+i),o.contents.subarray&&e.subarray)o.contents.set(e.subarray(r,r+i),n);else for(var a=0;a<i;a++)o.contents[n+a]=e[r+a];return o.usedBytes=Math.max(o.usedBytes,n+i),i},llseek:function(t,e,r){var i=e;if(r===1?i+=t.position:r===2&&E.isFile(t.node.mode)&&(i+=t.node.usedBytes),i<0)throw new E.ErrnoError(28);return i},allocate:function(t,e,r){ot.expandFileStorage(t.node,e+r),t.node.usedByt Line truncated
\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;o<this.buffer.length&&`\0\r
\x85\u2028\u2029`.indexOf(this.buffer.charAt(o))===-1;)if(o+=1,o-this.position>r/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),dG.repeat(" ",e)+i+a+s+`
`+dG.repeat(" ",e+this.position-n+i.length)+"^"};iS.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`:
`+r)),i};pG.exports=iS});var Ir=C((zVe,mG)=>{"use strict";var IG=Ec(),bEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],DEe=["scalar","sequence","mapping"];function SEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function xEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(bEe.indexOf(r)===-1)throw new IG('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=SEe(e.styleAliases||null),DEe.indexOf(this.kind)===-1)throw new IG('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}mG.exports=xEe});var SA=C((VVe,EG)=>{"use strict";var yG=DA(),bI=Ec(),kEe=Ir();function nS(t,e,r){var i=[];return t.include.forEach(function(n){r=nS(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function vEe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(i);return t}function yc(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new bI("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=nS(this,"implicit",[]),this.compiledExplicit=nS(this,"explicit",[]),this.compiledTypeMap=vEe(this.compiledImplicit,this.compiledExplicit)}yc.DEFAULT=null;yc.create=function(){var e,r;switch(arguments.length){case 1:e=yc.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new bI("Wrong number of arguments for Schema.create function")}if(e=yG.toArray(e),r=yG.toArray(r),!e.every(function(i){return i instanceof yc}))throw new bI("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(i){return i instanceof kEe}))throw new bI("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new yc({include:e,explicit:r})};EG.exports=yc});var wG=C((XVe,BG)=>{"use strict";var PEe=Ir();BG.exports=new PEe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var bG=C((ZVe,QG)=>{"use strict";var FEe=Ir();QG.exports=new FEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var SG=C((_Ve,DG)=>{"use strict";var REe=Ir();DG.exports=new REe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var DI=C(($Ve,xG)=>{"use strict";var NEe=SA();xG.exports=new NEe({explicit:[wG(),bG(),SG()]})});var vG=C((eXe,kG)=>{"use strict";var LEe=Ir();function MEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function TEe(){return null}function OEe(t){return t===null}kG.exports=new LEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:MEe,construct:TEe,predicate:OEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var FG=C((tXe,PG)=>{"use strict";var KEe=Ir();function UEe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function HEe(t){return t==="true"||t==="True"||t==="TRUE"}function YEe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}PG.exports=new KEe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:UEe,construct:HEe,predicate:YEe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var NG=C((rXe,RG)=>{"use strict";var jEe=DA(),GEe=Ir();function qEe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function JEe(t){return 48<=t&&t<=55}function WEe(t){return 48<=t&&t<=57}function zEe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r<e;r++)if(n=t[r],n!=="_"){if(n!=="0"&&n!=="1")return!1;i=!0}return i&&n!=="_"}if(n==="x"){for(r++;r<e;r++)if(n=t[r],n!=="_"){if(!qEe(t.charCodeAt(r)))return!1;i=!0}return i&&n!=="_"}for(;r<e;r++)if(n=t[r],n!=="_"){if(!JEe(t.charCodeAt(r)))return!1;i=!0}return i&&n!=="_"}if(n==="_")return!1;for(;r<e;r++)if(n=t[r],n!=="_"){if(n===":")break;if(!WEe(t.charCodeAt(r)))return!1;i=!0}return!i||n==="_"?!1:n!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r)) Line truncated
\r`;function fye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=aS;for(r=0;r<n;r++)if(e=s.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;i+=6}return i%8==0}function hye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=aS,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),xA?xA.from?xA.from(a):new xA(a):a}function pye(t){var e="",r=0,i,n,s=t.length,o=aS;for(i=0;i<s;i++)i%3==0&&i&&(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function dye(t){return xA&&xA.isBuffer(t)}JG.exports=new gye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fye,construct:hye,predicate:dye,represent:pye})});var XG=C((lXe,VG)=>{"use strict";var Cye=Ir(),mye=Object.prototype.hasOwnProperty,Iye=Object.prototype.toString;function Eye(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r<i;r+=1){if(n=a[r],o=!1,Iye.call(n)!=="[object Object]")return!1;for(s in n)if(mye.call(n,s))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function yye(t){return t!==null?t:[]}VG.exports=new Cye("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Eye,construct:yye})});var _G=C((cXe,ZG)=>{"use strict";var Bye=Ir(),wye=Object.prototype.toString;function Qye(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(i=o[e],wye.call(i)!=="[object Object]"||(n=Object.keys(i),n.length!==1))return!1;s[e]=[n[0],i[n[0]]]}return!0}function bye(t){if(t===null)return[];var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}ZG.exports=new Bye("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Qye,construct:bye})});var eq=C((uXe,$G)=>{"use strict";var Dye=Ir(),Sye=Object.prototype.hasOwnProperty;function xye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Sye.call(r,e)&&r[e]!==null)return!1;return!0}function kye(t){return t!==null?t:{}}$G.exports=new Dye("tag:yaml.org,2002:set",{kind:"mapping",resolve:xye,construct:kye})});var Bc=C((gXe,tq)=>{"use strict";var vye=SA();tq.exports=new vye({include:[oS()],implicit:[jG(),qG()],explicit:[zG(),XG(),_G(),eq()]})});var iq=C((fXe,rq)=>{"use strict";var Pye=Ir();function Fye(){return!0}function Rye(){}function Nye(){return""}function Lye(t){return typeof t=="undefined"}rq.exports=new Pye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Fye,construct:Rye,predicate:Lye,represent:Nye})});var sq=C((hXe,nq)=>{"use strict";var Mye=Ir();function Tye(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Oye(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Kye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Uye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}nq.exports=new Mye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Tye,construct:Oye,predicate:Uye,represent:Kye})});var Aq=C((pXe,oq)=>{"use strict";var SI;try{aq=require,SI=aq("esprima")}catch(t){typeof window!="undefined"&&(SI=window.esprima)}var aq,Hye=Ir();function Yye(t){if(t===null)return!1;try{var e="("+t+")",r=SI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function jye(t){var e="("+t+")",r=SI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Gye(t){return t.toString()}function qye(t){return Object.prototype.toString.call(t)==="[object Function]"}oq.exports=new Hye("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Yye,construct:jye,predicate:qye,represent:Gye})});var Hf=C((dXe,lq)=>{"use strict";var cq=SA();lq.exports=cq.DEFAULT=new cq({include:[Bc()],explicit:[iq(),sq(),Aq()]})});var kq=C((CXe,Yf)=>{"use strict";var to=DA(),uq=Ec(),Jye=CG(),gq=Bc(),Wye=Hf(),ta=Object.prototype.hasOwnProperty,xI=1,fq=2,hq=3,kI=4,AS=1,zye=2,pq=3,Vye=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFF Line truncated
`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function tBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Eq=new Array(256),yq=new Array(256);for(var Qc=0;Qc<256;Qc++)Eq[Qc]=Iq(Qc)?1:0,yq[Qc]=Iq(Qc);function rBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Wye,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Bq(t,e){return new uq(e,new Jye(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function $e(t,e){throw Bq(t,e)}function vI(t,e){t.onWarning&&t.onWarning.call(null,Bq(t,e))}var wq={YAML:function(e,r,i){var n,s,o;e.version!==null&&$e(e,"duplication of %YAML directive"),i.length!==1&&$e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&$e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&$e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&vI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&$e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],dq.test(n)||$e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&$e(e,'there is a previously declared suffix for "'+n+'" tag handle'),Cq.test(s)||$e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e<r){if(a=t.input.slice(e,r),i)for(n=0,s=a.length;n<s;n+=1)o=a.charCodeAt(n),o===9||32<=o&&o<=1114111||$e(t,"expected valid JSON character");else Vye.test(a)&&$e(t,"the stream contains non-printable characters");t.result+=a}}function Qq(t,e,r,i){var n,s,o,a;for(to.isObject(r)||$e(t,"cannot merge mappings; the provided source object is unacceptable"),n=Object.keys(r),o=0,a=n.length;o<a;o+=1)s=n[o],ta.call(e,s)||(e[s]=r[s],i[s]=!0)}function bc(t,e,r,i,n,s,o,a){var l,c;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),l=0,c=n.length;l<c;l+=1)Array.isArray(n[l])&&$e(t,"nested arrays are not supported inside keys"),typeof n=="object"&&mq(n[l])==="[object Object]"&&(n[l]="[object Object]");if(typeof n=="object"&&mq(n)==="[object Object]"&&(n="[object Object]"),n=String(n),e===null&&(e={}),i==="tag:yaml.org,2002:merge")if(Array.isArray(s))for(l=0,c=s.length;l<c;l+=1)Qq(t,e,s[l],r);else Qq(t,e,s,r);else!t.json&&!ta.call(r,n)&&ta.call(e,n)&&(t.line=o||t.line,t.position=a||t.position,$e(t,"duplicated mapping key")),e[n]=s,delete r[n];return e}function lS(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):$e(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function fr(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);n!==0;){for(;kA(n);)n=t.input.charCodeAt(++t.position);if(e&&n===35)do n=t.input.charCodeAt(++t.position);while(n!==10&&n!==13&&n!==0);if(as(n))for(lS(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;n===32;)t.lineIndent++,n=t.input.charCodeAt(++t.position);else break}return r!==-1&&i!==0&&t.lineIndent<r&&vI(t,"deficient indentation"),i}function PI(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||ki(r)))}function cS(t,e){e===1?t.result+=" ":e>1&&(t.result+=to.repeat(`
`,e-1))}function iBe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),ki(h)||wc(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),ki(n)||r&&wc(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),ki(n)||r&&wc(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),ki(i))break}else{if(t.position===t.lineStart&&PI(t)||r&&wc(h))break;if(as(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,fr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(ra(t,s,o,!1),cS(t,t.line-l),s=o=t.position,a=!1),kA(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function nBe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(ra(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else as(r)?(ra(t,i,n,!0),cS(t,fr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);$e(t,"unexpected end of the stream within a single quoted scalar")}function sBe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),as(a))fr(t,!1,e);else if(a<256&&Eq[a])t.result+=yq[a],t.position++;else if((o=$ye(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=_ye(a))>=0?s=(s<<4)+o:$e(t,"expected hexadecimal character");t.result+=tBe(s),t.position++}else $e(t,"unknown escape sequence");r=i=t.position}else as(a)?(ra(t,r,i,!0),cS(t,fr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}$e(t,"unexpected end of the stream within a double quoted scalar")}function oBe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(fr(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||$e(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),ki(a)&&(c=u=!0,t.position++,fr(t,!0,e))),i=t.line,Dc(t,e,xI,!1,!0),p=t.tag,h=t.result,fr(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),fr(t,!0,e),Dc(t,e,xI,!1,!0),m=t.result),g?bc(t,s,f,p,h,m):c?s.push(bc(t,null,f,p,h,m)):s.push(h),fr(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}$e(t,"unexpected end of the stream within a flow collection")}function aBe(t,e){var r,i,n=AS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)AS===n?n=g===43?pq:zye:$e(t,"repeat of a chomping mode identifier");else if((u=eBe(g))>=0)u===0?$e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?$e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(kA(g)){do g=t.input.charCodeAt(++t.position);while(kA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!as(g)&&g!==0)}for(;g!==0;){for(lS(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndent<a)&&g===32;)t.lineIndent++,g=t.input.charCodeAt(++t.position);if(!o&&t.lineIndent>a&&(a=t.lineIndent),as(g)){l++;continue}if(t.lineIndent<a){n===pq?t.result+=to.repeat(`
`,s?1+l:l):n===AS&&s&&(t.result+=`
`);break}for(i?kA(g)?(c=!0,t.result+=to.repeat(`
`,s?1+l:l)):c?(c=!1,t.result+=to.repeat(`
`,l+1)):l===0?s&&(t.result+=" "):t.result+=to.repeat(`
`,l):t.result+=to.repeat(`
`,s?1+l:l),s=!0,o=!0,l=0,r=t.position;!as(g)&&g!==0;)g=t.input.charCodeAt(++t.position);ra(t,r,t.position,!1)}return!0}function bq(t,e){var r,i=t.tag,n=t.anchor,s=[],o,a=!1,l;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),l=t.input.charCodeAt(t.position);l!==0&&!(l!==45||(o=t.input.charCodeAt(t.position+1),!ki(o)));){if(a=!0,t.position++,fr(t,!0,-1)&&t.lineIndent<=e){s.push(null),l=t.input.charCodeAt(t.position);continue}if(r=t.line,Dc(t,e,hq,!1,!0),s.push(t.result),fr(t,!0,-1),l=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&l!==0)$e(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return a?(t.tag=i,t.anchor=n,t.kind="sequence",t.result=s,!0):!1}function ABe(t,e,r){var i,n,s,o,a=t.tag,l=t.anchor,c={},u={},g=null,f=null,h=null,p=!1,m=!1,I;for(t.anchor!==null&&(t.anchorMap[t.anchor]=c),I=t.input.charCodeAt(t.position);I!==0;){if(i=t.input.charCodeAt(t.position+1),s=t.line,o=t.position,(I===63||I===58)&&ki(i))I===63?(p&&(bc(t,c,u,g,f,null),g=f=h=null),m=!0,p=!0,n=!0):p?(p=!1,n=!0):$e(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,I=i;else if(Dc(t,r,fq,!1,!0))if(t.line===s){for(I=t.input.charCodeAt(t.position);kA(I);)I=t.input.charCodeAt(++t.position);if(I===58)I=t.input.charCodeAt(++t.position),ki(I)||$e(t,"a whitespace character is expected after the key-value separator within a block mapping"),p&&(bc(t,c,u,g,f,null),g=f=h=null),m=!0,p=!1,n=!1,g=t.tag,f=t.result;else if(m)$e(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=a,t.anchor=l,!0}else if(m)$e(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=a,t.anchor=l,!0;else break;if((t.line===s||t.lineIndent>e)&&(Dc(t,e,kI,!0,n)&&(p?f=t.result:h=t.result),p||(bc(t,c,u,g,f,h,s,o),g=f=h=null),fr(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)$e(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return p&&bc(t,c,u,g,f,null),m&&(t.tag=a,t.anchor=l,t.kind="mapping",t.result=c),m}function lBe(t){var e,r=!1,i=!1,n,s,o;if(o=t.input.charCodeAt(t.position),o!==33)return!1;if(t.tag!==null&&$e(t,"duplication of a tag property"),o=t.input.charCodeAt(++t.position),o===60?(r=!0,o=t.input.charCodeAt(++t.position)):o===33?(i=!0,n="!!",o=t.input.charCodeAt(++t.position)):n="!",e=t.position,r){do o=t.input.charCodeAt(++t.position);while(o!==0&&o!==62);t.position<t.length?(s=t.input.slice(e,t.position),o=t.input.charCodeAt(++t.position)):$e(t,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!ki(o);)o===33&&(i?$e(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),dq.test(n)||$e(t,"named tag handle cannot contain such characters"),i=!0,e=t.position+1)),o=t.input.charCodeAt(++t.position);s=t.input.slice(e,t.position),Zye.test(s)&&$e(t,"tag suffix cannot contain flow indicator characters")}return s&&!Cq.test(s)&&$e(t,"tag name cannot contain such characters: "+s),r?t.tag=s:ta.call(t.tagMap,n)?t.tag=t.tagMap[n]+s:n==="!"?t.tag="!"+s:n==="!!"?t.tag="tag:yaml.org,2002:"+s:$e(t,'undeclared tag handle "'+n+'"'),!0}function cBe(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&$e(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!ki(r)&&!wc(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&$e(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function uBe(t){var e,r,i;if(i=t.input.charCodeAt(t.position),i!==42)return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;i!==0&&!ki(i)&&!wc(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&$e(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),ta.call(t.anchorMap,r)||$e(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],fr(t,!0,-1),!0}function Dc(t,e,r,i,n){var s,o,a,l=1,c=!1,u=!1,g,f,h,p,m;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=o=a=kI===r||hq===r,i&&fr(t,!0,-1)&&(c=!0,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)),l===1)for(;lBe(t)||cBe(t);)fr(t,!0,-1)?(c=!0,a=s,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)):a=!1;if(a&&(a=c||n),(l===1||kI===r)&&(xI===r||fq===r?p=e:p=e+1,m=t.position-t.lineStart,l===1?a&&(bq(t,m)||ABe(t,m,p))||oBe(t,p)?u=!0:(o&&aBe(t,p)||nBe(t,p)||sBe(t,p)?u=!0:uBe(t)?(u=!0,(t.tag!==null||t.anchor!==null)&&$e(t,"alias node should not have any properties")):iBe(t,p,xI===r)&&(u=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):l===0&&(u=a&&bq(t,m))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&$e(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g<f;g+=1)if(h=t.implicitTypes[g],h.resolve(t.result)){t.result=h.construct(t.result),t.tag=h.tag Line truncated
`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new rBe(t,e),i=t.indexOf("\0");for(i!==-1&&(r.position=i,$e(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)gBe(r);return r.documents}function Sq(t,e,r){e!==null&&typeof e=="object"&&typeof r=="undefined"&&(r=e,e=null);var i=Dq(t,r);if(typeof e!="function")return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])}function xq(t,e){var r=Dq(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new uq("expected a single document in the stream, but found more")}}function fBe(t,e,r){return typeof e=="object"&&e!==null&&typeof r=="undefined"&&(r=e,e=null),Sq(t,e,to.extend({schema:gq},r))}function hBe(t,e){return xq(t,to.extend({schema:gq},e))}Yf.exports.loadAll=Sq;Yf.exports.load=xq;Yf.exports.safeLoadAll=fBe;Yf.exports.safeLoad=hBe});var _q=C((mXe,uS)=>{"use strict";var jf=DA(),Gf=Ec(),pBe=Hf(),dBe=Bc(),vq=Object.prototype.toString,Pq=Object.prototype.hasOwnProperty,CBe=9,qf=10,mBe=13,IBe=32,EBe=33,yBe=34,Fq=35,BBe=37,wBe=38,QBe=39,bBe=42,Rq=44,DBe=45,Nq=58,SBe=61,xBe=62,kBe=63,vBe=64,Lq=91,Mq=93,PBe=96,Tq=123,FBe=124,Oq=125,zr={};zr[0]="\\0";zr[7]="\\a";zr[8]="\\b";zr[9]="\\t";zr[10]="\\n";zr[11]="\\v";zr[12]="\\f";zr[13]="\\r";zr[27]="\\e";zr[34]='\\"';zr[92]="\\\\";zr[133]="\\N";zr[160]="\\_";zr[8232]="\\L";zr[8233]="\\P";var RBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function NBe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n<s;n+=1)o=i[n],a=String(e[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),l=t.compiledTypeMap.fallback[o],l&&Pq.call(l.styleAliases,a)&&(a=l.styleAliases[a]),r[o]=a;return r}function Kq(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else if(t<=4294967295)r="U",i=8;else throw new Gf("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+jf.repeat("0",i-e.length)+e}function LBe(t){this.schema=t.schema||pBe,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=jf.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=NBe(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Uq(t,e){for(var r=jf.repeat(" ",e),i=0,n=-1,s="",o,a=t.length;i<a;)n=t.indexOf(`
`,i),n===-1?(o=t.slice(i),i=a):(o=t.slice(i,n+1),i=n+1),o.length&&o!==`
`&&(s+=r),s+=o;return s}function gS(t,e){return`
`+jf.repeat(" ",t.indent*e)}function MBe(t,e){var r,i,n;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(n=t.implicitTypes[r],n.resolve(e))return!0;return!1}function fS(t){return t===IBe||t===CBe}function Sc(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function TBe(t){return Sc(t)&&!fS(t)&&t!==65279&&t!==mBe&&t!==qf}function Hq(t,e){return Sc(t)&&t!==65279&&t!==Rq&&t!==Lq&&t!==Mq&&t!==Tq&&t!==Oq&&t!==Nq&&(t!==Fq||e&&TBe(e))}function OBe(t){return Sc(t)&&t!==65279&&!fS(t)&&t!==DBe&&t!==kBe&&t!==Nq&&t!==Rq&&t!==Lq&&t!==Mq&&t!==Tq&&t!==Oq&&t!==Fq&&t!==wBe&&t!==bBe&&t!==EBe&&t!==FBe&&t!==SBe&&t!==xBe&&t!==QBe&&t!==yBe&&t!==BBe&&t!==vBe&&t!==PBe}function Yq(t){var e=/^\n* /;return e.test(t)}var jq=1,Gq=2,qq=3,Jq=4,FI=5;function KBe(t,e,r,i,n){var s,o,a,l=!1,c=!1,u=i!==-1,g=-1,f=OBe(t.charCodeAt(0))&&!fS(t.charCodeAt(t.length-1));if(e)for(s=0;s<t.length;s++){if(o=t.charCodeAt(s),!Sc(o))return FI;a=s>0?t.charCodeAt(s-1):null,f=f&&Hq(o,a)}else{for(s=0;s<t.length;s++){if(o=t.charCodeAt(s),o===qf)l=!0,u&&(c=c||s-g-1>i&&t[g+1]!==" ",g=s);else if(!Sc(o))return FI;a=s>0?t.charCodeAt(s-1):null,f=f&&Hq(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?jq:Gq:r>9&&Yq(t)?FI:c?Jq:qq}function YBe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&RBe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MBe(t,l)}switch(KBe(e,o,t.indent,s,a)){case jq:return e;case Gq:return"'"+e.replace(/'/g,"''")+"'";case qq:return"|"+Wq(e,t.indent)+zq(Uq(e,n));case Jq:return">"+Wq(e,t.indent)+zq(Uq(UBe(e,s),n));case FI:return'"'+HBe(e,s)+'"';default:throw new Gf("impossible error: invalid scalar style")}}()}function Wq(t,e){var r=Yq(t)?String(e):"",i=t[t.length-1]===`
`,n=i&&(t[t.length-2]===`
`||t===`
`),s=n?"+":i?"":"-";return r+s+`
`}function zq(t){return t[t.length-1]===`
`?t.slice(0,-1):t}function UBe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(`
`);return c=c!==-1?c:t.length,r.lastIndex=c,Vq(t.slice(0,c),e)}(),n=t[0]===`
`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?`
`:"")+Vq(l,e),n=s}return i}function Vq(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=`
`+t.slice(n,s),n=s+1),o=a;return l+=`
`,t.length-n>e&&o>n?l+=t.slice(n,o)+`
`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function HBe(t){for(var e="",r,i,n,s=0;s<t.length;s++){if(r=t.charCodeAt(s),r>=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Kq((r-55296)*1024+i-56320+65536),s++;continue}n=zr[r],e+=!n&&Sc(r)?t[s]:n||Kq(r)}return e}function jBe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s<o;s+=1)vA(t,e,r[s],!1,!1)&&(s!==0&&(i+=","+(t.condenseFlow?"":" ")),i+=t.dump);t.tag=n,t.dump="["+i+"]"}function GBe(t,e,r,i){var n="",s=t.tag,o,a;for(o=0,a=r.length;o<a;o+=1)vA(t,e+1,r[o],!0,!0)&&((!i||o!==0)&&(n+=gS(t,e)),t.dump&&qf===t.dump.charCodeAt(0)?n+="-":n+="- ",n+=t.dump);t.tag=s,t.dump=n||"[]"}function qBe(t,e,r){var i="",n=t.tag,s=Object.keys(r),o,a,l,c,u;for(o=0,a=s.length;o<a;o+=1)u="",o!==0&&(u+=", "),t.condenseFlow&&(u+='"'),l=s[o],c=r[l],!!vA(t,e,l,!1,!1)&&(t.dump.length>1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!vA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function JBe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Gf("sortKeys must be a boolean or a function");for(a=0,l=o.length;a<l;a+=1)f="",(!i||a!==0)&&(f+=gS(t,e)),c=o[a],u=r[c],!!vA(t,e+1,c,!0,!0,!0)&&(g=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,g&&(t.dump&&qf===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=gS(t,e)),!!vA(t,e+1,u,!0,g)&&(t.dump&&qf===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function Xq(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s<o;s+=1)if(a=n[s],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e=="object"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(t.tag=r?a.tag:"?",a.represent){if(l=t.styleMap[a.tag]||a.defaultStyle,vq.call(a.represent)==="[object Function]")i=a.represent(e,l);else if(Pq.call(a.represent,l))i=a.represent[l](e,l);else throw new Gf("!<"+a.tag+'> tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function vA(t,e,r,i,n,s){t.tag=null,t.dump=r,Xq(t,r,!1)||Xq(t,r,!0);var o=vq.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(JBe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(qBe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(GBe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(jBe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&YBe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Gf("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function WBe(t,e){var r=[],i=[],n,s;for(hS(t,r,i),n=0,s=i.length;n<s;n+=1)e.duplicates.push(r[i[n]]);e.usedDuplicates=new Array(s)}function hS(t,e,r){var i,n,s;if(t!==null&&typeof t=="object")if(n=e.indexOf(t),n!==-1)r.indexOf(n)===-1&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,s=t.length;n<s;n+=1)hS(t[n],e,r);else for(i=Object.keys(t),n=0,s=i.length;n<s;n+=1)hS(t[i[n]],e,r)}function Zq(t,e){e=e||{};var r=new LBe(e);return r.noRefs||WBe(t,r),vA(r,0,t,!0,!0)?r.dump+`
`:""}function zBe(t,e){return Zq(t,jf.extend({schema:dBe},e))}uS.exports.dump=Zq;uS.exports.safeDump=zBe});var eJ=C((IXe,_t)=>{"use strict";var RI=kq(),$q=_q();function NI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Ir();_t.exports.Schema=SA();_t.exports.FAILSAFE_SCHEMA=DI();_t.exports.JSON_SCHEMA=sS();_t.exports.CORE_SCHEMA=oS();_t.exports.DEFAULT_SAFE_SCHEMA=Bc();_t.exports.DEFAULT_FULL_SCHEMA=Hf();_t.exports.load=RI.load;_t.exports.loadAll=RI.loadAll;_t.exports.safeLoad=RI.safeLoad;_t.exports.safeLoadAll=RI.safeLoadAll;_t.exports.dump=$q.dump;_t.exports.safeDump=$q.safeDump;_t.exports.YAMLException=Ec();_t.exports.MINIMAL_SCHEMA=DI();_t.exports.SAFE_SCHEMA=Bc();_t.exports.DEFAULT_SCHEMA=Hf();_t.exports.scan=NI("scan");_t.exports.parse=NI("parse");_t.exports.compose=NI("compose");_t.exports.addConstructor=NI("addConstructor")});var rJ=C((EXe,tJ)=>{"use strict";var VBe=eJ();tJ.exports=VBe});var nJ=C((yXe,iJ)=>{"use strict";function XBe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function PA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,PA)}XBe(PA,Error);PA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+"-"+s(c.parts[g][1]):s(c.parts[g]);return"["+(c.inverted?"^":"")+u+"]"},any:function(c){return"any character"},end:function(c){return"end of input"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(u){return"\\x0"+i(u)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(u){return"\\x"+i(u)})}function s(c){return c.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(u){return"\\x0"+i(u)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(u){return"\\x"+i(u)})}function o(c){return r[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}function l(c){return c?'"'+n(c)+'"':"end of input"}return"Expected "+a(t)+" but "+l(e)+" found."};function ZBe(t,e){e=e!==void 0?e:{};var r={},i={Start:iC},n=iC,s=function(S){return[].concat(...S)},o="-",a=Ot("-",!1),l=function(S){return S},c=function(S){return Object.assign({},...S)},u="#",g=Ot("#",!1),f=iw(),h=function(){return{}},p=":",m=Ot(":",!1),I=function(S,U){return{[S]:U}},y=",",B=Ot(",",!1),x=function(S,U){return U},F=function(S,U,G){return Object.assign({},...[S].concat(U).map(Ee=>({[Ee]:G})))},N=function(S){return S},O=function(S){return S},P=So("correct indentation"),J=" ",oe=Ot(" ",!1),K=function(S){return S.length===Ql*AC},A=function(S){return S.length===(Ql+1)*AC},W=function(){return Ql++,!0},ee=function(){return Ql--,!0},re=function(){return _d()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ve=Vn(["\r",`
`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Ne=/^[^\r\n\t ,\][{}:#"']/,Je=Vn(["\r",`
`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return _d().replace(/^ *| *$/g,"")},ie="--",ce=Ot("--",!1),Se=/^[a-zA-Z\/0-9]/,fe=Vn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=Vn(["\r",`
`," "," ",":",","],!0,!1),Qe="null",Z=Ot("null",!1),X=function(){return null},ae="true",ue=Ot("true",!1),Be=function(){return!0},ct="false",mt=Ot("false",!1),St=function(){return!1},xn=So("string"),Ii='"',Xt=Ot('"',!1),_i=function(){return""},zn=function(S){return S},_u=function(S){return S.join("")},Kd=/^[^"\\\0-\x1F\x7F]/,xs=Vn(['"',"\\",["\0",""],"\x7F"],!0,!1),$u='\\"',Ud=Ot('\\"',!1),YB=function(){return'"'},eg="\\\\",Hd=Ot("\\\\",!1),Yd=function(){return"\\"},jd="\\/",jB=Ot("\\/",!1),GB=function(){return"/"},tg="\\b",qB=Ot("\\b",!1),JB=function(){return"\b"},Gd="\\f",WB=Ot("\\f",!1),_=function(){return"\f"},ks="\\n",$i=Ot("\\n",!1),en=function(){return`
`},rg="\\r",qd=Ot("\\r",!1),El=function(){return"\r"},ig="\\t",Jd=Ot("\\t",!1),ng=function(){return" "},yl="\\u",sg=Ot("\\u",!1),og=function(S,U,G,Ee){return String.fromCharCode(parseInt(`0x${S}${U}${G}${Ee}`))},zB=/^[0-9a-fA-F]/,VB=Vn([["0","9"],["a","f"],["A","F"]],!1,!1),XB=So("blank space"),Wd=/^[ \t]/,zd=Vn([" "," "],!1,!1),ZB=So("white space"),Vd=/^[ \t\n\r]/,Xd=Vn([" "," ",`
`,"\r"],!1,!1),Zd=`\r
`,_B=Ot(`\r
`,!1),$B=`
`,ew=Ot(`
`,!1),tw="\r",rw=Ot("\r",!1),M=0,it=0,Bl=[{line:1,column:1}],Oi=0,ag=[],Oe=0,Ta;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function _d(){return t.substring(it,M)}function aN(){return xo(it,M)}function Oa(S,U){throw U=U!==void 0?U:xo(it,M),rC([So(S)],t.substring(it,M),U)}function $d(S,U){throw U=U!==void 0?U:xo(it,M),nw(S,U)}function Ot(S,U){return{type:"literal",text:S,ignoreCase:U}}function Vn(S,U,G){return{type:"class",parts:S,inverted:U,ignoreCase:G}}function iw(){return{type:"any"}}function eC(){return{type:"end"}}function So(S){return{type:"other",description:S}}function tC(S){var U=Bl[S],G;if(U)return U;for(G=S-1;!Bl[G];)G--;for(U=Bl[G],U={line:U.line,column:U.column};G<S;)t.charCodeAt(G)===10?(U.line++,U.column=1):U.column++,G++;return Bl[S]=U,U}function xo(S,U){var G=tC(S),Ee=tC(U);return{start:{offset:S,line:G.line,column:G.column},end:{offset:U,line:Ee.line,column:Ee.column}}}function Ve(S){M<Oi||(M>Oi&&(Oi=M,ag=[]),ag.push(S))}function nw(S,U){return new PA(S,null,null,U)}function rC(S,U,G){return new PA(PA.buildMessage(S,U),S,U,G)}function iC(){var S;return S=lg(),S}function nC(){var S,U,G;for(S=M,U=[],G=Ag();G!==r;)U.push(G),G=Ag();return U!==r&&(it=S,U=s(U)),S=U,S}function Ag(){var S,U,G,Ee,Ce;return S=M,U=Ua(),U!==r?(t.charCodeAt(M)===45?(G=o,M++):(G=r,Oe===0&&Ve(a)),G!==r?(Ee=pr(),Ee!==r?(Ce=Ka(),Ce!==r?(it=S,U=l(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S}function lg(){var S,U,G;for(S=M,U=[],G=cg();G!==r;)U.push(G),G=cg();return U!==r&&(it=S,U=c(U)),S=U,S}function cg(){var S,U,G,Ee,Ce,Te,rt,Kt,Fs;if(S=M,U=pr(),U===r&&(U=null),U!==r){if(G=M,t.charCodeAt(M)===35?(Ee=u,M++):(Ee=r,Oe===0&&Ve(g)),Ee!==r){if(Ce=[],Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r),Te!==r)for(;Te!==r;)Ce.push(Te),Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r);else Ce=r;Ce!==r?(Ee=[Ee,Ce],G=Ee):(M=G,G=r)}else M=G,G=r;if(G===r&&(G=null),G!==r){if(Ee=[],Ce=Hr(),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=Hr();else Ee=r;Ee!==r?(it=S,U=h(),S=U):(M=S,S=r)}else M=S,S=r}else M=S,S=r;if(S===r&&(S=M,U=Ua(),U!==r?(G=aC(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ua(),U!==r?(G=ko(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))){if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r)if(Ee=pr(),Ee!==r)if(Ce=Le(),Ce!==r){if(Te=[],rt=Hr(),rt!==r)for(;rt!==r;)Te.push(rt),rt=Hr();else Te=r;Te!==r?(it=S,U=I(G,Ce),S=U):(M=S,S=r)}else M=S,S=r;else M=S,S=r;else M=S,S=r;else M=S,S=r;if(S===r)if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r){if(Ee=[],Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r);else Ee=r;Ee!==r?(Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(M)===58?(Te=p,M++):(Te=r,Oe===0&&Ve(m)),Te!==r?(rt=pr(),rt===r&&(rt=null),rt!==r?(Kt=Ka(),Kt!==r?(it=S,U=F(G,Ee,Kt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)}else M=S,S=r;else M=S,S=r}return S}function Ka(){var S,U,G,Ee,Ce,Te,rt;if(S=M,U=M,Oe++,G=M,Ee=Ps(),Ee!==r?(Ce=sw(),Ce!==r?(t.charCodeAt(M)===45?(Te=o,M++):(Te=r,Oe===0&&Ve(a)),Te!==r?(rt=pr(),rt!==r?(Ee=[Ee,Ce,Te,rt],G=Ee):(M=G,G=r)):(M=G,G=r)):(M=G,G=r)):(M=G,G=r),Oe--,G!==r?(M=U,U=void 0):U=r,U!==r?(G=Hr(),G!==r?(Ee=sC(),Ee!==r?(Ce=nC(),Ce!==r?(Te=oC(),Te!==r?(it=S,U=N(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ps(),U!==r?(G=sC(),G!==r?(Ee=lg(),Ee!==r?(Ce=oC(),Ce!==r?(it=S,U=N(Ee),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))if(S=M,U=Q(),U!==r){if(G=[],Ee=Hr(),Ee!==r)for(;Ee!==r;)G.push(Ee),Ee=Hr();else G=r;G!==r?(it=S,U=O(U),S=U):(M=S,S=r)}else M=S,S=r;return S}function Ua(){var S,U,G;for(Oe++,S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));return U!==r?(it=M,G=K(U),G?G=void 0:G=r,G!==r?(U=[U,G],S=U):(M=S,S=r)):(M=S,S=r),Oe--,S===r&&(U=r,Oe===0&&Ve(P)),S}function sw(){var S,U,G;for(S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodLine truncated
`,n=Buffer.byteLength(i),s=Math.floor(Math.log(n)/Math.log(10))+1;return n+s>=Math.pow(10,s)&&(s+=1),s+n+i}};rE.parse=(t,e,r)=>new rE(d0e(C0e(t),e),r);var d0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,C0e=t=>t.replace(/\n$/,"").split(`
`).reduce(m0e,Object.create(null)),m0e=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};B3.exports=rE});var nE=C((p_e,w3)=>{"use strict";w3.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var XS=C((d_e,Q3)=>{"use strict";var sE=["|","<",">","?",":"],VS=sE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),I0e=new Map(sE.map((t,e)=>[t,VS[e]])),E0e=new Map(VS.map((t,e)=>[t,sE[e]]));Q3.exports={encode:t=>sE.reduce((e,r)=>e.split(r).join(I0e.get(r)),t),decode:t=>VS.reduce((e,r)=>e.split(r).join(E0e.get(r)),t)}});var D3=C((C_e,b3)=>{"use strict";b3.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var ix=C((B_e,S3)=>{"use strict";var x3=Fc(),k3=iE(),v3=Lc(),m_e=ah(),us=require("fs"),Mc=require("path"),I_e=oh(),y0e=16*1024*1024,P3=Symbol("process"),F3=Symbol("file"),R3=Symbol("directory"),ZS=Symbol("symlink"),N3=Symbol("hardlink"),Ah=Symbol("header"),oE=Symbol("read"),_S=Symbol("lstat"),aE=Symbol("onlstat"),$S=Symbol("onread"),ex=Symbol("onreadlink"),tx=Symbol("openfile"),rx=Symbol("onopenfile"),UA=Symbol("close"),AE=Symbol("mode"),L3=nE(),B0e=XS(),M3=D3(),lE=L3(class extends x3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||y0e,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&Mc.win32.isAbsolute(e)){let n=Mc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=B0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Mc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[aE](this.statCache.get(this.absolute)):this[_S]()}[_S](){us.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[aE](r)})}[aE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=w0e(e),this.emit("stat",e),this[P3]()}[P3](){switch(this.type){case"File":return this[F3]();case"Directory":return this[R3]();case"SymbolicLink":return this[ZS]();default:return this.end()}}[AE](e){return M3(e,this.type==="Directory",this.portable)}[Ah](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this[AE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new k3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[R3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ah](),this.end()}[ZS](){us.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ex](r)})}[ex](e){this.linkpath=e.replace(/\\/g,"/"),this[Ah](),this.end()}[N3](e){this.type="Link",this.linkpath=Mc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[Ah](),this.end()}[F3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[N3](r)}this.linkCache.set(e,this.absolute)}if(this[Ah](),this.stat.size===0)return this.end();this[tx]()}[tx](){us.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[rx](r)})}[rx](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,th Line truncated
`}),a},i})});var nz=C((M$e,ek)=>{"use strict";var pDe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n<t.length;n++){let s=t[n];e&&/[a-zA-Z]/.test(s)&&s.toUpperCase()===s?(t=t.slice(0,n)+"-"+t.slice(n),e=!1,i=r,r=!0,n++):r&&i&&/[a-zA-Z]/.test(s)&&s.toLowerCase()===s?(t=t.slice(0,n-1)+"-"+t.slice(n-1),i=r,r=!1,e=!0):(e=s.toLowerCase()===s&&s.toUpperCase()!==s,i=r,r=s.toUpperCase()===s&&s.toLowerCase()!==s)}return t},iz=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pDe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};ek.exports=iz;ek.exports.default=iz});var go=C(uk=>{"use strict";Object.defineProperty(uk,"__esModule",{value:!0});uk.default=uz;function uz(){}uz.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],B=g[m+1],x=(B?B.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1<a,N=B&&0<=x&&x<l;if(!F&&!N){g[m]=void 0;continue}if(!F||N&&y.newPos<B.newPos?(I=BDe(B),s.pushComponent(I.components,void 0,!0)):(I=y,I.newPos++,s.pushComponent(I.components,!0,void 0)),x=s.extractCommon(I,r,e,m),I.newPos+1>=a&&x+1>=l)return o(yDe(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1<s&&l+1<o&&this.equals(r[a+1],i[l+1]);)a++,l++,c++;return c&&e.components.push({count:c}),e.newPos=a,l},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],i=0;i<e.length;i++)e[i]&&r.push(e[i]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};function yDe(t,e,r,i,n){for(var s=0,o=e.length,a=0,l=0;s<o;s++){var c=e[s];if(c.removed){if(c.value=t.join(i.slice(l,l+c.count)),l+=c.count,s&&e[s-1].added){var g=e[s-1];e[s-1]=e[s],e[s]=g}}else{if(!c.added&&n){var u=r.slice(a,a+c.count);u=u.map(function(h,p){var m=i[l+p];return m.length>h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function BDe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var fz=C(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.diffChars=wDe;yh.characterDiff=void 0;var bDe=QDe(go());function QDe(t){return t&&t.__esModule?t:{default:t}}var gz=new bDe.default;yh.characterDiff=gz;function wDe(t,e,r){return gz.diff(t,e,r)}});var fk=C(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});gk.generateOptions=DDe;function DDe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var dz=C($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.diffWords=SDe;$c.diffWordsWithSpace=xDe;$c.wordDiff=void 0;var vDe=kDe(go()),PDe=fk();function kDe(t){return t&&t.__esModule?t:{default:t}}var hz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,pz=/\S/,Bh=new vDe.default;$c.wordDiff=Bh;Bh.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!pz.test(t)&&!pz.test(e)};Bh.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&hz.test(e[r])&&hz.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};function SDe(t,e,r){return r=(0,PDe.generateOptions)(r,{ignoreWhitespace:!0}),Bh.diff(t,e,r)}function xDe(t,e,r){return Bh.diff(t,e,r)}});var zE=C(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.diffLines=FDe;eu.diffTrimmedLines=RDe;eu.lineDiff=void 0;var LDe=NDe(go()),MDe=fk();function NDe(t){return t&&t.__esModule?t:{default Line truncated
`),m==="+"?h++:m==="-"?p++:m===" "&&(h++,p++);else break}if(!h&&f.newLines===1&&(f.newLines=0),!p&&f.oldLines===1&&(f.oldLines=0),e.strict){if(h!==f.newLines)throw new Error("Added line count did not match for hunk at line "+(c+1));if(p!==f.oldLines)throw new Error("Removed line count did not match for hunk at line "+(c+1))}return f}for(;s<r.length;)o();return n}});var Bz=C(Ck=>{"use strict";Object.defineProperty(Ck,"__esModule",{value:!0});Ck.default=ZDe;function ZDe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var bz=C(_E=>{"use strict";Object.defineProperty(_E,"__esModule",{value:!0});_E.applyPatch=wz;_E.applyPatches=_De;var Qz=ZE(),eSe=$De(Bz());function $De(t){return t&&t.__esModule?t:{default:t}}function wz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,Qz.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(H,R,ve,Ne){return R===Ne},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(H,R){for(var ve=0;ve<H.lines.length;ve++){var Ne=H.lines[ve],Je=Ne.length>0?Ne[0]:" ",Ke=Ne.length>0?Ne.substr(1):Ne;if(Je===" "||Je==="-"){if(!o(R+1,i[R],Je,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p<s.length;p++){for(var m=s[p],I=i.length-m.oldLines,y=0,B=u+m.oldStart-1,x=(0,eSe.default)(B,c,I);y!==void 0;y=x())if(h(m,B+y)){m.offset=u+=y;break}if(y===void 0)return!1;c=m.offset+m.oldStart+m.oldLines}for(var F=0,N=0;N<s.length;N++){var O=s[N],P=O.oldStart+O.offset+F-1;F+=O.newLines-O.oldLines,P<0&&(P=0);for(var J=0;J<O.lines.length;J++){var oe=O.lines[J],K=oe.length>0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=O.linedelimiters[J];if(K===" ")P++;else if(K==="-")i.splice(P,1),n.splice(P,1);else if(K==="+")i.splice(P,0,A),n.splice(P,0,W),P++;else if(K==="\\"){var ee=O.lines[J-1]?O.lines[J-1][0]:null;ee==="+"?g=!0:ee==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(`
`));for(var re=0;re<i.length-1;re++)i[re]=i[re]+n[re];return i.join("")}function _De(t,e){typeof t=="string"&&(t=(0,Qz.parsePatch)(t));var r=0;function i(){var n=t[r++];if(!n)return e.complete();e.loadFile(n,function(s,o){if(s)return e.complete(s);var a=wz(o,n,e);e.patched(n,a,function(l){if(l)return e.complete(l);i()})})}i()}});var Ik=C(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.structuredPatch=Dz;Sh.createTwoFilesPatch=Sz;Sh.createPatch=tSe;var rSe=zE();function mk(t){return sSe(t)||nSe(t)||iSe()}function iSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function Dz(t,e,r,i,n,s,o){o||(o={}),typeof o.context=="undefined"&&(o.context=4);var a=(0,rSe.diffLines)(r,i,o);a.push({value:"",lines:[]});function l(y){return y.map(function(B){return" "+B})}for(var c=[],u=0,g=0,f=[],h=1,p=1,m=function(B){var x=a[B],F=x.lines||x.value.replace(/\n$/,"").split(`
`);if(x.lines=F,x.added||x.removed){var N;if(!u){var O=a[B-1];u=h,g=p,O&&(f=o.context>0?l(O.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(N=f).push.apply(N,mk(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:h+=F.length}else{if(u)if(F.length<=o.context*2&&B<a.length-2){var P;(P=f).push.apply(P,mk(l(F)))}else{var J,oe=Math.min(F.length,o.context);(J=f).push.apply(J,mk(l(F.slice(0,oe))));var K={oldStart:u,oldLines:h-u+oe,newStart:g,newLines:p-g+oe,lines:f};if(B>=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),ee=F.length==0&&f.length>K.oldLines;!A&&ee&&f.splice(K.oldLines,0,"\\ No newline at end of file"),(!A&&!ee||!W)&&f.push("\\ No newline at end of file")}c.push(K),u=0,g=0,f=[]}h+=F.length,p+=F.length}},I=0;I<a.length;I++)m(I);return{oldFileName:t,newFileName:e,oldHeader:n,newHeader:s,hunks:c}}function Sz(t,e,r,i,n,s,o){var a=Dz(t,e,r,i,n,s,o),l=[];t==e&&l.push("Index: "+t),l.push("==================================================================="),l.push("--- "+a.oldFileName+(typeof a.oldHeader=="undefined"?"":" "+a.oldHeader)),l.push("+++ "+a.newFileName+(typeof a.newHeader=="undefined"?"":" "+a.newHeader));for(var c=0;c<a.hunks.length;c++){var u=a.hunks[c];l.push("@@ -"+u.oldStart+","+u.oldLines+" +"+u.newStart+","+u.newLines+" @@"),l.push.apply(l,u.lines)}return l.join(`
`)+`
`}function tSe(t,e,r,i,n,s){return Sz(t,t,e,r,i,n,s)}});var kz=C($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.arrayEqual=oSe;$E.arrayStartsWith=xz;function oSe(t,e){return t.length!==e.length?!1:xz(t,e)}function xz(t,e){if(e.length>t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}});var Uz=C(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.calcLineCount=vz;ey.merge=aSe;var ASe=Ik(),lSe=ZE(),Ek=kz();function ru(t){return gSe(t)||uSe(t)||cSe()}function cSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function vz(t){var e=yk(t.lines),r=e.oldLines,i=e.newLines;r!==void 0?t.oldLines=r:delete t.oldLines,i!==void 0?t.newLines=i:delete t.newLines}function aSe(t,e,r){t=Pz(t,r),e=Pz(e,r);var i={};(t.index||e.index)&&(i.index=t.index||e.index),(t.newFileName||e.newFileName)&&(Fz(t)?Fz(e)?(i.oldFileName=ty(i,t.oldFileName,e.oldFileName),i.newFileName=ty(i,t.newFileName,e.newFileName),i.oldHeader=ty(i,t.oldHeader,e.oldHeader),i.newHeader=ty(i,t.newHeader,e.newHeader)):(i.oldFileName=t.oldFileName,i.newFileName=t.newFileName,i.oldHeader=t.oldHeader,i.newHeader=t.newHeader):(i.oldFileName=e.oldFileName||t.oldFileName,i.newFileName=e.newFileName||t.newFileName,i.oldHeader=e.oldHeader||t.oldHeader,i.newHeader=e.newHeader||t.newHeader)),i.hunks=[];for(var n=0,s=0,o=0,a=0;n<t.hunks.length||s<e.hunks.length;){var l=t.hunks[n]||{oldStart:Infinity},c=e.hunks[s]||{oldStart:Infinity};if(Rz(l,c))i.hunks.push(Nz(l,o)),n++,a+=l.newLines-l.oldLines;else if(Rz(c,l))i.hunks.push(Nz(c,a)),s++,o+=c.newLines-c.oldLines;else{var u={oldStart:Math.min(l.oldStart,c.oldStart),oldLines:0,newStart:Math.min(l.newStart+o,c.oldStart+a),newLines:0,lines:[]};fSe(u,l.oldStart,l.lines,c.oldStart,c.lines),s++,n++,i.hunks.push(u)}}return i}function Pz(t,e){if(typeof t=="string"){if(/^@@/m.test(t)||/^Index:/m.test(t))return(0,lSe.parsePatch)(t)[0];if(!e)throw new Error("Must provide a base reference or pass in a patch");return(0,ASe.structuredPatch)(void 0,void 0,e,t)}return t}function Fz(t){return t.newFileName&&t.newFileName!==t.oldFileName}function ty(t,e,r){return e===r?e:(t.conflict=!0,{mine:e,theirs:r})}function Rz(t,e){return t.oldStart<e.oldStart&&t.oldStart+t.oldLines<e.oldStart}function Nz(t,e){return{oldStart:t.oldStart,oldLines:t.oldLines,newStart:t.newStart+e,newLines:t.newLines,lines:t.lines}}function fSe(t,e,r,i,n){var s={offset:e,lines:r,index:0},o={offset:i,lines:n,index:0};for(Mz(t,s,o),Mz(t,o,s);s.index<s.lines.length&&o.index<o.lines.length;){var a=s.lines[s.index],l=o.lines[o.index];if((a[0]==="-"||a[0]==="+")&&(l[0]==="-"||l[0]==="+"))hSe(t,s,o);else if(a[0]==="+"&&l[0]===" "){var c;(c=t.lines).push.apply(c,ru(ZA(s)))}else if(l[0]==="+"&&a[0]===" "){var u;(u=t.lines).push.apply(u,ru(ZA(o)))}else a[0]==="-"&&l[0]===" "?Lz(t,s,o):l[0]==="-"&&a[0]===" "?Lz(t,o,s,!0):a===l?(t.lines.push(a),s.index++,o.index++):Bk(t,ZA(s),ZA(o))}Tz(t,s),Tz(t,o),vz(t)}function hSe(t,e,r){var i=ZA(e),n=ZA(r);if(Oz(i)&&Oz(n)){if((0,Ek.arrayStartsWith)(i,n)&&Kz(r,i,i.length-n.length)){var s;(s=t.lines).push.apply(s,ru(i));return}else if((0,Ek.arrayStartsWith)(n,i)&&Kz(e,n,n.length-i.length)){var o;(o=t.lines).push.apply(o,ru(n));return}}else if((0,Ek.arrayEqual)(i,n)){var a;(a=t.lines).push.apply(a,ru(i));return}Bk(t,i,n)}function Lz(t,e,r,i){var n=ZA(e),s=pSe(r,n);if(s.merged){var o;(o=t.lines).push.apply(o,ru(s.merged))}else Bk(t,i?s:n,i?n:s)}function Bk(t,e,r){t.conflict=!0,t.lines.push({conflict:!0,mine:e,theirs:r})}function Mz(t,e,r){for(;e.offset<r.offset&&e.index<e.lines.length;){var i=e.lines[e.index++];t.lines.push(i),e.offset++}}function Tz(t,e){for(;e.index<e.lines.length;){var r=e.lines[e.index++];t.lines.push(r)}}function ZA(t){for(var e=[],r=t.lines[t.index][0];t.index<t.lines.length;){var i=t.lines[t.index];if(r==="-"&&i[0]==="+"&&(r="+"),r===i[0])e.push(i),t.index++;else break}return e}function pSe(t,e){for(var r=[],i=[],n=0,s=!1,o=!1;n<e.length&&t.index<t.lines.length;){var a=t.lines[t.index],l=e[n];if(l[0]==="+")break;if(s=s||a[0]!==" ",i.push(l),n++,a[0]==="+")for(o=!0;a[0]==="+";)r.push(a),a=t.lines[++t.index];l.substr(1)===a.substr(1)?(r.push(a),t.index++):o=!0}if((e[n]||"")[0]==="+"&&s&&(o=!0),o)return r;for(;n<e.length;)i.push(e[n++]);return{merged:i,changes:r}}function Oz(t){return t.reduce(function(e,r){return e&&r[0]==="-"},!0)}function Kz(t,e,r){for(var i=0;i<r;i++){var n=e[e.length-r+i].substr(1);if(t.lines[t.index+i]!==" "+n)return!1}return t.index+=r,!0}function yk(t){var e=0,r=0;return t.forEach(function(i){if(typeof i!="string"){var n=yk(i.mine),s=yk(i.theirs);e!==void 0&&(n.oldLines===s.oldLines?e+=n.oldLines:e=void 0),r!==void 0&&(n.newLines===s.newLines?r+=n.newLines:r=void 0)}else r!==void 0& Line truncated
attempted value: ${s}
`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,wn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,GV.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,GV.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(wn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(wn({},r,{value:e})),n;return i._validate(e,wn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(JV.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(JV.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,jV.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=du.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=du.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=du.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Ry.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nMe.default)(e).map(s=>new rMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,Ry.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=du.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Ry.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=du.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Ry.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Fy.default=ms;ms.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ms.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],wn({},i,{parent:n,path:e}))};for(let t of["equals","is"])ms.prototype[t]=ms.prototype.oneOf;for(let t of["not","nope"])ms.prototype[t]=ms.prototype.notOneOf;ms.prototype.optional=ms.prototype.notRequired});var VV=C(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.create=zV;Zh.default=void 0;var oMe=sMe(po());function sMe(t){return t&&t.__esModule?t:{default:t}}var Sv=oMe.default,aMe=Sv;Zh.default=aMe;function zV(){return new Sv}zV.prototype=Sv.prototype});var Cu=C(Ny=>{"use strict";Object.defineProperty(Ny,"__esModule",{value:!0});Ny.default=void 0;var AMe=t=>t==null;Ny.default=AMe});v Line truncated
`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yOe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!EOe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=bZ(),t.define=n,t};jv.exports=DZ();jv.exports.create=DZ});var $r=C(ht=>{"use strict";var BOe=Object.prototype.toString,Qn=Yn(),SZ=!1,Gv=[],xZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Qn.hasColor(t);var Gy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>BOe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index<i.index?-1:0),e};ht.swap=(t,e,r)=>{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};ht.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=`
`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};ht.unmute=t=>{let e=t.stack.find(i=>Qn.keys.color.includes(i));return e?Qn[e]:t.stack.find(i=>i.slice(2)==="bg")?Qn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i));if(e){let i=Qn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Qn[r.slice(2).toLowerCase()]||t:Qn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Qn[xZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=xZ[i];return n&&Qn["bg"+ht.pascal(n)]||t}return Qn.none};ht.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s<o.length-1&&(a={}),i[n]=a},t);ht.get=(t={},e="",r)=>{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Gy(t))return e;if(!Gy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Gy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Gy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{SZ||(SZ=!0,Gv.forEach(n=>n()),r===!0&&process.exit(128+i))};Gv.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Gv.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var kZ=C(Bu=>{"use strict";Bu.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Bu.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Bu.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Bu.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Bu.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var FZ=C((hot,vZ)=>{"use strict";var PZ=require("readline"),wOe=kZ(),QOe=/^(?:\x1b)([a-zA-Z0-9])$/,bOe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,DOe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SOe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xOe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var qy=(t="",e={})=>{let r,i=v({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===`
`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QOe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bOe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=DOe[s],i.shift=SOe(s)||i.shift,i.ctrl=xOe(s)||i.ctrl}return i};qy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=PZ.createInterface({terminal:!0,input:r});PZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,qy(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};qy.action=(t,e,r)=>{let i=v(v({},wOe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};vZ.exports=qy});var NZ=C((pot,RZ)=>{"use strict";RZ.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kOe(t,r,i)}};function kOe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var TZ=C((dot,LZ)=>{"use strict";var{define:vOe,width:POe}=$r(),MZ=class{constructor(e){let r=e.options;vOe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=POe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=v({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};LZ.exports=MZ});var KZ=C((Cot,OZ)=>{"use strict";var qv=$r(),Ur=Yn(),Jv={default:Ur.noop,noop:Ur.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||qv.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||qv.complement(this.primary)},primary:Ur.cyan,success:Ur.green,danger:Ur.magenta,strong:Ur.bold,warning:Ur.yellow,muted:Ur.dim,disabled:Ur.gray,dark:Ur.dim.gray,underline:Ur.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};Jv.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ur.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ur.visible=t.styles.visible);let e=qv.merge({},Jv,t.styles);delete e.merge;for(let r of Object.keys(Ur))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});for(let r of Object.keys(Ur.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});return e};OZ.exports=Jv});var HZ=C((mot,UZ)=>{"use strict";var Wv=process.platform==="win32",mo=Yn(),FOe=$r(),zv=V(v({},mo.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\uLine truncated
`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=f<c.length?c.slice(f+1):"";return{header:o,prompt:c,after:h,rest:l.slice(1),last:u}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=`
`+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=`
`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(al.cursor.down(e.rest.length)),this.write(`
`.repeat(r))}catch(e){}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=_v.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Ri.isObject(e)&&(e=e[i.status]||e.pending),Ri.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ri.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Ri.isObject(s)&&(s=s[i.status]||s.pending),Ri.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Ri.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Ri.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Ri.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Ri.resolve(this,e,...r)}get base(){return Jy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ri.height(this.stdout,25)}get width(){return this.options.columns||Ri.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HOe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function YOe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?`
`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}VZ.exports=Jy});var $Z=C((yot,ZZ)=>{"use strict";var jOe=$r(),_Z={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return _Z.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};ZZ.exports=(t,e={})=>{let r=jOe.merge({},_Z,e.roles);return r[t]||r.default}});var lp=C((Bot,e_)=>{"use strict";var GOe=Yn(),qOe=wu(),JOe=$Z(),Wy=$r(),{reorder:$v,scrollUp:WOe,scrollDown:zOe,isObject:t_,swap:VOe}=Wy,r_=class extends qOe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");t_(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l<o.length;l++){let c=o[l]=await this.toChoice(o[l],n++,a);i.push(c),c.choices&&await s(c.choices,c)}return i};return s(e,r).then(o=>(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JOe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Wy.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,GOe.unstyle(e.message).length));let o=v({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=v({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choic Line truncated
`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(`
`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};n_.exports=s_});var A_=C((Qot,o_)=>{"use strict";var ZOe=Ea(),_Oe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},a_=class extends ZOe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=_Oe(this.input,e),i=this.choices;this.choices=i.map(n=>V(v({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};o_.exports=a_});var rP=C((bot,l_)=>{"use strict";var tP=$r();l_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=tP.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=tP.isPrimitive(i)?`${i}`:"",r=tP.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var zy=C((Dot,c_)=>{"use strict";var $Oe=Yn(),eKe=Ea(),tKe=rP(),u_=class extends eKe{constructor(e){super(V(v({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,thi Line truncated
`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};C_.exports=m_});var y_=C((vot,I_)=>{"use strict";var lKe=Vy(),E_=class extends lKe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};I_.exports=E_});var Q_=C((Pot,B_)=>{"use strict";var cKe=Ea(),uKe=zy(),Qu=uKe.prototype,w_=class extends cKe{constructor(e){super(V(v({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Qu.dispatch.call(this,e,r)}append(e,r){return Qu.append.call(this,e,r)}delete(e,r){return Qu.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Qu.next.call(this):super.next()}prev(){return this.focused.editable?Qu.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?Qu.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};B_.exports=w_});var Al=C((Fot,b_)=>{"use strict";var gKe=wu(),fKe=rP(),{isPrimitive:hKe}=$r(),D_=class extends gKe{constructor(e){super(e);this.initial=hKe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(`
`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):fKe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(`
`)),this.restore()}};b_.exports=D_});var x_=C((Rot,S_)=>{"use strict";var pKe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),Xy=t=>pKe(t).filter(Boolean);S_.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Xy([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Xy([...s,r]),present:o};case"save":return{past:Xy([...i,r]),present:""};case"remove":return o=Xy(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var nP=C((Not,k_)=>{"use strict";var dKe=Al(),v_=x_(),P_=class extends dKe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=v_(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=v_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};k_.exports=P_});var N_=C((Lot,F_)=>{"use strict";var CKe=Al(),R_=class extends CKe{format(){return""}};F_.exports=R_});var T_=C((Mot,L_)=>{"use strict";var mKe=Al(),M_=class extends mKe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};L_.exports=M_});var U_=C((Tot,O_)=>{"use strict";var IKe=Ea(),K_=class extends IKe{constructor(e){super(V(v({},e),{multiple:!0}))}};O_.exports=K_});var sP=C((Oot,H_)=>{"use strict";var EKe=Al(),Y_=class extends EKe{constructor(e={}){super(v({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return i<this.min-r?this.alert():(this.input=`${i-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};H_.exports=Y_});var G_=C((Kot,j_)=>{j_.exports=sP()});var W_=C((Uot,q_)=>{"use strict";var yKe=Al(),J_=class extends yKe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};q_.exports=J_});var Z_=C((Hot,z_)=>{"use strict";var BKe=Yn(),wKe=lp(),V_=$r(),X_=class extends wKe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`
`;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i<this.scale.length;i++)r.scale.push({index:i})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,i){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(`
`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!V_.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=BKe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=V_.wordWrap(c,{width:this.widths[0],newline:a}).split(`
`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(`
`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(`
`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(`
`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};z_.exports=X_});var t$=C((Yot,__)=>{"use strict";var $_=Yn(),QKe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",e$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=QKe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},bKe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});u<s.length-1;){let p=g();if(/^[^\S\n ]$/.test(p)){h({type:"text",value:p});continue}if(p===`
`){h({type:"newline",value:p}),c++;continue}if(p==="\\"){p+=g(),h({type:"text",value:p});continue}if((p==="$"||p==="#"||p==="{")&&f()==="{"){p+=g();let y={type:"template",open:p,inner:"",close:"",value:p},B;for(;B=g();){if(B==="}"){f()==="}"&&(B+=g()),y.value+=B,y.close=B;break}B===":"?(y.initial="",y.key=y.inner):y.initial!==void 0&&(y.initial+=B),y.value+=B,y.inner+=B}y.template=y.open+(y.initial||y.inner)+y.close,y.key=y.key||y.inner,e.hasOwnProperty(y.key)&&(y.initial=e[y.key]),y=r(y),h(y),l.push(y.key),i.add(y.key);let x=a.find(F=>F.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new e$(y),a.push(x)),x.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};__.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=v(v({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await bKe(e,i),a=oP("result",t,e),l=oP("format",t,e),c=oP("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,x,F,N)=>{let O=await c(B,x,F,N);return O===!1?"Invalid field "+F.name:O};for(let B of n){let x=B.value,F=B.key;if(B.type!=="template"){x&&(g.output+=x);continue}if(B.type==="template"){let N=s.find(K=>K.name===F);e.required===!0&&g.required.add(N.name);let O=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||B.inner;if(f){let K=await p(g.values[F],g,N,h);if(K&&typeof K=="string"||K===!1){g.invalid.set(F,K);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,h);g.output+=$_.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,h),O!==x?(g.values[F]=O,x=t.styles.typing(O),g.missing.delete(J)):(g.values[F]=void 0,O=`<${J}>`,x=t.styles.primary(O),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(O)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(O)),h===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading($_.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(`
`).map(B=>" "+B),I=s.length,y=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[B.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(`
`),g.output}};function oP(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var n$=C((jot,r$)=>{"use strict";var DKe=Yn(),SKe=t$(),xKe=wu(),i$=class extends xKe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await SKe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,`
`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let y=[u,c,h,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c}
`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=DKe.unstyle(i).split(`
`).map(a=>a.slice(1)).join(`
`);return this.value={values:n,result:o},super.submit()}};r$.exports=i$});var a$=C((Got,s$)=>{"use strict";var kKe="(Use <shift>+<up/down> to sort)",vKe=Ea(),o$=class extends vKe{constructor(e){super(V(v({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,kKe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};s$.exports=o$});var c$=C((qot,A$)=>{"use strict";var PKe=lp(),l$=class extends PKe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(`
`)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=FKe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=h+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,f].filter(Boolean).join(" "),B=()=>[y(),p,I," "].filter(Boolean).join(`
`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(`
`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(`
`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function FKe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>v({},i));let r=[];for(let i=1;i<t+1;i++)r.push({i,selected:!1});return r}A$.exports=l$});var g$=C((Jot,u$)=>{u$.exports=nP()});var p$=C((Wot,f$)=>{"use strict";var RKe=Vy(),h$=class extends RKe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};f$.exports=h$});var m$=C((zot,d$)=>{"use strict";var NKe=Ea(),C$=class extends NKe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};d$.exports=C$});var E$=C(aP=>{"use strict";var I$=$r(),wr=(t,e)=>{I$.defineExport(aP,t,e),I$.defineExport(aP,t.toLowerCase(),e)};wr("AutoComplete",()=>A_());wr("BasicAuth",()=>d_());wr("Confirm",()=>y_());wr("Editable",()=>Q_());wr("Form",()=>zy());wr("Input",()=>nP());wr("Invisible",()=>N_());wr("List",()=>T_());wr("MultiSelect",()=>U_());wr("Numeral",()=>G_());wr("Password",()=>W_());wr("Scale",()=>Z_());wr("Select",()=>Ea());wr("Snippet",()=>n$());wr("Sort",()=>a$());wr("Survey",()=>c$());wr("Text",()=>g$());wr("Toggle",()=>p$());wr("Quiz",()=>m$())});var B$=C((Xot,y$)=>{y$.exports={ArrayPrompt:lp(),AuthPrompt:iP(),BooleanPrompt:Vy(),NumberPrompt:sP(),StringPrompt:Al()}});var up=C((Zot,w$)=>{"use strict";var Q$=require("assert"),AP=require("events"),ya=$r(),ys=class extends AP{constructor(e,r){super();this.options=ya.merge({},e),this.answers=v({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Q$.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ya.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Q$(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||wu()}static get prompts(){return E$()}static get types(){return B$()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ya.mixinEmitter(e,new AP),e}};ya.mixinEmitter(ys,new AP);var lP=ys.prompts;for(let t of Object.keys(lP)){let e=t.toLowerCase(),r=i=>new lP[t](i).run();ys.prompt[e]=r,ys[e]=r,ys[t]||Reflect.defineProperty(ys,t,{get:()=>lP[t]})}var cp=t=>{ya.defineExport(ys,t,()=>ys.types[t])};cp("ArrayPrompt");cp("AuthPrompt");cp("BooleanPrompt");cp("NumberPrompt");cp("StringPrompt");w$.exports=ys});var L$=C((Uat,N$)=>{function OKe(t,e){for(var r=-1,i=t==null?0:t.length;++r<i&&e(t[r],r,t)!==!1;);return t}N$.exports=OKe});var bu=C((Hat,M$)=>{var KKe=oy(),UKe=Au();function HKe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s<o;){var a=e[s],l=i?i(r[a],t[a],a,r,t):void 0;l===void 0&&(l=t[a]),n?UKe(r,a,l):KKe(r,a,l)}return r}M$.exports=HKe});var O$=C((Yat,T$)=>{var YKe=bu(),jKe=fu();function GKe(t,e){return t&&YKe(e,jKe(e),t)}T$.exports=GKe});var U$=C((jat,K$)=>{function qKe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}K$.exports=qKe});var Y$=C((Gat,H$)=>{var JKe=Hn(),WKe=yy(),zKe=U$(),VKe=Object.prototype,XKe=VKe.hasOwnProperty;function ZKe(t){if(!JKe(t))return zKe(t);var e=WKe(t),r=[];for(var i in t)i=="constructor"&&(e||!XKe.call(t,i))||r.push(i);return r}H$.exports=ZKe});var Du=C((qat,j$)=>{var _Ke=ev(),$Ke=Y$(),eUe=qh();function tUe(t){return eUe(t)?_Ke(t,!0):$Ke(t)}j$.exports=tUe});var q$=C((Jat,G$)=>{var rUe=bu(),iUe=Du();function nUe(t,e){return t&&rUe(e,iUe(e),t)}G$.exports=nUe});var pP=C((mp,Su)=>{var sUe=On(),J$=typeof mp=="object"&&mp&&!mp.nodeType&&mp,W$=J$&&typeof Su=="object"&&Su&&!Su.nodeType&&Su,oUe=W$&&W$.exports===J$,z$=oUe?sUe.Buffer:void 0,V$=z$?z$.allocUnsafe:void 0;function aUe(t,e){if(e)return t.slice();var r=t.length,i=V$?V$(r):new t.constructor(r);return t.copy(i),i}Su.exports=aUe});var dP=C((Wat,X$)=>{function AUe(t,e Line truncated
`:"";return o?g+=`@IF EXIST ${o} (\r
${o} ${l} ${n} ${u}%*\r
) ELSE (\r
@SETLOCAL\r
@SET PATHEXT=%PATHEXT:;.JS;=;%\r
${a} ${l} ${n} ${u}%*\r
)\r
`:g+=`@${a} ${l} ${n} ${u}%*\r
`,g}function Sje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=MF(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
case \`uname\` in
*CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
esac
`,g=r.nodePath?`export NODE_PATH="${l}"
`:"";return s?u+=`${g}if [ -x ${s} ]; then
exec ${s} ${a} ${i} ${c}"$@"
else
exec ${n} ${a} ${i} ${c}"$@"
fi
`:u+=`${g}${n} ${a} ${i} ${c}"$@"
exit $?
`,u}function xje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=MF(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
${r.nodePath?`$env_node_path=$env:NODE_PATH
$env:NODE_PATH="${u}"
`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}`;return r.nodePath&&(h+=` else {
$env:NODE_PATH="${g}"
}`),o?h+=`
$ret=0
if (Test-Path ${o}) {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${o} ${l} ${i} ${f}$args
} else {
& ${o} ${l} ${i} ${f}$args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${s} ${l} ${i} ${f}$args
} else {
& ${s} ${l} ${i} ${f}$args
}
$ret=$LASTEXITCODE
}
${r.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $ret
`:h+=`
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${s} ${l} ${i} ${f}$args
} else {
& ${s} ${l} ${i} ${f}$args
}
${r.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $LASTEXITCODE
`,h}function vje(t,e){return e.fs_.chmod(t,493)}function MF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(bn.delimiter):Array.from(t),r={};for(let i=0;i<e.length;i++){let n=e[i].split("/").join("\\"),s=Rie()?e[i].split("\\").join("/").replace(/^([^:\\/]*):/,(o,a)=>`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Fie.exports=LF});var rR=C((aEt,_ie)=>{_ie.exports=require("stream")});var rne=C((AEt,$ie)=>{"use strict";function ene(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function Zje(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ene(Object(r),!0).forEach(function(i){Xje(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ene(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Xje(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _je(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function tne(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function $je(t,e,r){return e&&tne(t.prototype,e),r&&tne(t,r),t}var eGe=require("buffer"),fB=eGe.Buffer,tGe=require("util"),iR=tGe.inspect,rGe=iR&&iR.custom||"inspect";function iGe(t,e,r){fB.prototype.copy.call(t,e,r)}$ie.exports=function(){function t(){_je(this,t),this.head=null,this.tail=null,this.length=0}return $je(t,[{key:"push",value:function(r){var i={data:r,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return fB.alloc(0);for(var i=fB.allocUnsafe(r>>>0),n=this.head,s=0;n;)iGe(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return r<this.head.data.length?(n=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?n=this.shift():n=i?this._getString(r):this._getBuffer(r),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var i=this.head,n=1,s=i.data;for(r-=s.length;i=i.next;){var o=i.data,a=r>o.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=fB.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:rGe,value:function(r,i){return iR(this,Zje({},i,{depth:0,customInspect:!1}))}}]),t}()});var sR=C((lEt,ine)=>{"use strict";function nGe(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(nR,this,t)):process.nextTick(nR,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(hB,r):(r._writableState.errorEmitted=!0,process.nextTick(nne,r,s)):process.nextTick(nne,r,s):e?(process.nextTick(hB,r),e(s)):process.nextTick(hB,r)}),this)}function nne(t,e){nR(t,e),hB(t)}function hB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function sGe(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function nR(t,e){t.emit("error",e)}function oGe(t,e){var r=t._readableState,i=t._wr Line truncated
`)),t.linkname&&(e+=NR(" linkpath="+t.linkname+`
`));var r=t.pax;if(r)for(var i in r)e+=NR(" "+i+"="+r[i]+`
`);return Buffer.from(e)};ju.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var i=parseInt(t.slice(0,r).toString(),10);if(!i)return e;var n=t.slice(r+1,i-1).toString(),s=n.indexOf("=");if(s===-1)return e;e[n.slice(0,s)]=n.slice(s+1),t=t.slice(i)}return e};ju.encode=function(t){var e=_qe(512),r=t.name,i="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(La(t.mode&nJe,6),100),e.write(La(t.uid,6),108),e.write(La(t.gid,6),116),e.write(La(t.size,11),124),e.write(La(t.mtime.getTime()/1e3|0,11),136),e[156]=nse+aJe(t.type),t.linkname&&e.write(t.linkname,157),sse.copy(e,dd),tJe.copy(e,RR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(La(t.devmajor||0,6),329),e.write(La(t.devminor||0,6),337),i&&e.write(i,345),e.write(La(ase(e),6),148),e)};ju.decode=function(t,e,r){var i=t[156]===0?0:t[156]-nse,n=Gu(t,0,100,e),s=Ma(t,100,8),o=Ma(t,108,8),a=Ma(t,116,8),l=Ma(t,124,12),c=Ma(t,136,12),u=oJe(i),g=t[157]===0?null:Gu(t,157,100,e),f=Gu(t,265,32),h=Gu(t,297,32),p=Ma(t,329,8),m=Ma(t,337,8),I=ase(t);if(I===8*32)return null;if(I!==Ma(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(sse.compare(t,dd,dd+6)===0)t[345]&&(n=Gu(t,345,155,e)+"/"+n);else if(!(rJe.compare(t,dd,dd+6)===0&&iJe.compare(t,RR,RR+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var hse=C((kEt,Ase)=>{var lse=require("util"),lJe=ise(),Cd=LR(),cse=Yu().Writable,use=Yu().PassThrough,gse=function(){},fse=function(t){return t&=511,t&&512-t},cJe=function(t,e){var r=new kB(t,e);return r.end(),r},uJe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},kB=function(t,e){this._parent=t,this.offset=e,use.call(this,{autoDestroy:!1})};lse.inherits(kB,use);kB.prototype.destroy=function(t){this._parent.destroy(t)};var bo=function(t){if(!(this instanceof bo))return new bo(t);cse.call(this,t),t=t||{},this._offset=0,this._buffer=lJe(),this._missing=0,this._partial=!1,this._onparse=gse,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=fse(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(fse(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=Cd.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=Cd.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=Cd.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=uJe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,cJe(e,f),n);return}e._stream=new kB(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};lse.inherits(bo,cse);bo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};bo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};bo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=gse,this._overflow?this._write(this._overflow,void 0,t):t()}};bo.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.length<s)return this._missing-=t.length,this._overflow=null,i?i.write(t,r):(n.appen Line truncated
Wanted: ${r.size}
Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}bs.exports.checkStream=jJe;function jJe(t,e,r){r=mi(r);let i=r.Promise||Promise,n=JR(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}bs.exports.integrityStream=JR;function JR(t){t=mi(t);let e=t.integrity&&Ds(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Ed.createHash),a=0,l=new RJe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Ds(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}.
Wanted: ${t.size}
Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}bs.exports.create=GJe;function GJe(t){t=mi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Ed.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Il(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new zu)}}}var qJe=new Set(Ed.getHashes()),Tse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>qJe.has(t));function OJe(t,e){return Tse.indexOf(t.toLowerCase())>=Tse.indexOf(e.toLowerCase())?t:e}});var Th={};et(Th,{BuildType:()=>Vi,Cache:()=>ft,Configuration:()=>le,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>ds,InstallMode:()=>kr,LightReport:()=>uo,LinkType:()=>lt,Manifest:()=>ze,MessageName:()=>z,PackageExtensionStatus:()=>qr,PackageExtensionType:()=>Dr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ci,ReportError:()=>_e,SettingsType:()=>ge,StreamReport:()=>xe,TAG_REGEXP:()=>Zc,TelemetryManager:()=>Mh,ThrowReport:()=>Br,VirtualFetcher:()=>Ih,Workspace:()=>Lh,WorkspaceResolver:()=>Ci,YarnVersion:()=>Er,execUtils:()=>Lr,folderUtils:()=>Hw,formatUtils:()=>Ae,hashUtils:()=>Di,httpUtils:()=>Rt,miscUtils:()=>de,scriptUtils:()=>Qt,semverUtils:()=>vt,structUtils:()=>w,tgzUtils:()=>hr,treeUtils:()=>Un});var Lr={};et(Lr,{EndStrategy:()=>sn,execvp:()=>kae,pipevp:()=>Ts});var kg={};et(kg,{AliasFS:()=>Ja,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>qa,FakeFS:()=>Ns,Filename:()=>xt,JailFS:()=>Ls,LazyFS:()=>bg,LinkStrategy:()=>Ig,NoFS:()=>BC,NodeFS:()=>Ft,PortablePath:()=>we,PosixFS:()=>Dg,ProxiedFS:()=>Nr,VirtualFS:()=>ir,ZipFS:()=>Qr,ZipOpenFS:()=>nn,extendFs:()=>QC,normalizeLineEndings:()=>Dl,npath:()=>T,opendir:()=>IC,patchFs:()=>Dw,ppath:()=>D,statUtils:()=>gw,toFilename:()=>rr,xfs:()=>L});var gw={};et(gw,{BigIntStatsEntry:()=>dg,DirEntry:()=>yN,StatEntry:()=>Ro,areStatsEqual:()=>hw,clearStats:()=>fC,convertToBigIntStats:()=>hC,makeDefaultStats:()=>Cg,makeEmptyStats:()=>Goe});var fw=te(require("util"));var tn=61440,Po=16384,Rs=32768,Fo=40960;var yN=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},Ro=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Rs|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},dg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Rs|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(tn))===BigInt(Po)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(tn))===BigInt(Rs)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(tn))===BigInt(Fo)}};function Cg(){return new Ro}function Goe(){return fC(Cg())}function fC(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):fw.types.isDate(r)&&(t[e]=new Date(0))}return t}function hC(t){let e=new dg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):fw.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function hw(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()|| Line truncated
`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)}
`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};Ns.DEFAULT_TIME=315532800;var Ya=class extends Ns{constructor(){super(D)}};function Xoe(t){let e=t.match(/\r?\n/g);if(e===null)return LN.EOL;let r=e.filter(n=>n===`\r
`).length,i=e.length-r;return r>i?`\r
`:`
`}function Dl(t,e){return e.replace(/\r?\n/g,Xoe(t))}var Sl=te(require("fs")),Ew=te(require("stream")),KN=te(require("util")),yw=te(require("zlib"));var MN=te(require("fs"));var Ft=class extends Ya{constructor(e=MN.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return we.root}resolve(e){return D.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(T.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(T.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(T.fromPortablePath(e),r):this.realFs.opendirSync(T.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?T.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?T.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(T.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>T.toPortablePath(r))}realpathSync(e){return T.toPortablePath(this.realFs.realpathSync(T.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(T.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(T.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(T.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(T.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(T.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(T.fromPortablePath(e),r):this.realFs.statSync(T.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(T.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(T.fromPortablePath(e),r):this.realFs.lstatSync(T.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(T.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(T.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(T.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(T.fromPortablePath(e),T.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(T.fromPortablePath(e),T.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(T.fromPortablePath(e),T.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(T.fromPortablePath(e),T.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i Line truncated
${I}`),{code:Uw(h,p),stdout:m,stderr:I}))})})}var vae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Uw(t,e){let r=vae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Hw={};et(Hw,{getDefaultGlobalFolder:()=>jw,getHomeFolder:()=>vg,isFolderInside:()=>Gw});var Yw=te(require("os"));function jw(){if(process.platform==="win32"){let t=T.toPortablePath(process.env.LOCALAPPDATA||T.join((0,Yw.homedir)(),"AppData","Local"));return D.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=T.toPortablePath(process.env.XDG_DATA_HOME);return D.resolve(t,"yarn/berry")}return D.resolve(vg(),".yarn/berry")}function vg(){return T.toPortablePath((0,Yw.homedir)()||"/usr/local/share")}function Gw(t,e){let r=D.relative(e,t);return r&&!r.startsWith("..")&&!D.isAbsolute(r)}var Ae={};et(Ae,{LogLevel:()=>Ln,Style:()=>pA,Type:()=>Pe,addLogFilterSupport:()=>Bf,applyColor:()=>Gi,applyHyperlink:()=>tc,applyStyle:()=>Hm,json:()=>rc,mark:()=>ib,pretty:()=>qe,prettyField:()=>CA,prettyList:()=>hb,supportsColor:()=>Km,supportsHyperlinks:()=>gb,tuple:()=>dA});var yf=te(eQ()),K2=te(Ng()),U2=te(Yi()),H2=te(bT());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINK Line truncated
${this.candidates.map(({usage:n})=>`$ ${n}`).join(`
`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean:
$ ${i}
${EQ(e)}`}else this.message=`Command not found; did you mean one of:
${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(`
`)}
${EQ(e)}`}},yQ=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives:
${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(`
`)}
${EQ(e)}`}},EQ=t=>`While running ${t.filter(e=>e!==Mr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Hg=Symbol("clipanion/isOption");function ii(t){return V(v({},t),{[Hg]:!0})}function es(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function OC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Yg(t,e){return e.length===1?new me(`${t}: ${OC(e[0],!0)}`):new me(`${t}:
${e.map(r=>`
- ${OC(r)}`).join("")}`)}function jg(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw Yg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var he=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Pn(),Tl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Yg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};he.isOption=Hg;he.Default=[];function Qi(t){IQ&&console.log(t)}var MT={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ml};function TT(){return{nodes:[si(),si(),si()]}}function $le(t){let e=TT(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s<n.nodes.length;++s)OT(s)||e.nodes.push(_le(n.nodes[s],i));i+=n.nodes.length-2}for(let n of r)Ol(e,Za,n);return e}function Fn(t,e){return t.nodes.push(e),t.nodes.length-1}function ece(t){let e=new Set,r=i=>{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(Za)}function tce(t,{prefix:e=""}={}){if(IQ){Qi(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)Qi(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function KT(t,e,r=!1){Qi(`Running a vm on ${JSON.stringify(e)}`);let i=[{node:Za,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];tce(t,{prefix:" "});let n=[dQ,...e];for(let s=0;s<n.length;++s){let o=n[s];Qi(` Processing ${JSON.stringify(o)}`);let a=[];for(let{node:l,state:c}of i){Qi(` Current node is ${l}`);let u=t.nodes[l];if(l===ri){a.push({node:l,state:c});continue}console.assert(u.shortcuts.length===0,"Shortcuts should have been eliminated by now");let g=Object.prototype.hasOwnProperty.call(u.statics,o);if(!r||s<n.length-1||g)if(g){let f=u.statics[o];for(let{to:h,reducer:p}of f)a.push({node:h,state:typeof p!="undefined"?UC(SQ,p,c,o):c}),Qi(` Static transition to ${h} found`)}else Qi(" No static transition found");else{let f=!1;for(let h of Object.keys(u.statics))if(!!h.startsWith(o)){if(o===h)for(let{to:p,reducer:m}of u.statics[h])a.push({node:p,state:typeof m!="undefined"?UC(SQ,m,c,o):c}),Qi(` Static transition to ${p} found`);else for(let{to:p}of u.statics[h])a.push({node:p,state:V(v({},c),{remainder:h.slice(o.length)})}),Qi(` Static transition to ${p} found (partial match)`);f=!0}f||Qi(" No partial static transition found")}if(o!==Mr)for(let[f,{to:h,reducer:p}]of u.dynamics)UC(HC,f,c,o)&&(a.push({node:h,state:typeof p!="undefined"?UC(SQ,p,c,o):c}),Qi(` Dynamic transition to ${h} found (via ${f})`))}if(a.length===0&&o===Mr&&e.length===1)return[{node:Za,state:MT}];if(a.length===0)throw new Ug(e,i.filter(({node:l})=>l!==ri).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ri))throw new Ug(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=rce(a)}if(i.length>0){Qi(" Results:");for(let s of i)Qi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Qi(" No results");return i}function ice(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Mr)){for(let{to:r}of t.statics[Mr])if(r===Kg)return!0}return!1}function sce(t,e,r){let i=r&&e.length>0?[""]:[],n=KT(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let B=I[0];for(let{to:x,reducer:F}of m.statics[B])F==="pushPath"&&(u||l.push(B),g.push(x))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ice(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==Mr||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===ri)continue;let p=nce(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function ace(t,e){let r=KT(t,[...e,Mr]);return oce(e,r.map(({state:i})=>i))}function rce(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);returnLine truncated
`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(`
`)}function An(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,`
`),t=lce(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2
`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(`
`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(`
`)}).join(`
`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t}
`:""}var qg=class extends he{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new qg(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection:
`),this.context.stdout.write(`
`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(`
`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
`)}}};var GT=Symbol("clipanion/errorCommand");function cce(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var ts=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=cce()}={}){this.registrations=new Map,this.builder=new Gg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new ts(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[he.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Ml:return qg.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[GT]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,v(v({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?An(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?An(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?An(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[An(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof he?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=An(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=`
`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")}
`,a+=`
`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g}
`,f.length>0){a+=`
`,a+=`${vQ.header("Options")}
`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=`
`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${An(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=`
`,a+=`${this.format(r).header("Details")}
`,a+=`
`,a+=An(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=`
`,a+=`${this.format(r).header("Examples")}
`;for(let[h,p]of u)a+=`
`,a+=An(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)}
`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l}
`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?An(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:I}=this.getUsageByIndex(h);m.push({commandClass:f,usage:I})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)}
`:a+=`${this.format(r).header(`${this.binaryVersion}`)}
`,a+=` ${this.format(r).bold(n)}${this.binaryName} <command>
`):a+=`${this.format(r).bold(n)}${this.binaryName} <command>
`;for(let f of c){let h=l.get(f).slice().sort((m,I)=>m.usage.localeCompare(I.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=`
`,a+=`${this.format(r).header(`${p}`)}
`;for(let{commandClass:m,usage:I}of h){let y=m.usage.description||"undocumented";a+=`
`,a+=` ${this.format(r).bold(I)}
`,a+=` ${An(y,{format:this.format(r),paragraphs:!1})}`}}a+=`
`,a+=An("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[GT])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message}
`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=`
`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")}
`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?vQ:jT}};ts.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var PQ={};et(PQ,{DefinitionsCommand:()=>YC,HelpCommand:()=>jC,VersionCommand:()=>GC});var YC=class extends he{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}
`)}};YC.paths=[["--clipanion=definitions"]];var jC=class extends he{async execute(){this.context.stdout.write(this.cli.usage())}};jC.paths=[["-h"],["--help"]];var GC=class extends he{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"}
`)}};GC.paths=[["-v"],["--version"]];var j={};et(j,{Array:()=>qT,Boolean:()=>JT,Counter:()=>WT,Proxy:()=>zT,Rest:()=>VT,String:()=>XT,applyValidator:()=>jg,cleanValidationError:()=>OC,formatError:()=>Yg,isOptionSymbol:()=>Hg,makeCommandOption:()=>ii,rerouteArguments:()=>es});function qT(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function JT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function WT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function zT(t={}){return ii({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function VT(t={}){return ii({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===ji||a.extra===!1&&o<e.arity.leading.length},s=0;for(;s<i.positionals.length&&n(s);)s+=1;return i.positionals.splice(0,s).map(({value:o})=>o)}})}function uce(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?jg(g!=null?g:c,f,n.validator):f}})}function gce(t={}){let{required:e=!0}=t;return ii({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;o<n.positionals.length;++o){if(n.positionals[o].extra===ji||e&&n.positionals[o].extra===!0||!e&&n.positionals[o].extra===!1)continue;let[a]=n.positionals.splice(o,1);return jg((s=t.name)!==null&&s!==void 0?s:i,a.value,t.validator)}}})}function XT(t,...e){return typeof t=="string"?uce(t,...e):gce(t)}var JK=te(Yi()),WK=te(cr()),GQ=te(require("stream"));function yge(t){return WK.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/)}function Bge(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qQ(t){}function JQ(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function wge(t,e){let r=Object.values(t);if(!r.includes(e))throw new me(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(i=>JSON.stringify(i)).join(", ")})`);return e}function sA(t,e){let r=[];for(let i of t){let n=e(i);n!==zK&&r.push(n)}return r}var zK=Symbol();sA.skip=zK;function XK(t,e){for(let r of t){let i=e(r);if(i!==VK)return i}}var VK=Symbol();XK.skip=VK;function WQ(t){return typeof t=="object"&&t!==null}function nm(t){if(t instanceof Map&&(t=Object.fromEntries(t)),WQ(t))for(let e of Object.keys(t)){let r=t[e];WQ(r)&&(t[e]=nm(r))}return t}function Ys(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function Yl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function oA(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function jl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function Qge(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Gl(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function zQ(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function af(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var ZK=class extends GQ.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},_K=class extends GQ.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Af=eval("require");function $K(t){return Af(T.fromPortablePath(t))}function eU(path){let physicalPath=T.fromPo Line truncated
`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var xj=te(sI()),kj=new Map,vj=new Map,AIe=new Sj.Agent({keepAlive:!0}),lIe=new Dj.Agent({keepAlive:!0});function Pj(t){let e=new oI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function cIe(t){return Ys(vj,t,()=>L.readFilePromise(t).then(e=>(vj.set(t,e),e)))}function uIe({statusCode:t,statusMessage:e},r){let i=qe(r,t,Pe.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return tc(r,`${i}${e?` (${e})`:""}`,n)}async function aI(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof bj.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${qe(e,"httpTimeout",Pe.SETTING)})`);let a=new _e(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Response Code",value:dA(Pe.NO_HINT,uIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Method",value:dA(Pe.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request URL",value:dA(Pe.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Redirects",value:dA(Pe.NO_HINT,hb(e,s.request.redirects,Pe.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Retry Count",value:dA(Pe.NO_HINT,`${qe(e,s.request.retryCount,Pe.NUMBER)} (can be increased via ${qe(e,"httpRetry",Pe.SETTING)})`)})}`)});throw a.originalError=s,a}}function Fj(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new oI.URL(t):t;for(let[o,a]of r)if(kD.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var IA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(IA||(IA={}));async function Rf(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=IA.GET}){let a=typeof t=="string"?new oI.URL(t):t,l=Fj(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!kD.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?vD.default.httpOverHttp(Pj(l.httpProxy)):AIe,https:l.httpsProxy?vD.default.httpsOverHttp(Pj(l.httpsProxy)):lIe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:m}=await Promise.resolve().then(()=>te(sI())),I=p?await cIe(p):void 0,y=m.extend(v({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function gIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Rr(s,["configuration","jsonResponse"]);let o=Ys(kj,t,()=>aI(Rf(t,null,v({configuration:e},i)),{configuration:e}).then(a=>(kj.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function fIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.PUT})),i)).body}async function PD(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.POST})),i)).body}async function hIe(t,i){var n=i,{customErrorMessage:e}=n,r=Rr(n,["customErrorMessage"]);return(await aI(Rf(t,null,V(v({},r),{method:IA.DELETE})),r)).body}var Qt={};et(Qt,{executePackageAccessibleBinary:()=>jW,executePackageScript:()=>VI,executePackageShellcode:()=>PS,executeWorkspaceAccessibleBinary:()=>qQe,executeWorkspaceLifecycleScript:()=>YW,executeWorkspaceScript:()=>HW,getPackageAccessibleBinaries:()=>XI,getWorkspaceAccessibleBinaries:()=>UW,hasPackageScript:()=>YQe,hasWorkspaceScript:()=>vS,makeScriptEnv:()=>$f,maybeExecuteWorkspaceLifecycleScript:()=>GQe,prepareExternalProject:()=>HQe});var Of={};et(Of,{getLibzipPromise:()=>gi,getLibzipSync:()=>oG});var _o=["number","number"],FD;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_E Line truncated
`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()}
`;if(typeof t=="string")return`${aJ(t)}
`;if(Array.isArray(t)){if(t.length===0)return`[]
`;let i=" ".repeat(e);return`
${t.map(s=>`${i}- ${dS(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof pS?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=oJ.indexOf(l),g=oJ.indexOf(c);return u===-1&&g===-1?l<c?-1:l>c?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!AJ(i[l])).map((l,c)=>{let u=i[l],g=aJ(l),f=dS(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(`
`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?`
`:"")||`
`;return r?`
${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function ro(t){try{let e=dS(t,0,!1);return e!==`
`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}ro.PreserveOrdering=pS;function $Be(t){return t.endsWith(`
`)||(t+=`
`),(0,sJ.parse)(t)}var ewe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function twe(t){if(ewe.test(t))return $Be(t);let e=(0,LI.safeLoad)(t,{schema:LI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Kr(t){return twe(t)}var EJ=te(eQ()),yJ=te(require("os")),qi=te(require("stream")),BJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var MI={};et(MI,{fastGlobOptions:()=>uJ,isBraceExpansion:()=>gJ,isGlobPattern:()=>rwe,match:()=>iwe,micromatchOptions:()=>OI});var lJ=te(Qm()),cJ=te(require("fs")),TI=te(Yi()),OI={strictBrackets:!0},uJ={onlyDirectories:!1,onlyFiles:!1};function rwe(t){if(!TI.default.scan(t,OI).isGlob)return!1;try{TI.default.parse(t,OI)}catch{return!1}return!0}function iwe(t,{cwd:e,baseFs:r}){return(0,lJ.default)(t,V(v({},uJ),{cwd:T.fromPortablePath(e),fs:QC(cJ.default,new Dg(r))}))}function gJ(t){return TI.default.scan(t,OI).isBrace}var fJ=te(Mw()),As=te(require("stream")),hJ=te(require("string_decoder")),vi;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(vi||(vi={}));var FA=new Set;function CS(){}function mS(){for(let t of FA)t.kill()}function pJ(t,e,r,i){return n=>{let s=n[0]instanceof As.Transform?"pipe":n[0],o=n[1]instanceof As.Transform?"pipe":n[1],a=n[2]instanceof As.Transform?"pipe":n[2],l=(0,fJ.default)(t,e,V(v({},i),{stdio:[s,o,a]}));return FA.add(l),FA.size===1&&(process.on("SIGINT",CS),process.on("SIGTERM",mS)),n[0]instanceof As.Transform&&n[0].pipe(l.stdin),n[1]instanceof As.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof As.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),u.code){case"ENOENT":n[2].write(`command not found: ${t}
`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t}
`),c(128);break;default:n[2].write(`uncaught error: ${u.message}
`),c(1);break}}),l.on("exit",u=>{FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),c(u!==null?u:129)})})}}}function dJ(t){return e=>{let r=e[0]==="pipe"?new As.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Tn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},CJ=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Wf=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Wf(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Wf(this,e),n=new CJ;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function KI(t,e){return Wf.start(t,e)}function mJ(t,e=null){let r=new As.PassThrough,i=new hJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(`
`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function IJ(t,{prefix:e}){return{stdout:mJ(r=>t.stdout.write(`${r}
`),t.stdout.isTTY?e:null),stderr:mJ(r=>t.stderr.write(`${r}
`),t.stderr.isTTY?e:null)}}var nwe=(0,BJ.promisify)(setTimeout);var Vr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Vr||(Vr={}));function wJ(t,e,r){let i=new qi.PassThrough({autoDestroy:!0});switch(t){case vi.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof qi.Writable&&i.pipe(r.stdin,{end:!1});break;case vi.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case vi.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function UI(t,e={}){let r=v(v({},t),e);return r.environment=v(v({},t.environment),e.environment),r.variables=v(v({},t.variables),e.variables),r}var swe=new Map([["cd",async([t=(0,yJ.homedir)(),...e],r,i)=>{let n=D.resolve(i.cwd,T.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory
`),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${T.fromPortablePath(r.cwd)}
`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")}
`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")return r.stderr.write(`sleep: missing operand
`),1;let i=Number(t);return Number.isNaN(i)?(r.stderr.write(`sleep: invalid time interval '${t}'
`),1):await nwe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await KI(i,{stdin:new Tn(r.stdin),stdout:new Tn(r.stdout),stderr:new Tn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},I=Number(t[c++]),y=c+I;for(let B=c;B<y;++c,++B)switch(f){case"<":p(()=>e.baseFs.createReadStream(D.resolve(r.cwd,T.toPortablePath(t[B]))));break;case"<<<":p(()=>{let x=new qi.PassThrough;return process.nextTick(()=>{x.write(`${t[B]}
`),x.end()}),x});break;case"<&":p(()=>wJ(Number(t[B]),1,r));break;case">":case">>":{let x=D.resolve(r.cwd,T.toPortablePath(t[B]));m(x==="/dev/null"?new qi.Writable({autoDestroy:!0,emitClose:!0,write(F,N,O){setImmediate(O)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(wJ(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new qi.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new qi.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new qi.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await KI(Vf(t.slice(c+1),e,r),{stdin:new Tn(i),stdout:new Tn(n),stderr:new Tn(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function owe(t,e,r){let i=[],n=new qi.PassThrough;return n.on("data",s=>i.push(s)),await HI(t,e,UI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function QJ(t,e,r){let i=t.map(async s=>{let o=await RA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function IS(t){return t.match(/[^ \r\n\t]+/g)||[]}async function bJ(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=IS(s);for(let a=0;a<o.length-1;++a)n(o[a]);i(o[o.length-1])}break;case"*":{let s=e.args.join(" ");if(t.quoted)i(s);else for(let o of IS(s))n(o)}break;case"PPID":i(String(process.ppid));break;case"RANDOM":i(String(Math.floor(Math.random()*32768)));break;default:{let s=parseInt(t.name,10);if(Number.isFinite(s))if(s>=0&&s<e.args.length)i(e.args[s]);else if(t.defaultValue)i((await RA(t.defaultValue,e,r)).join(" "));else throw new ia(`Unbound argument #${s}`);else if(Object.prototype.hasOwnProperty.call(r.variables,t.name))i(r.variables[t.name]);else if(Object.prototype.hasOwnProperty.call(r.environment,t.name))i(r.environment[t.name]);else if(t.defaultValue)i((await RA(t.defaultValue,e,r)).join(" "));else throw new ia(`Unbound variable "${t.name}"`)}break}}var awe={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function Xf(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await bJ(V(v({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?Xf({type:"variable",name:i.join(" ")},e,r):Xf({type:"number",value:n},e,r)}else return awe[t.type](await Xf(t.left,e,r),await Xf(t.right,e,r))}async function RA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await RA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await owe(f.shell,e,r);if(f.quoted)o(h);else{let p=IS(h);for(let m=0;m<p.length-1;++m)l(p[m]);o(p[p.length-1])}}break;case"variable":await bJ(f,e,r,o,l);break;case"arithmetic":o(String(await Xf(f.arithmetic,e,r)));break}break}if(a(),g){let f=n.pop();if(typeof f=="undefined")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:r.cwd,baseFs:e.baseFs});if(h.length===0){let p=gJ(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ia(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Vf(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=T.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(v({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return pJ(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return dJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function Awe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,UI(r,{stdin:n}));return{stdin:n,promise:s}}}function lwe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,r);return{stdin:n,promise:s}}}function DJ(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while( Line truncated
`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(mc(t))}' has ended
`)})),0}return await SJ(t,e,r)}async function uwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await cwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))throw l;return r.stderr.write(`${l.message}
`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function HI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await uwe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function xJ(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>YI(e));case"arithmetic":return ES(t.arithmetic);case"shell":return yS(t.shell);default:return!1}}function YI(t){switch(t.type){case"redirection":return t.args.some(e=>YI(e));case"argument":return t.segments.some(e=>xJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function ES(t){switch(t.type){case"variable":return xJ(t);case"number":return!1;default:return ES(t.left)||ES(t.right)}}function yS(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=yS(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>YI(s)))||r.args.some(n=>YI(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function xc(t,e=[],{baseFs:r=new Ft,builtins:i={},cwd:n=T.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=MI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(swe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new qi.PassThrough,o.end());let h=II(t,u);if(!yS(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await HI(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var TW=te(SS()),OW=te(GI()),vc=te(require("stream"));var DW=te(cr());var vt={};et(vt,{SemVer:()=>wW.SemVer,satisfiesWithPrereleases:()=>_f,validRange:()=>Kn});var qI=te(cr()),wW=te(cr()),QW=new Map;function _f(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=QW.get(i);if(typeof n=="undefined")try{n=new qI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{QW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new qI.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var bW=new Map;function Kn(t){if(t.indexOf(":")!==-1)return null;let e=bW.get(t);if(typeof e!="undefined")return e;try{e=new qI.default.Range(t)}catch{e=null}return bW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Ft}={}){let i=D.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Ft}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(xW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=SW(e)}async loadFile(e,{baseFs:r=new Ft}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(xW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=SW(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=Si(e.name)}catch(s){i.push(new Error("Pa Line truncated
`,end:t=>`::endgroup::
`}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t}
`,end:t=>`travis_fold:end:${t}
`}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t}
`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,LW=new Date,LQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MQe=t=>t,zI=MQe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),TQe=LQe&&Object.keys(zI).find(t=>{let e=zI[t];return!(e.date&&(e.date[0]!==LW.getDate()||e.date[1]!==LW.getMonth()+1))})||"default";function MW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=MC(t===null?0:t);return!r&&t===null?qe(e,n,"grey"):n}function kS(t,{configuration:e,json:r}){let i=MW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return tc(e,i,s)}var xe=class extends ci{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=NQe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Bf(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...RQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||TQe;if(!Object.prototype.hasOwnProperty.call(zI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=zI[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${qe(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableL Line truncated
`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})}
`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${nt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${nt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>NW&&(this.progressFrame=(this.progressFrame+1)%RW.length,this.progressTime=e);let r=RW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${qe(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s}
`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},NW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,FW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return MW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return kS(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Er="3.0.2";var cs;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(cs||(cs={}));async function io(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await L.writeFilePromise(D.format({dir:t,name:e,ext:".cmd"}),n)}await L.writeFilePromise(D.join(t,e),`#!/bin/sh
exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@"
`),await L.chmodPromise(D.join(t,e),493)}async function OQe(t){let e=null;try{e=await L.readFilePromise(D.join(t,xt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:cs.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:cs.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:L.existsSync(D.join(t,"package-lock.json"))?{packageManager:cs.Npm,reason:`found npm's "package-lock.json" lockfile`}:L.existsSync(D.join(t,"pnpm-lock.yaml"))?{packageManager:cs.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function $f({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=T.fromPortablePath(r);n.BERRY_BIN_FOLDER=T.fromPortablePath(s);let o=process.env.COREPACK_ROOT?T.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([io(r,"node",process.execPath),...Er!==null?[io(r,"run",process.execPath,[o,"run"]),io(r,"yarn",process.execPath,[o]),io(r,"yarnpkg",process.execPath,[o]),io(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=T.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=T.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${T.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${T.sep}yarn`,n.npm_node_execpath=`${s}${T.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=dt(e),n.npm_package_version=g}let a=Er!==null?`yarn/${Er}`:`yarn/${ql("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await io(r,rr(u),g,f)),n}var KQe=2,UQe=(0,OW.default)(KQe);async function HQe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UQe(async()=>{await L.mktempPromise(async o=>{let a=D.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:T.fromPortablePath(t),report:i}),g=s&&ss(s)?df(s):s,f=g?gn(g):"an external project";c.write(`Packing ${f} from sources
`);let h=await OQe(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason}
`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn
`),p=cs.Yarn2),await L.mktempPromise(async m=>{let I=await $f({binFolder:m}),B=new Map([[cs.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Ts("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(N.code!==0)return N.code;await L.appendFilePromise(D.join(t,".npmignore"),`/.yarn
`),c.write(`
`);let O=await Ts("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(O.code!==0)return O.code;c.write(`
`);let P=await Ts("yarn",[...F,"pack","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return P.code!==0?P.code:0}],[cs.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=D.join(t,xt.lockfile);await L.existsPromise(N)||await L.writeFilePromise(N,"");let O=await Ts("yarn",[...F,"pack","--install-if-needed","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return O.code!==0?O.code:0}],[cs.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Ts("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(F.code!==0)return F.code;let N=new vc.PassThrough,O=af(N);N.pipe(c);let P=await Ts("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(P.code!==0)return P.code;let J=(await O).toString().trim(),oe=D.resolve(t,T.toPortablePath(J));return await L.renamePromise(oe,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await B();if(!(x===0||typeof x=="undefined"))throw L.detachTemp(o),new _e(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function YQe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return vS(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r.configuration,t)} not found in the project`);return await nn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new xe({stdout:new vc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${nt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await ze.find(we.dot,{baseFs:g})).scripts.has(e)},{libzip:await gi()})}async function VI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await KW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await xc(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function PS(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{env:c,cwd:u}=await KW(t,{project:n,binFolder:l,cwd:i});return await xc(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jQe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await $f({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await UW(t),([s,[,o]])=>io(e,rr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=D.dirname(await L.realpathPromise(D.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function KW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jQe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${nt(e.configuration,t)} not found in the project`);return await nn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new xe({stdout:new vc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${nt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await $f({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await XI(t,{project:e}),([I,[,y]])=>io(r,rr(I),process.execPath,[y])));let h=await g.findPackageLocation(o,u),p=new yt(h,{baseFs:a}),m=await ze.find(we.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await gi()})}async function HW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await VI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function vS(t,e){return t.manifest.scripts.has(e)}async function YW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await L.mktempPromise(async o=>{let a=D.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}")
`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:nt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await HW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw L.detachTemp(o),new _e(z.LIFECYCLE_SCRIPT,`${(0,TW.default)(e)} script failed (exit code ${qe(n,g,Pe.NUMBER)}, logs can be found here: ${qe(n,a,Pe.PATH)}); run ${qe(n,`yarn ${e}`,Pe.CODE)} to investigate`)})}async function GQe(t,e,r){vS(t,e)&&await YW(t,e,r)}async function XI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r,t)} not found in the project`);let s=new vc.Writable,o=r.getLinkers(),a={project:e,report:new xe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Ut(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return sA.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return sA.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return sA.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===sA.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,T.fromPortablePath(D.resolve(f,p))])}return i}async function UW(t){return await XI(t.anchoredLocator,{project:t.project})}async function jW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await XI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${nt(n.configuration,t)}`);return await L.mktempPromise(async g=>{let[,f]=u,h=await $f({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>io(h.BERRY_BIN_FOLDER,rr(m),process.execPath,[I])));let p;try{p=await Ts(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await L.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qQe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await jW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var hr={};et(hr,{convertToZip:()=>lDe,extractArchiveTo:()=>uDe,makeArchiveFromDirectory:()=>ADe,safeTime:()=>zi});var W4=te(require("stream")),z4=te(k4());var Y4=te(require("os")),j4=te(H4()),G4=te(require("worker_threads")),Vx=class{constructor(e){this.source=e;this.pool=[];this.queue=new j4.default({concurrency:Math.max(1,(0,Y4.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new G4.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var V4=te(J4()),zi=456789e3;async function ADe(t,{baseFs:e=new Ft,prefixPath:r=we.root,compressionLevel:i,inMemory:n=!1}={}){let s=await gi(),o;if(n)o=new Qr(null,{libzip:s,level:i});else{let l=await L.mktempPromise(),c=D.join(l,"archive.zip");o=new Qr(c,{create:!0,libzip:s,level:i})}let a=D.resolve(we.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var X4;async function lDe(t,e){let r=await L.mktempPromise(),i=D.join(r,"archive.zip");return X4||(X4=new Vx((0,V4.getContent)())),await X4.run({tmpFile:i,tgz:t,opts:e}),new Qr(i,{libzip:await gi(),level:e.compressionLevel})}async function*cDe(t){let e=new z4.default.Parse,r=new W4.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uDe(t,e,{stripComponents:r=0,prefixPath:i=we.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cDe(t)){if(n(a))continue;let l=D.normalize(T.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=D.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"OldFile":case"File":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.writeFileSync(u,await af(a)),e.chmodSync(u,g),e Line truncated
`);return}let s=(0,$4.asTree)(ez(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502
$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502
$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var _x=te(require("fs"));var fDe=8,ft=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==qa?`c${o}`:"";this.cacheKey=[fDe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new ft(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${$l(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hDe(r).slice(0,10);return`${$l(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?D.resolve(this.cwd,this.getVersionFilename(e)):r===null||$x(r)!==this.cacheKey?null:D.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?D.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await L.existsPromise(this.cwd))throw new _e(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await L.mkdirPromise(this.cwd,{recursive:!0});let e=D.resolve(this.cwd,".gitignore");await L.changeFilePromise(e,`/.gitignore
*.flock
`)}(this.mirrorCwd||!this.immutable)&&await L.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new Ft,c=async(N,O=null)=>{let P=!o||!r?`${this.cacheKey}/${await Pm(N)}`:r;if(O!==null){let J=!o||!r?`${this.cacheKey}/${await Pm(O)}`:r;if(P!==J)throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&P!==r){let J;switch(this.check?J="throw":$x(r)!==$x(P)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return P;default:case"throw":throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return P},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${nt(this.configuration,e)}`);let O=await s(),P=O.getRealPath();return O.saveAndClose(),await L.chmodPromise(P,420),await c(N,P)},g=async()=>{if(a===null||!await L.existsPromise(a)){let P=await s(),J=P.getRealPath();return P.saveAndClose(),{source:"loader",path:J}}let N=await L.mktempPromise(),O=D.join(N,this.getVersionFilename(e));return await L.copyFilePromise(a,O,_x.default.constants.COPYFILE_FICLONE),{source:"mirror",path:O}},f=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${nt(this.configuration,e)}`);if(this.immutable)throw new _e(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${nt(this.configuration,e)}`);let{path:N,source:O}=await g();await L.chmodPromise(N,420);let P=await c(N),J=this.getLocatorPath(e,P);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(O!=="mirror"&&a!==null){let K=await L.mktempPromise();oe=D.join(K,this.getVersionFilename(e)),await L.copyFilePromise(N,oe,_x.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(O==="mirror"?null:a,async()=>(await L.movePromise(N,J),oe&&a&&await L.movePromise(oe,a),[J,P])))},h=async()=>{let O=(async()=>{let P=this.getLocatorPath(e,r),J=P!==null?await l.existsPromise(P):!1,oe=J?i:n;if(oe&&oe(),J){let K=null,A=P;return this.check?K=await u(A):K=await c(A),[A,K]}else return f()})();this.mutexes.set(e.locatorHash,O);try{return await O}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await h();this.markedFiles.add(p);let I=null,y=await gi(),B=new bg(()=>zQ(()=>I=new Qr(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${nt(this.configuration,e)}: ${N}`),D);return[new Ja(p,{baseFs:B,pathUtils:D}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await L.lockPromise(e,async()=>await r())}};function $x(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hDe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var lz=te(nz()),jE=te(Ng());var cz=te(GI()),nk=te(require("stream"));var sz={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==dt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==dt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(zt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Ef(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var tk=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new _e(z.FETCHER_NOT_FOUND,`${nt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Xc=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){retur Line truncated
`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new Xc([new YE,new Ci,new rk,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new tk([new Ih,new ik,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new ze;o.load(n,{yamlCompatibilityMode:!0});let a=Yl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(v({},c),{type:Dr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(v({},c),{type:Dr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(V(v({},c),{type:Dr.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),nm(n),{userProvided:!0})}normalizePackage(e){let r=hf(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!_f(s,o))for(let l of a)switch(l.status===qr.Inactive&&(l.status=qr.Redundant),l.type){case Dr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qr.Active,Ys(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:JQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Go("types",o),l=dt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Si(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,zt(o,"*"))}return r.dependencies=new Map(bi(r.dependencies,([,s])=>xi(s))),r.peerDependencies=new Map(bi(r.peerDependencies,([,s])=>xi(s))),r}getLimit(e){return Ys(this.limits,e,()=>(0,cz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},le=co;le.telemetry=null;var Vi;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Vi||(Vi={}));var uo=class extends ci{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Bf(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r}
`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(v({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(`
`),this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command.
`),this.suggestInstall&&this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.
`))}formatNameWithHyperlink(e){return kS(e,{configuration:this.configuration,json:!1})}};var uy=te(require("crypto")),r6=te(Wz()),gy=te(e6()),i6=te(GI()),n6=te(cr()),Tk=te(require("util")),Ok=te(require("v8")),Kk=te(require("zlib"));var iPe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>Tm({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],Lk=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=D.join(e.cwd,e.configuration.get("lockfileFilename"));if(!L.existsSync(i))return;let n=await L.readFilePromise(i,"utf8"),s=Kr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=mf(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Kn(l.range)&&(l=zt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iPe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Ut(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=_l(l.range),p=mf(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Ai(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var cy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Lm(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Lm(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var Mk=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var Br=class extends ci{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return awai Line truncated
`;await L.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var Uk=4,nPe=1,sPe=/ *, */g,s6=/\/$/,oPe=32,aPe=(0,Tk.promisify)(Kk.default.gzip),APe=(0,Tk.promisify)(Kk.default.gunzip),kr;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(kr||(kr={}));var Hk={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,L.existsSync(D.join(s,xt.manifest))){i=s;break}n=D.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=le.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=le.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=le.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${qe(e,i,Pe.PATH)}) doesn't seem to be part of the project declared in ${qe(e,o.cwd,Pe.PATH)}.
- If the project directory is right, it might be that you forgot to list ${qe(e,D.relative(o.cwd,i),Pe.PATH)} as a workspace.
- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(L.existsSync(e)){let i=await L.readFilePromise(e,"utf8");this.lockFileChecksum=ai(`${nPe}`,i);let n=Kr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=hA(l.resolution,!0),u=new ze;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,f=u.languageName||r,h=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,B=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=Uk){let x=V(v({},c),{version:g,languageName:f,linkType:h,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:B});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(sPe)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=Uk)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Mm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Lh(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Cr(this.configuration,r.locator)}: ${T.fromPortablePath(e)} conflicts with ${T.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){D.isAbsolute(e)||(e=D.resolve(this.cwd,e)),e=D.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)D.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Cr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qo(e)&&(e=pf(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ut(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(ss(e)&&(e=df(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${nt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Ef(this.configuration,e)} (${qe(this.configuration,D.join(e.cwd,xt.manifest),Pe.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirt Line truncated
`;switch(Ne){case Vi.SCRIPT:Ke+=`# Script name: ${Je}
`;break;case Vi.SHELLCODE:Ke+=`# Script code: ${Je}
`;break}let ie=null;if(!await L.mktempPromise(async Se=>{let fe=D.join(Se,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(fe,{header:Ke,prefix:nt(this.configuration,ee),report:r}),Qe;try{switch(Ne){case Vi.SCRIPT:Qe=await VI(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Vi.SHELLCODE:Qe=await PS(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),Qe=1}if(Ie.end(),pe.end(),Qe===0)return P.set(ee.locatorHash,R),!0;L.detachTemp(Se);let Z=`${nt(this.configuration,ee)} couldn't be built successfully (exit code ${qe(this.configuration,Qe,Pe.NUMBER)}, logs can be found here: ${qe(this.configuration,fe,Pe.PATH)})`;return this.optionalBuilds.has(ee.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),P.set(ee.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),K===y.size){let W=Array.from(y).map(ee=>{let re=this.storedPackages.get(ee);if(!re)throw new Error("Assertion failed: The package should have been registered");return nt(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=P}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=le.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qr.Inactive;let i=D.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await L.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new _e(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=qe(this.configuration,g,Pe.PACKAGE_EXTENSION);switch(g.status){case qr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qr.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Dl(n,this.generateLockfile());if(c!==n){let u=(0,r6.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.REMOVED)):e.report.reportInfo(null,qe(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new _e(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qr.Active&&((l=le.telemetry)==null||l.reportPackageExtension(rc(g,Pe.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==kr.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Fm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===kr.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${qe(this.configuration,"mode=update-lockfile",Pe.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Fm(u,{cwd:this.cwd})));for(let u=0;u<s.length;++u)o[u]!==c[u]&&e.report.reportError(z.FROZEN_ARTIFACT_EXCEPTION,`The checksum for ${s[u]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(c=>c.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:Uk};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptor Line truncated
`,`# Manual changes might be lost - proceed with caution!
`].join("")}
`+ro(r)}async persistLockfile(){let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await L.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(Hk))e.push(...o);let r=(0,gy.default)(this,e),i=Ok.default.serialize(r),n=ai(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await L.mkdirPromise(D.dirname(s),{recursive:!0}),await L.writeFilePromise(s,await aPe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!L.existsSync(n)){r&&await this.applyLightResolution();return}let s=await APe(await L.readFilePromise(n));this.installStateChecksum=ai(s);let o=Ok.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,gy.default)(o,Hk.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,gy.default)(o,Hk.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Br}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Gw(e.cwd,this.cwd)||!await L.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await L.readdirPromise(e.cwd)){if(i.has(a))continue;let l=D.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused - removing`),await L.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lPe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(K=>{let A=K.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,hf(W)]})),B=()=>{let K=L.mktempSync(),A=D.join(K,"stacktrace.log"),W=String(g.length+1).length,ee=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${gn(re)}
`).join("");throw L.writeFileSync(A,ee),L.detachTemp(K),new _e(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${T.fromPortablePath(A)}`)},x=K=>{let A=r.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(K,A,{top:W,optional:ee})=>{g.length>1e3&&B(),g.push(K);let re=N(K,A,{top:W,optional:ee});return g.pop(),re},N=(K,A,{top:W,optional:ee})=>{if(n.has(K.locatorHash))return;n.add(K.locatorHash),ee||s.delete(K.locatorHash);let re=i.get(K.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${nt(t.configuration,K)}) should have been registered`)}let H=[],R=[],ve=[],Ne=[],Je=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(qo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let ce=ee;if(!ce){let ae=re.dependenciesMeta.get(dt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(ce=!0)}}let Se=r.get(ie.descriptorHash);if(!Se){if(c)continue;throw new Error(`Assertion failed: The resolution (${Ut(t.configuration,ie)}) should have been registered`)}let fe=y.get(Se)||i.get(Se);if(!fe)throw new Error(`Assertion failed: The package (${Se}, resolved from ${Ut(t.configuration,ie)}) should have been registered`);if(fe.peerDependencies.size===0){F(fe,new Map,{top:W,optional:ce});continue}let Ie=u.get(fe.locatorHash);typeof Ie=="number"&&Ie>=2&&B();let pe,Qe,Z=new Set,X;R.push(()=>{pe=nb(ie,K.locatorHash),Qe=sb(fe,K.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,Qe.locatorHash),e.set(pe.descriptorHash,pe),i.set(Qe.locatorHash,Qe),H.push([fe,pe,Qe])}),ve.push(()=>{var ae;X=new Map;for(let ue of Qe.peerDependencies.values()){let Be=re.dependencies.get(ue.identHash);if(!Be&&Cf(K,ue)&&(Be=Mm(K),e.set(Be.descriptorHash,Be),r.set(Be.descriptorHash,K.locatorHash),o.delete(Be.descriptorHash)),(!Be||Be.range==="missing:")&&Qe.dependencies.has(ue.identHash)){Qe.peerDependencies.delete(ue.identHash);continue}Be||(Be=zt(ue,"missing:")),Qe.dependencies.set(Be.identHash,Be),qo(Be)&&oA(p,Be.descriptorHash).add(Qe.locatorHash),f.set(Be.identHash,Be),Be.range==="missing:"&&Z.add(Be.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:Qe.locatorHash)}Qe.dependencies=new Map(bi(Qe.dependencies,([ue,Be])=>dt(Be)))}),Ne.push(()=>{if(!i.has(Qe.locatorHash))return;let ae=u.get(fe.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(fe.locatorHash,ue),F(Qe,X,{top:W,optional:ce}),u.set(fe.locatorHash,ue-1)}),Je.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(oA(I,ue).add(K.locatorHash),!!i.has(Qe.locatorHash)){for(let Be of Qe.peerDependencies.values()){let ct=X.get(Be.identHash);if(typeof ct=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yl(jl(m,ct),dt(Be)).push(Qe.locatorHash)}for(let Be of Z)Qe.dependencies.delete(Be)}})}for(let ie of[...R,...ve])ie();let Ke;do{Ke=!0;for(let[ie,ce,Se]of H){if(!i.has(Se.locatorHash))continue;let fe=jl(h,ie.locatorHash),Ie=ai(...[...Se.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Ut(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),ce.identHash),pe=fe.get(Ie);if(typeof pe=="undefined"){fe.set(Ie,ce);continue}if(pe===ce)continue;Ke=!1,i.delete(Se.locatorHash),e.delete(ce.descriptorHash),r.delete(ce.descriptorHash),n.delete(Se.locatorHash);let Qe=p.get(ce.descriptorHash)||[],Z=[re.locatorHash,...Qe];p.delete(ce.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(ce.identHash,pe)}}}while(!Ke);for(let ie of[...Ne,...Je])ie()};for(let K of t.workspaces){let A=K.anchoredLocator;o.delete(K.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var O;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(O||(O={}));let P=[];for(let[K,A]of I){let W=i.get(K);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let ee=m.get(K);if(typeof ee!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,ve]of ee){let Ne=Si(R);if(H.peerDependencies.has(Ne.identHash))continue;let Je=`p${ai(re,R,K).slice(0,5)}`;a.set(Je,{subject:re,requested:Ne,rootRequester:K,allReques Line truncated
`),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};hp.paths=[["add"]],hp.usage=he.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add [email protected]"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var k$=hp;function TKe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.iLine truncated
`),0}return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Qt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:w.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${w.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};pp.paths=[["bin"]],pp.usage=he.Usage({description:"get the path to a binary script",details:`
When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.
When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.
`,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var v$=pp;var dp=class extends ye{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await ft.find(e);return(await xe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await L.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await L.removePromise(r.cwd)})).exitCode()}};dp.paths=[["cache","clean"],["cache","clear"]],dp.usage=he.Usage({description:"remove the shared cache files",details:`
This command will remove all the files from the cache.
`,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var P$=dp;var F$=te(by()),hP=te(require("util")),Cp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,F$.default)(o,i):o,l=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a}
`),l.exitCode();hP.inspect.styles.name="cyan",this.context.stdout.write(`${(0,hP.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}
`)}return l.exitCode()}};Cp.paths=[["config","get"]],Cp.usage=he.Usage({description:"read a configuration settings",details:`
This command will print a configuration setting.
Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value.
`,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var R$=Cp;var qee=te(EP()),Jee=te(by()),Wee=te(Gee()),yP=te(require("util")),Ip=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>le.updateHomeConfiguration(h):h=>le.updateConfiguration(r(),h))(h=>{if(n){let p=(0,qee.default)(h);return(0,Wee.default)(p,this.name,o),p}else return V(v({},h),{[i]:o})});let c=(await le.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Jee.default)(u,n):u;return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{yP.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,yP.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Ip.paths=[["config","set"]],Ip.usage=he.Usage({description:"change a configuration settings",details:`
This command will set a configuration setting.
When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).
When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.
`,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var zee=Ip;var ite=te(EP()),nte=te(Kh()),ste=te(rte()),Ep=class extends ye{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>le.updateHomeConfiguration(l):l=>le.updateConfiguration(r(),l);return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,nte.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,ite.default)(u):v({},u);return(0,ste.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};Ep.paths=[["config","unset"]],Ep.usage=he.Usage({description:"unset a configuration setting",details:`
This command will unset a configuration setting.
`,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var ote=Ep;var BP=te(require("util")),yp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins,{strict:!1});return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(v({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"<default>":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,BP.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,BP.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};yp.paths=[["config"]],yp.usage=he.Usage({description:"display the current configuration",details:`
This command prints the current active configuration settings.
`,examples:[["Print the active configuration settings","$0 config"]]});var ate=yp;Pn();var wP={};et(wP,{Strategy:()=>cl,acceptedStrategies:()=>U2e,dedupe:()=>QP});var Ate=te(Yi()),cl;(function(e){e.HIGHEST="highest"})(cl||(cl={}));var U2e=new Set(Object.values(cl)),H2e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Ate.default.isMatch(w.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function QP(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new Br,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await H2e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=ci.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(y=>y.then(B=>{if(B===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=B;n.reportInfo(z.UNNAMED,`${w.prettyDescriptor(s,x)} can be deduped from ${w.prettyLocator(s,F)} to ${w.prettyLocator(s,N)}`),n.reportJson({descriptor:w.stringifyDescriptor(x),currentResolution:w.stringifyLocator(F),updatedResolution:w.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Bp=class extends ye{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",cl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:ni(cl)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await ft.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await QP(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};Bp.paths=[["dedupe"]],Bp.usage=he.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended Line truncated
`)}};eB.paths=[["--clipanion=definitions"]];var gte=eB;var tB=class extends he{async execute(){this.context.stdout.write(this.cli.usage(null))}};tB.paths=[["help"],["--help"],["-h"]];var fte=tB;var bP=class extends he{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!w.tryParseIdent(this.leadingArgument)){let e=D.resolve(this.context.cwd,T.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},hte=bP;var rB=class extends he{async execute(){this.context.stdout.write(`${Er||"<unknown>"}
`)}};rB.paths=[["-v"],["--version"]];var pte=rB;var wp=class extends ye{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await L.mktempPromise(async n=>await xc(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({project:r,locator:i,binFolder:n})}))}};wp.paths=[["exec"]],wp.usage=he.Usage({description:"execute a shell script",details:`
This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.
It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
`,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var dte=wp;Pn();var Qp=class extends ye{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:QQ(wQ(),[bQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await Y2e(this.hash,r,{stdout:this.context.stdout}):(await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>w.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>w.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=Ae.pretty(e,a,Ae.Type.CODE),h=w.prettyLocator(e,c),p=w.prettyIdent(e,l.requested),m=w.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,B=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${B}`)}})).exitCode()}};Qp.paths=[["explain","peer-requirements"]],Qp.usage=he.Usage({description:"explain a set of peer requirements",details:`
A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.
When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.
When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.
**Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`).
`,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var Cte=Qp;async function Y2e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await xe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=w.devirtualizeLocator(F),O=e.storedPackages.get(N.locatorHash);if(typeof O=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let P=O.peerDependencies.get(n.requested.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:P}});if(g!==null){let x=f.every(({peerDependency:F})=>vt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} provides ${w.prettyLocator(i,g)} with version ${w.prettyReference(i,(B=g.version)!=null?B:"<missing>")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} doesn't provide ${w.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=Ae.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(f,N=>w.stringifyLocator(N.pkg))){let O=(g!==null?vt.satisfiesWithPrereleases(g.version,F.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:w.stringifyLocator(x),prettyLocator:w.prettyLocator(i,x),prettyRange:w.prettyRange(i,F.range),mark:O})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:O}of de.sortMap(p,({stringifiedLocator:P})=>P))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${O}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${w.prettyLocator(e.configuration,l)}`))})).exitCode()}var mte=te(Yi()),bp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i&&!this.all)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,O=new Map,P=[N];for(;P.length>0;){let J=P.shift();if(O.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(O.set(J,oe),w.isVirtualLocator(oe)&&P.push(w.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let K of oe.dependencies.values()){let A=r.storedResolutions.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");P.push(A)}}return O.values Line truncated
This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics:
- **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).
- **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where are stored the cache files).
- **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).
- **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another.
Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.
If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release.
If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).
If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.
If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.
If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
- \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.
- \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
`,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Ete=Dp,G2e="|||||||",q2e=">>>>>>>",J2e="=======",yte="<<<<<<<";async function j2e(t,e){if(!t.projectCwd)return!1;let r=D.join(t.projectCwd,t.get("lockfileFilename"));if(!await L.existsPromise(r))return!1;let i=await L.readFilePromise(r,"utf8");if(!i.includes(yte))return!1;if(e)throw new _e(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=W2e(i),o,a;try{o=Kr(n),a=Kr(s)}catch(c){throw new _e(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=v(v({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await L.changeFilePromise(r,ro(l),{automaticNewlines:!0}),!0}function W2e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(yte)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===J2e){i=!1;break}else if(i||s.startsWith(G2e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(q2e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(`
`),e[1].join(`
`)]}var Sp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=D.resolve(this.context.cwd,T.toPortablePath(this.destination)),o=await le.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Ze(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=w.stringifyIdent(f.locator),p=this.relative?D.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await xe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};Sp.paths=[["link"]],Sp.usage=he.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Bte=Sp;var xp=class extends ye{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};xp.paths=[["node"]],xp.usage=he.Usage({description:"run node with the hook already setup",details:`
This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.
`,examples:[["Run a Node script","$0 node ./my-script.js"]]});var wte=xp;var Lte=te(require("os"));var xte=te(require("os"));var z2e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function ul(t){let e=await Rt.get(z2e,{configuration:t});return Kr(e.toString())}var kp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await ul(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Rr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(v({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};kp.paths=[["plugin","list"]],kp.usage=he.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Qte=kp;var bte=te(cr()),vp=class extends ye{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Er=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await Dte(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await Dte(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||T.isAbsolute(this.version))i=`file://${T.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))i=`https://repo.yarnpkg.com/${await V2e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,i,ds.URL)}`),a=await L.readFilePromise(T.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${Ae.pretty(e,i,ds.PATH)}`),a=await Rt.get(i,{configuration:e})),await DP(e,null,a,{report:s})})).exitCode()}};vp.paths=[["set","version"]],vp.usage=he.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a relea Line truncated
${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=D.resolve(n,".yarn/releases"),o=D.resolve(s,`yarn-${e}.cjs`),a=D.relative(t.startingCwd,o),l=D.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await L.removePromise(D.dirname(o)),await L.mkdirPromise(D.dirname(o),{recursive:!0}),await L.writeFilePromise(o,r),await L.chmodPromise(o,493),u){await le.updateConfiguration(n,{yarnPath:l});let f=await ze.tryFind(n)||new ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=D.join(n,ze.fileName),m=`${JSON.stringify(h,null,f.indent)}
`;await L.changeFilePromise(p,m,{automaticNewlines:!0})}}var X2e=/^[0-9]+$/;function kte(t){return X2e.test(t)?`pull/${t}/head`:t}var Z2e=({repository:t,branch:e},r)=>[["git","init",T.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",kte(e)],["git","reset","--hard","FETCH_HEAD"]],_2e=({branch:t})=>[["git","fetch","origin",kte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],$2e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",D.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Pp=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,xte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{await xP(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Fp($2e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=D.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await L.readFilePromise(o);await DP(e,"sources",a,{report:s}),this.skipPlugins||await eHe(this,{project:r,report:s,target:i})})).exitCode()}};Pp.paths=[["set","version","from","sources"]],Pp.usage=he.Usage({description:"build Yarn from master",details:`
This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.
By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag.
`,examples:[["Build Yarn from master","$0 set version from sources"]]});var vte=Pp;async function Fp(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Lr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${Ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")}
`);try{await Lr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function xP(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&L.existsSync(D.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Fp(_2e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await L.removePromise(i),await L.mkdirPromise(i,{recursive:!0}),await Fp(Z2e(t,i),{configuration:e,context:t.context,target:i}))}async function eHe(t,{project:e,report:r,target:i}){let n=await ul(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await SP(o,t,{project:e,report:r,target:i})}var Pte=te(cr()),Fte=te(require("url")),Rte=te(require("vm"));var Rp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||T.isAbsolute(this.name)){let a=D.resolve(this.context.cwd,T.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=D.relative(n.cwd,a),o=await L.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Fte.URL(this.name)}catch{throw new _e(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=w.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Pte.default.valid(l.reference))throw new _e(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=w.stringifyIdent(l),u=await ul(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new _e(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Er!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Er}/`))}i.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await Rt.get(a,{configuration:e})}await kP(s,o,{project:n,report:i})})).exitCode()}};Rp.paths=[["plugin","import"]],Rp.usage=he.Usage({category:"Plugin-related commands",description:"download a plugin",details:`
This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.
Three types of plugin references are accepted:
- If the plugin is stored within the Yarn repository, it can be referenced by name.
- Third-party plugins can be referenced directly through their public urls.
- Local plugins can be referenced by their path on the disk.
Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package).
`,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Nte=Rp;async function kP(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Rte.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=D.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await L.mkdirPromise(D.dirname(c),{recursive:!0}),await L.writeFilePromise(c,e);let u={path:l,spec:t};await le.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=D.resolve(r.cwd,T.toPortablePath(m)),{name:y}=de.dynamicRequire(I);y!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),V(v({},g),{plugins:f})})}var tHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Np=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,Lte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=w.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=w.stringifyIdent(o),l=await ul(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new _e(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await xP(this,{configuration:e,report:n,target:r}),await SP(c,this,{project:s,report:n,target:r})})).exitCode()}};Np.paths=[["plugin","import","from","sources"]],Np.usage=he.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:`
This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.
The plugins can be referenced by their short name if sourced from the official Yarn repository.
`,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var Mte=Np;async function SP(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Fp(tHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=D.resolve(s,`packages/${o}/bundles/${t}.js`),c=await L.readFilePromise(l);await kP(t,c,{project:i,report:n})}var Lp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=w.parseIdent(s);if(!e.plugins.has(s))throw new me(`${w.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=D.resolve(r.cwd,a);L.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await L.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await le.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:V(v({},c),{plugins:u})})})).exitCode()}};Lp.paths=[["plugin","remove"]],Lp.usage=he.Usage({category:"Plugin-related commands",description:"remove a plugin",details:`
This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.
**Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed.
`,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Tte=Lp;var Mp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Mp.paths=[["plugin","runtime"]],Mp.usage=he.Usage({category:"Plugin-related commands",description:"list the active plugins",details:`
This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.
`,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Ote=Mp;var Tp=class extends ye{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(w.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new Br}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Tp.paths=[["rebuild"]],Tp.usage=he.Usage({description:"rebuild the project's native packages",details:`
This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.
Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).
By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.
`,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Kte=Tp;var vP=te(Yi());Pn();var Op=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=w.parseIdent(h);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let B of(0,vP.default)(y,h))I.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let x=I.manifest.getForScope(B),F=[...x.values()].map(N=>w.stringifyIdent(N));for(let N of(0,vP.default)(F,w.stringifyIdent(m))){let{identHash:O}=w.parseIdent(N),P=x.get(O);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[B].delete(O),c.push([I,B,P]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${Ae.prettyList(e,a,ds.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await xe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};Op.paths=[["remove"]],Op.usage=he.Usage({description:"remove dependencies from the project",details:`
This command will remove the packages matching the specified patterns from the current workspace.
If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
- \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.
- \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.
`,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Ute=Op;var Hte=te(require("util")),iB=class extends ye{async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Hte.inspect)(g,l)}`)})).exitCode()}};iB.paths=[["run"]];var Yte=iB;var Kp=class extends ye{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Qt.hasPackageScript(s,this.scriptName,{project:r}))return await Qt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Qt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Qt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Qt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of lu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};Kp.paths=[["run"]],Kp.usage=he.Usage({description:"run a script defined in the package.json",details:`
This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:
- If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed.
- Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.
- Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.
Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).
`,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var jte=Kp;var Up=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Ze(r.cwd,this.context.cwd);let s=w.parseDescriptor(this.descriptor,!0),o=w.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Up.paths=[["set","resolution"]],Up.usage=he.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Gte=Up;var qte=te(Yi()),Hp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=D.resolve(this.context.cwd,T.toPortablePath(l));if(de.isPathLike(l)){let u=await le.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Fe.find(u,c);if(!f)throw new Ze(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(w.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(w.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,qte.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Hp.paths=[["unlink"]],Hp.usage=he.Usage({description:"disconnect the local project from another one",details:`
This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.
`,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Jte=Hp;var Wte=te(up()),PP=te(Yi());Pn();var xu=class extends ye{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>w.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(w.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,PP.default)(o,u)){let f=w.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=gp(this,r),a=s?[or.KEEP,or.REUSE,or.PROJECT,or.LATEST]:[or.PROJECT,or.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,B=w.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let O=[...x.manifest.getForScope(F).values()].map(P=>w.stringifyIdent(P));for(let P of(0,PP.default)(O,w.stringifyIdent(B))){let J=w.parseIdent(P),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let K=w.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await fp(K,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${Ae.prettyList(e,c,ds.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${Ae.prettyList(e,c,ds.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:B,rejections:x}]of u){let F=B.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let O=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range
${O}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)
${O}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[I,y,,{suggestions:B}]of u){let x,F=B.filter(J=>J.descriptor!==null),N=F[0].descriptor,O=F.every(J=>w.areDescriptorsEqual(J.descriptor,N));F.length===1||O?x=N:(f=!0,{answer:x}=await(0,Wte.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${w.prettyWorkspace(e,I)} \u276F ${y}?`,choices:B.map(({descriptor:J,name:oe,reason:K})=>J?{name:oe,hint:K,descriptor:J}:{name:oe,hint:K,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let P=I.manifest[y].get(x.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(P.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),h.push([I,y,P,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},K=J.bindDescriptor(P,I.anchoredLocator,oe);r.forgetResolution(K)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(`
`),(await xe.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};xu.paths=[["up"]],xu.usage=he.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up [email protected]"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),xu.schema=[DQ("recursive",$a.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var zte=xu;var Yp=class extends ye{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.parseIdent(this.package).identHash,s=this.recursive?iHe(r,n,{configuration:e,peers:this.peers}):rHe(r,n,{configuration:e,peers:this.peers});Un.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Yp.paths=[["why"]],Yp.usage=he.Usage({description:"display the reason why a package is needed",details:`
This command prints the exact reasons why a package appears in the dependency tree.
If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.
`,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var Vte=Yp;function rHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>w.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=w.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let h=w.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},Ae.Type.DEPENDENT]}}}return o}function iHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>w.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?Ae.tuple(Ae.Type.DEPENDENT,{locator:f,descriptor:p}):Ae.tuple(Ae.Type.LOCATOR,f),I={},y={value:m,children:I},B=w.stringifyLocator(f);if(h[B]=y,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var jp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of ze.hardDependencies)for(let[g,f]of o.getForScope(u)){let h=r.tryWorkspaceByDescriptor(f);h===null?r.workspacesByIdent.has(g)&&c.add(f):l.add(h)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>w.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(v({location:s.relativeCwd,name:o.name?w.stringifyIdent(o.name):null},a))}})).exitCode()}};jp.paths=[["workspaces","list"]],jp.usage=he.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Xte=jp;var Gp=class extends he{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=w.convertToIdent(a.locator);return[w.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:
- ${a.join(`
- `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Gp.paths=[["workspace"]],Gp.usage=he.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:`
This command will run a given sub-command on a single workspace.
`,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Zte=Gp;var nHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:_te.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:ll.CARET}},commands:[P$,R$,zee,ote,Gte,vte,Ste,Xte,gte,fte,hte,pte,k$,v$,ate,lte,dte,Cte,Ite,Ete,Bte,Jte,wte,Mte,Nte,Tte,Qte,Ote,Kte,Ute,Yte,jte,zte,Vte,Zte]},sHe=nHe;var MP={};et(MP,{default:()=>aHe});var Me={optional:!0},$te=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/[email protected] || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta. Line truncated
`),await L.writeFilePromise(D.join(r,"yarn.lock"),"");let i=D.join(r,".yarnrc.yml"),n=await le.findProjectCwd(this.context.cwd,xt.lockfile),s=!(await le.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?D.join(n,".yarnrc.yml"):null;o!==null&&L.existsSync(o)?(await L.copyFilePromise(o,i),await le.updateConfiguration(r,m=>{let I=V(v({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let B=typeof y=="string"?y:y.path,x=T.isAbsolute(B)?B:T.resolve(T.fromPortablePath(n),B);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await L.writeFilePromise(i,`enableGlobalCache: ${s}
enableTelemetry: false
`);let a=(p=this.packages)!=null?p:[this.command],l=w.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(`
`);let u=await le.find(r,this.context.plugins),{project:g,workspace:f}=await Fe.find(u,r);if(f===null)throw new Ze(g.cwd,r);await g.restoreInstallState();let h=await Qt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Qt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};qp.paths=[["dlx"]],qp.usage=he.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var sre=qp;var AHe={commands:[nre,sre]},lHe=AHe;var JP={};et(JP,{default:()=>gHe,fileUtils:()=>OP});var ku=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Jp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,ar="file:";var OP={};et(OP,{makeArchiveFromLocator:()=>sB,makeBufferFromLocator:()=>HP,makeLocator:()=>UP,makeSpec:()=>ore,parseSpec:()=>KP});function KP(t){let{params:e,selector:r}=w.parseRange(t),i=T.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?w.parseLocator(e.locator):null,path:i}}function ore({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:w.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return w.makeRange({protocol:i,source:e,selector:e,params:v(v({},s),n)})}function UP(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return w.makeLocator(t,ore({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function sB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=w.parseFileStyleRange(t.reference,{protocol:e}),o=D.isAbsolute(s)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=D.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await hr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:w.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function HP(t,{protocol:e,fetchOptions:r}){return(await sB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var YP=class{supports(e,r){return!!e.reference.startsWith(ar)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:ar});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return sB(e,{protocol:ar,fetchOptions:r})}};var cHe=1,jP=class{supportsDescriptor(e,r){return e.range.match(ku)?!0:!!e.range.startsWith(ar)}supportsLocator(e,r){return!!e.reference.startsWith(ar)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return ku.test(e.range)&&(e=w.makeDescriptor(e,`${ar}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=KP(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await HP(w.makeLocator(e,w.makeRange({protocol:ar,source:n,selector:n,params:{locator:w.stringifyLocator(s)}})),{protocol:ar,fetchOptions:i.fetchOptions}),a=Di.makeHash(`${cHe}`,o).slice(0,6);return[UP(e,{parentLocator:s,path:n,folderHash:a,protocol:ar})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.versi Line truncated
`);let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await L.mktempPromise(async o=>{let{code:a}=await Lr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Fe.find(e,this.context.cwd)).project}catch{r=null}L.existsSync(this.context.cwd)||await L.mkdirPromise(this.context.cwd,{recursive:!0});let i=await ze.tryFind(this.context.cwd)||new ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:w.makeIdent(e.get("initScope"),D.basename(this.context.cwd)),i.packageManager=Er&&de.isTaggedYarnVersion(Er)?`yarn@${Er}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await L.mkdirPromise(D.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),uF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,uF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})}
`);let o=D.join(this.context.cwd,ze.fileName);await L.changeFilePromise(o,`${JSON.stringify(s,null,2)}
`,{automaticNewlines:!0});let a=D.join(this.context.cwd,"README.md");if(L.existsSync(a)||await L.writeFilePromise(a,`# ${w.stringifyIdent(i.name)}
`),!r||r.cwd===this.context.cwd){let c=D.join(this.context.cwd,xt.lockfile);L.existsSync(c)||await L.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(I=>`${I}
`).join(""),f=D.join(this.context.cwd,".gitignore");L.existsSync(f)||await L.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,tie.default)(h,e.get("initEditorConfig"));let p=`root = true
`;for(let[I,y]of Object.entries(h)){p+=`
[${I}]
`;for(let[B,x]of Object.entries(y))p+=`${B.replace(/[A-Z]/g,N=>`_${N.toLowerCase()}`)} = ${x}
`}let m=D.join(this.context.cwd,".editorconfig");L.existsSync(m)||await L.writeFilePromise(m,p),L.existsSync(D.join(this.context.cwd,".git"))||await Lr.execvp("git",["init"],{cwd:this.context.cwd})}}};_p.paths=[["init"]],_p.usage=he.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var rie=_p;var NYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[rie]},LYe=NYe;var CF={};et(CF,{default:()=>TYe});var Io="portal:",Eo="link:";var fF=class{supports(e,r){return!!e.reference.startsWith(Io)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot}}};var hF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Io)}supportsLocator(e,r){return!!e.reference.startsWith(Io)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Io.length);return[w.makeLocator(e,`${Io}${T.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var pF=class{supports(e,r){return!!e.reference.startsWith(Eo)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0}}};var dF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Eo)}supportsLocator(e,r){return!!e.reference.startsWith(Eo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Eo.len Line truncated
${u}, next tree:
${$p(a)}`);let f=nie(a);if(f)throw new Error(`${f}, after hoisting finished:
${$p(a)}`)}return s.debugLevel>=2&&console.log($p(a)),KYe(a)},UYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},HYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},oie=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,f={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},h=f.dependencies.get(r);return h&&h.ident==f.ident&&f.dependencies.set(r,f),t.dependencies.set(f.name,f),f},YYe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},EF=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},IF=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=GYe(o),l=YYe(o,a),c=t==o?new Map:n.fastLookupPossible?UYe(e):HYe(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=jYe(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(h.delete(I),y.shift(),h.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=IF(t,[...e,m],r,p,n);I.isGraphChanged&&(f=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},qYe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Li(m)).join("\u2192")}`);let f=r[r.length-1],p=!(i.ident===f.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Li(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Li(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(f);F||(F=new Set,a.set(f,F)),F.add(i.name),l&&(u=`- filled by ${Li(x.locator)} at ${r.slice(0,y).map(N=>Li(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Li(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let B=r[y];for(let x of I){if(B.peerNames.has(x)&&B.originalDependencies.has(x))continue;let F=B.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Li(F.locator)} from parent ${Li(B.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},jYe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(I,y,B,x)=>{if(u.has(B))return;let F=[...y,B.locator],N=new Map,O=new Map;for(let K of EF(B)){let A=qYe(c,r,[c,...I,B],K,i,n,s,a,{outputReason:l.debugLevel>=2});if(O.set(K,A),A.isHoistable===2)for(let W of A.dependsOn){let ee=N.get(W.name)||new Set;ee.add(K.name),N.set(W.name,ee)}}let P=new Set,J=(K,A,W)=>{if(!P.has(K)){P.add(K),O.set(K,{isHoistable:1,reason:W});for(let ee of N.get(K.name)||[])J(B.dependencies.get(ee),A,l.debugLevel>=2?`- peer dependency ${Li(K.locator)} from parent ${Li(B.locator)} was not hoisted`:"")}};for(let[K,A]of O)A.isHoistable===1&&J(K,A,A.reason);for(let K of O.keys())if(!P.has(K)){f=!0;let A=o.get(B);A&&A.has(K.name)&&(g=!0),B.dependencies.delete(K.name),B.hoistedDependencies.set(K.name,K),B.reasons.delete(K.name);let W=c.dependencies.get(K.name),ee=null;if(l.debugLevel>=2&&(ee=Array.from(y).concat([B.locator]).map(re=>Li(re)).join("\u2192")),!W)c.ident!==K.ident&&(c.dependencies.set(K.name,K),l.debugLevel>=2&&K.hoistedFrom.push(ee),x.add( Line truncated
${$p(t)}`)}let oe=EF(B);for(let K of oe)if(P.has(K)){let A=O.get(K);if((n.get(K.name)===K.ident||!B.reasons.has(K.name))&&A.isHoistable!==0&&B.reasons.set(K.name,A.reason),!K.isHoistBorder&&F.indexOf(K.locator)<0){u.add(B);let ee=oie(B,K);h([...I,B],[...y,B.locator],ee,m),u.delete(B)}}},p,m=new Set(EF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=oie(c,I);h([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},nie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Li(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(`
`)},OYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:mF(r,n),ident:iie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:mF(p,m),ident:iie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(h):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},yF=t=>t.substring(0,t.indexOf("@",1)),KYe=t=>{let e={name:t.name,identName:yF(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:yF(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},GYe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Li=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},aie=5e4,$p=t=>{let e=0,r=(n,s,o="")=>{if(e>aie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c<a.length;c++){let u=a[c];if(!n.peerNames.has(u.name)&&u!==n){let g=n.reasons.get(u.name),f=yF(u.locator);l+=`${o}${c<a.length-1?"\u251C\u2500":"\u2514\u2500"}${(s.has(u)?">":"")+(f!==u.name?`a:${u.name}:`:"")+Li(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")}
`,l+=r(u,s,`${o}${c<a.length-1?"\u2502 ":" "}`)}}return s.delete(n),l};return r(t,new Set)+(e>aie?`
Tree is too large, part of the tree has been dunped
`:"")};var ed;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(ed||(ed={}));var Mi;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mi||(Mi={}));var Aie="node_modules",oB="$wsroot$";var td=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=JYe(t,e),o=null;if(n.length===0){let a=sie(r,{hoistingLimits:i});o=WYe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Bs=t=>`${t.name}@${t.reference}`,BF=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(D.delimiter).length,o=n.split(D.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},lie=(t,e)=>{let r=w.isVirtualLocator(t)?w.devirtualizeLocator(t):t,i=w.isVirtualLocator(e)?w.devirtualizeLocator(e):e;return w.areLocatorsEqual(r,i)},JYe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=T.toPortablePath(a.packageLocation),u=Bs(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(D.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(D.sep).slice(y.length),O=I;for(let P of N){let J=O.children.get(P);J||(J={children:new Map},O.children.set(P,J)),O=J}O.workspaceLocator={name:w.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let B=(x,F)=>{if(x.workspaceLocator){let N=Bs(F),O=o.get(N);O||(O=new Set,o.set(N,O)),O.add(x.workspaceLocator)}for(let N of x.children.values())B(N,x.workspaceLocator||F)};for(let x of I.children.values())B(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},f=new Map,h=(I,y)=>`${Bs(y)}:${I}`,p=(I,y)=>{if(I.linkType!==ed.SOFT||!e.project)return!1;let B=T.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return D.contains(e.project.cwd,B)===null},m=(I,y,B,x,F,N,O)=>{var ee,re;let P=h(I,B),J=f.get(P),oe=!!J;if(!oe&&B.name===l.name&&B.reference===l.reference&&(J=g,f.set(P,g)),J||(J={name:I,identName:B.name,reference:B.reference,dependencies:new Set,peerNames:y.packagePeers},f.set(P,J)),O&&!p(y,B)){let H=Bs({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let K=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(T.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),ve=>w.stringifyIdent(ve)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let ve of R)K.has(ve)||(K.set(ve,F.get(ve)||null),J.peerNames.add(ve))}}let A=Bs(B),W=o.get(A);if(W)for(let H of W)K.set(`${H.name}${oB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,ve]of K)if(ve!==null){let Ne=t.getLocator(R,ve),Je=t.getLocator(R.replace(oB,""),ve),Ke=t.getPackageInformation(Je);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Ne);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,Qe]of Ke.packageDependencies)if(Qe!==null){let Z=w.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${pe}@${Qe}`);if(Bs(Z)!==Bs(Ne)){let X=K.get(pe);if(X){let ae=w.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);lie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${w.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,Be=w.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);lie(Be,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${w.prettyLocator(e.project.configuration,Be)} from sibling portal ${w.prettyIdent(e.project.configuration,w.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Ne})}}}}let ce=(ee=e.hoistingLimitsByCwd)==null?void 0:ee.get(N),Se=ie?N:D.relative(c,T.toPortablePath(Ke.packageLoc Line truncated
`;for(let s=0,o=t.length;s<o;++s)n+=i+aB(String(s),t[s],e,i).replace(/^ +/,""),s+1<o&&(n+=","),n+=`
`;return n+=r,n+="]",n}function ZYe(t,e,r){let i=Object.keys(t),n="";n+="{";for(let s=0,o=i.length;s<o;++s){let a=i[s],l=t[a];typeof l!="undefined"&&(n+=JSON.stringify(a),n+=": ",n+=aB(a,l,e,r).replace(/^ +/g,""),s+1<o&&(n+=", "))}return n+="}",n}function _Ye(t,e,r){let i=Object.keys(t),n=`${r} `,s="";s+=r,s+=`{
`;for(let o=0,a=i.length;o<a;++o){let l=i[o],c=t[l];typeof c!="undefined"&&(s+=n,s+=JSON.stringify(l),s+=": ",s+=aB(l,c,e,n).replace(/^ +/g,""),o+1<a&&(s+=","),s+=`
`)}return s+=r,s+="}",s}function aB(t,e,r,i){let{next:n}=uie[r],s=n[t]||n["*"];return gie(e,s,i)}function gie(t,e,r){let{collapsed:i}=uie[e];return Array.isArray(t)?i?VYe(t,e,r):XYe(t,e,r):typeof t=="object"&&t!==null?i?ZYe(t,e,r):_Ye(t,e,r):JSON.stringify(t)}function fie(t){return gie(t,Dt.TOP_LEVEL,"")}function rd(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function $Ye(t){let e=new Map,r=rd(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function eje(t){return rd(t.fallbackPool||[],([e])=>e)}function tje(t){let e=[];for(let[r,i]of rd(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of rd(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of rd(a.entries(),([I])=>I))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function id(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:$Ye(t),fallbackPool:eje(t),packageRegistryData:tje(t)}}var die=te(pie());function Cie(t,e){return[t?`${t}
`:"",`/* eslint-disable */
`,`try {
`,` Object.freeze({}).detectStrictMode = true;
`,`} catch (error) {
`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`}
`,`
`,`var __non_webpack_module__ = module;
`,`
`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,e.replace(/^/gm," "),`}
`,`
`,(0,die.default)()].join("")}function rje(t){return JSON.stringify(t,null,2)}function ije(t){return[`return hydrateRuntimeState(${fie(t)}, {basePath: basePath || __dirname});
`].join("")}function nje(t){return[`var path = require('path');
`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)});
`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});
`].join("")}function mie(t){let e=id(t),r=ije(e);return Cie(t.shebang,r)}function Iie(t){let e=id(t),r=nje(t.dataLocation),i=Cie(t.shebang,r);return{dataFile:rje(e),loaderFile:i}}var wie=te(require("fs")),Aje=te(require("path")),Qie=te(require("util"));function QF(t,{basePath:e}){let r=T.toPortablePath(e),i=D.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:h},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return B||(B=D.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Ru=te(require("module")),Bie=te(yie()),DF=te(require("util"));var qt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(qt||(qt={}));var aje=new Set([qt.BUILTIN_NODE_RESOLUTION_FAILED,qt.MISSING_DEPENDENCY,qt.MISSING_PEER_DEPENDENCY,qt.QUALIFIED_PATH_RESOLUTION_FAILED,qt.UNDECLARED_DEPENDENCY]);function Pr(t,e,r={}){let i=aje.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(v({},n),{value:i}),pnpCode:V(v({},n),{value:t}),data:V(v({},n),{value:r})})}function Ba(t){return T.normalize(T.fromPortablePath(t))}function SF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ru.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let ce=t.packageRegistry.get(ie);if(ce)for(let Se of ce.keys()){if(Se===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:Se})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,ce){return{fn:ie,args:ce,error:null,result:null}}function y(ie){var pe,Qe,Z,X,ae,ue;let ce=(Z=(Qe=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:Qe.call(pe))!=null?Z:process.stdout.isTTY,Se=(Be,ct)=>`[${Be}m${ct}`,fe=ie.error;console.error(fe?Se("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):Se("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let Be of ie.args)console.error(` ${Se("37;1","In \u2190")} ${(0,DF.inspect)(Be,{colors:ce,compact:!0})}`);ie.result&&(console.error(),console.error(` ${Se("37;1","Out \u2192")} ${(0,DF.inspect)(ie.result,{colors:ce,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let Be of Ie)console.error(` ${Se("38;5;244",Be)}`)}console.error()}function B(ie,ce){if(e.allowDebug===!1)return ce;if(Number.isFinite(i)){if(i>=2)return(...Se)=>{let fe=I(ie,Se);try{return fe.result=ce(...Se)}catch(Ie){throw fe.error=Ie}finally{y(fe)}};if(i>=1)return(...Se)=>{try{return ce(...Se)}catch(fe){let Ie=I(ie,Se);throw Ie.error=fe,y(Ie),fe}}}return ce}function x(ie){let ce=W(ie);if(!ce)throw Pr(qt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ce}function F(ie){if(ie.name===null)return!0;for(let ce of t.dependencyTreeRoots)if(ce.name===ie.name&&ce.reference===ie.reference)return!0;return!1}function N(ie){let ce=H(D.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(ce===null)throw Pr(qt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=x(ce),fe=D.join(Se,xt.manifest);if(!e.fakeFs.existsSync(fe))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(fe,"utf8")),pe=D.contains(Se,ie);if(pe===null)throw Pr(qt.INTERNAL,"unqualifiedPath doesn't contain the packageLocatLine truncated
Require request: "${fe}"
Required by: ${Ie}
`,{request:fe,issuer:Ie});return T.toPortablePath(Z)}let pe,Qe=ie.match(o);if(Qe){if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let[,Z,X]=Qe,ae=H(ce);if(!ae){let Xt=J(ie,ce);if(Xt===!1)throw Pr(qt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
Require path: "${fe}"
Required by: ${Ie}
`,{request:fe,issuer:Ie});return T.toPortablePath(Xt)}let Be=x(ae).packageDependencies.get(Z),ct=null;if(Be==null&&ae.name!==null){let Xt=t.fallbackExclusionList.get(ae.name);if(!Xt||!Xt.has(ae.reference)){for(let zn=0,_u=g.length;zn<_u;++zn){let xs=x(g[zn]).packageDependencies.get(Z);if(xs!=null){r?ct=xs:Be=xs;break}}if(t.enableTopLevelFallback&&Be==null&&ct===null){let zn=t.fallbackPool.get(Z);zn!=null&&(ct=zn)}}}let mt=null;if(Be===null)if(F(ae))mt=Pr(qt.MISSING_PEER_DEPENDENCY,`Your application tried to access ${Z} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${Ie}
`,{request:fe,issuer:Ie,dependencyName:Z});else{let Xt=re(Z,ae);Xt.every(_i=>F(_i))?mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${ae.name}@${ae.reference} (via ${Ie})
${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference}
`).join("")}
`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt}):mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${ae.name}@${ae.reference} (via ${Ie})
${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference}
`).join("")}
`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt})}else Be===void 0&&(!Se&&s(ie)?F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${Ie}
`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${Ie}
`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${Ie}
`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: ${Z}${Z!==fe?` (via "${fe}")`:""}
Required by: ${ae.name}@${ae.reference} (via ${Ie})
`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(Be==null){if(ct===null||mt===null)throw mt||new Error("Assertion failed: Expected an error to have been set");Be=ct;let Xt=mt.message.replace(/\n.*/g,"");mt.message=Xt,!f.has(Xt)&&i!==0&&(f.add(Xt),process.emitWarning(mt))}let St=Array.isArray(Be)?{name:Be[0],reference:Be[1]}:{name:Z,reference:Be},xn=x(St);if(!xn.packageLocation)throw Pr(qt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
Required package: ${St.name}@${St.reference}${St.name!==fe?` (via "${fe}")`:""}
Required by: ${ae.name}@${ae.reference} (via ${Ie})
`,{request:fe,issuer:Ie,dependencyLocator:Object.assign({},St)});let Ii=xn.packageLocation;X?pe=D.join(Ii,X):pe=Ii}else if(D.isAbsolute(ie))pe=D.normalize(ie);else{if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let Z=D.resolve(ce);ce.match(l)?pe=D.normalize(D.join(Z,ie)):pe=D.normalize(D.join(D.dirname(Z),ie))}return D.normalize(pe)}function ve(ie,ce){if(a.test(ie))return ce;let Se=N(ce);return Se?D.normalize(Se):ce}function Ne(ie,{extensions:ce=Object.keys(Ru.Module._extensions)}={}){let Se=[],fe=O(ie,Se,{extensions:ce});if(fe)return D.normalize(fe);{let Ie=Ba(ie),pe=H(ie);if(pe){let{packageLocation:Qe}=x(pe);if(!e.fakeFs.existsSync(Qe)){let Z=Qe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`${Z}
Missing package: ${pe.name}@${pe.reference}
Expected package location: ${Ba(Qe)}
`,{unqualifiedPath:Ie})}}throw Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk.
Source path: ${Ie}
${Se.map(Qe=>`Not found: ${Ba(Qe)}
`).join("")}`,{unqualifiedPath:Ie})}}function Je(ie,ce,{considerBuiltins:Se,extensions:fe}={}){let Ie=R(ie,ce,{considerBuiltins:Se});if(Ie===null)return null;let pe=()=>ce!==null?oe(ce):!1,Qe=(!Se||!s(ie))&&!pe()?ve(ie,Ie):Ie;try{return Ne(Qe,{extensions:fe})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:Ba(ie),issuer:ce&&Ba(ce)}),Z}}function Ke(ie){let ce=D.normalize(ie),Se=ir.resolveVirtual(ce);return Se!==ce?Se:null}return{VERSIONS:K,topLevel:A,getLocator:(ie,ce)=>Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ie,reference:ce},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[ce,Se]of p)for(let fe of Se.keys())ce!==null&&fe!==null&&ie.push({name:ce,reference:fe});return ie},getPackageInformation:ie=>{let ce=W(ie);if(ce===null)return null;let Se=T.fromPortablePath(ce.packageLocation);return V(v({},ce),{packageLocation:Se})},findPackageLocator:ie=>H(T.toPortablePath(ie)),resolveToUnqualified:B("resolveToUnqualified",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=R(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveUnqualified:B("resolveUnqualified",(ie,ce)=>T.fromPortablePath(Ne(T.toPortablePath(ie),ce))),resolveRequest:B("resolveRequest",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=Je(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveVirtual:B("resolveVirtual",ie=>{let ce=Ke(T.toPortablePath(ie));return ce!==null?T.fromPortablePath(ce):null})}}var dCt=(0,Qie.promisify)(wie.readFile);var bie=(t,e,r)=>{let i=id(t),n=QF(i,{basePath:e}),s=T.join(e,xt.pnpCjs);return SF(n,{fakeFs:r,pnpapiResolution:s})};var wa={};et(wa,{checkAndReportManifestCompatibility:()=>Die,extractBuildScripts:()=>AB,getExtractHint:()=>xF,hasBindingGyp:()=>kF});function Die(t,e,r,{configuration:i,report:n}){return ze.isManifestFieldCompatible(e.manifest.os,process.platform)?ze.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${w.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${w.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function AB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Vi.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Vi.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==lt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${w.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${w.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${w.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Die(t,e,"build",{configuration:i,report:n})?s:[]}var lje=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function xF(t){return t.packageFs.getExtractHint({relevantExtensions:lje})}function kF(t){let e=D.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var vF={};et(vF,{getUnpluggedPath:()=>nd});function nd(t,{configuration:e}){return D.resolve(e.get("pnpUnpluggedFolder"),w.slugifyLocator(t))}var cje=new Set([w.makeIdent(null,"nan").identHash,w.makeIdent(null,"node-gyp").identHash,w.makeIdent(null,"node-pre-gyp").identHash,w.makeIdent(null,"node-addon-api").identHash,w.makeIdent(null,"fsevents").identHash]),fl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))throw new me(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:w.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return T.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(T.fromPortablePath(e));return s?w.makeLocator(w.parseIdent(s.name),s.Line truncated
`,n+=`# cause your node_modules installation to become invalidated.
`,n+=`
`,n+=`__metadata:
`,n+=` version: ${Oie}
`,n+=` nmMode: ${i}
`;let s=Array.from(e.keys()).sort(),o=w.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=`
`,n+=`${JSON.stringify(c)}:
`,n+=` locations:
`;for(let g of u.locations){let f=D.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)}
`}if(u.aliases.length>0){n+=` aliases:
`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)}
`}if(c===o&&r.size>0){n+=` bin:
`;for(let[g,f]of r){let h=D.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}:
`;for(let[p,m]of f){let I=D.relative(D.join(g,Fr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)}
`}}}}let a=t.cwd,l=D.join(a,Fr,Kie);await L.changeFilePromise(l,n,{automaticNewlines:!0})}async function UF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=D.join(r,Fr,Kie);if(!L.existsSync(i))return null;let n=Kr(await L.readFilePromise(i,"utf8"));if(n.__metadata.version>Oie)return null;let s=n.__metadata.nmMode||Ti.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>D.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=D.join(r,T.toPortablePath(f)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(h))m.set(rr(I),T.toPortablePath([p,Fr,y].join(D.delimiter)))}if(o.set(l,{target:we.dot,linkType:lt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=w.parseLocator(l),m=w.makeLocator(w.makeIdent(h,p),f),I=w.stringifyLocator(m);o.set(I,{target:we.dot,linkType:lt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Yie(o,{skipPrefix:t.cwd}),nmMode:s}}var Mu=async(t,e)=>{if(t.split(D.sep).indexOf(Fr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await L.lstatPromise(t)).isSymbolicLink()){await L.unlinkPromise(t);return}let r=await L.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=D.join(t,rr(i.name));i.isDirectory()?(i.name!==Fr||e&&e.innerLoop)&&await Mu(n,{innerLoop:!0,contentsOnly:!1}):await L.unlinkPromise(n)}e.contentsOnly||await L.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},jie=4,lB=(t,{skipPrefix:e})=>{let r=D.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(D.sep).filter(l=>l!==""),n=i.indexOf(Fr),s=i.slice(0,n).join(D.sep),o=D.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Yie=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:lt.HARD});for(let[n,s]of t.entries()){if(s.linkType===lt.SOFT&&D.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=lB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u<l.length;++u){let g=l[u];if(g!=="."){let f=de.getFactoryWithDefault(c.children,g,i);c.children.set(g,f),c=f}u===l.length-1&&(c.locator=n,c.linkType=s.linkType)}}}return r},HF=async(t,e)=>{let r;try{process.platform==="win32"&&(r=await L.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await L.symlinkPromise(t,e,"junction"):await L.symlinkPromise(D.relative(D.dirname(e),t),e)};async function Gie(t,e,r){let i=D.join(t,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));try{await L.writeFilePromise(i,r);try{await L.linkPromise(i,e)}catch(n){}}finally{await L.unlinkPromise(i)}}async function Lje({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Ti.HARDLINKS_GLOBAL&&i&&o){let l=D.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Di.checksumFile(l,{baseFs:L,algorithm:"sha1"})!==o){let g=D.join(i,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));await L.renamePromise(l,g);let f=await n.readFilePromise(t);await L.writeFilePromise(g,f);try{await L.linkPromise(g,l),await L.unlinkPromise(g)}catch(h){}}await L.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await Gie(i,l,u),await L.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await L.chmodPromise(e,a)}var ba;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(ba||(ba={}));var Mje=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await L.mkdirPromise(t,{recursive:!0});let o=async(l=we.dot)=>{let c=D.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=D.join(l,f.name),p,m=D.join(c,f.name);if(f.isFile()){if(p={kind:ba.FILE,mode:(await r.lstatPromise(m)).mode},n===Ti.HARDLINKS_GLOBAL){let I=await Di.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(f.isDirectory())p={kind:ba.DIRECTORY};else if(f.isSymbolicLink())p={kind:ba.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==Fr){let I=await o(h);for(let[y,B]of I)g.set(y,B)}}return g},a;if(n===Ti.HARDLINKS_GLOBAL&&i&&s){let l=D.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await L.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await Gie(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=D.join(e,l),g=D.join(t,l);c.kind===ba.DIRECTORY?await L.mkdirPromise(g,{recursive:!0}):c.kind===ba.FILE?await Lje({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===ba.SYMLINK&&await Line truncated
This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).
For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.
Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${MB.map(e=>`\`${e}\``).join(", ")}.
If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.
To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them.
`,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Xse=wd;var Zse=te(require("path")),VR=te(cr()),XR=te(require("util")),Qd=class extends ye{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${Zse.default.join(x.cwd,"package.json")}`);c=w.makeDescriptor(x.manifest.name,"unknown")}else c=w.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=ZR(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),f=Object.keys(g.versions).sort(VR.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=vt.validRange(c.range);if(m){let x=VR.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(v(v({},g),I),{version:p,versions:f}),B;if(i!==null){B={};for(let x of i){let F=y[x];if(typeof F!="undefined")B[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${w.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),B=y;a.reportJson(B),this.json||n.push(B)}});XR.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(`
`),this.context.stdout.write(`${(0,XR.inspect)(a,{depth:Infinity,colors:!0,compact:!1})}
`);return o.exitCode()}};Qd.paths=[["npm","info"]],Qd.usage=he.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info [email protected]"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var _se=Qd;function ZR(t){if(Array.isArray(t)){let e=[];for(let r of t)r=ZR(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=ZR(t[r]);i&&(e[r]=i)}return e}else return t||null}var $se=te(up()),bd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await $Je({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await _Je(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};bd.paths=[["npm","login"]],bd.usage=he.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var eoe=bd;async function TB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Jt.getScopeRegistry(t,{configuration:r,type:Jt.RegistryType.PUBLISH_REGISTRY}):t?Jt.getScopeRegistry(t,{configuration:r}):e?Jt.getPublishRegistry((await yu(r,i)).manifest,{configuration:r}):Jt.getDefaultRegistry({configuration:r})}async function _Je(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(v({},l),{[o]:V(v({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await le.updateHomeConfiguration(s)}async function $Je({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{userLine truncated
This command will list all tags of a package from the npm registry.
If the package is not specified, Yarn will default to the current workspace.
`,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var noe=xd;async function kd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var vd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseDescriptor(this.package,!0),s=n.range;if(!soe.default.valid(s))throw new me(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=Jt.getPublishRegistry(i.manifest,{configuration:e}),a=Ae.pretty(e,n,Ae.Type.IDENT),l=Ae.pretty(e,s,Ae.Type.RANGE),c=Ae.pretty(e,this.tag,Ae.Type.CODE);return(await xe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await kd(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};vd.paths=[["npm","tag","add"]],vd.usage=he.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:`
This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.
`,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add [email protected] beta"]]});var ooe=vd;var Pd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseIdent(this.package),s=Jt.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await kd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Pd.paths=[["npm","tag","remove"]],Pd.usage=he.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:`
This command will remove a tag from a package from the npm registry.
`,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var aoe=Pd;var Fd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Jt.getScopeRegistry(this.scope,{configuration:e,type:Jt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Jt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Jt.getPublishRegistry((await yu(e,this.context.cwd)).manifest,{configuration:e}):r=Jt.getDefaultRegistry({configuration:e}),(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?w.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Fd.paths=[["npm","whoami"]],Fd.usage=he.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Aoe=Fd;var rWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Xse,_se,eoe,roe,ioe,ooe,noe,aoe,Aoe]},iWe=rWe;var oN={};et(oN,{default:()=>IWe,patchUtils:()=>$R});var $R={};et($R,{applyPatchFile:()=>HB,diffFolders:()=>iN,extractPackageToDisk:()=>rN,extractPatchFlags:()=>doe,isParentRequired:()=>tN,loadPatchFiles:()=>Md,makeDescriptor:()=>dWe,makeLocator:()=>eN,parseDescriptor:()=>Nd,parseLocator:()=>Ld,parsePatchFile:()=>KB});var Rd=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var nWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Xu(t){return D.relative(we.root,D.resolve(we.root,T.toPortablePath(t)))}function sWe(t){let e=t.trim().match(nWe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var oWe=420,aWe=493,Ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Ar||(Ar={}));var loe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),AWe=t=>({header:sWe(t),parts:[]}),lWe={["@"]:"header",["-"]:Ar.Deletion,["+"]:Ar.Insertion,[" "]:Ar.Context,["\\"]:"pragma",undefined:Ar.Context};function uWe(t){let e=[],r=loe(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=loe()}for(let l=0;l<t.length;l++){let c=t[l];if(i==="parsing header")if(c.startsWith("@@"))i="parsing hunks",r.hunks=[],l-=1;else if(c.startsWith("diff --git ")){r&&r.diffLineFromPath&&a();let u=c.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!u)throw new Error(`Bad diff line: ${c}`);r.diffLineFromPath=u[1],r.diffLineToPath=u[2]}else if(c.startsWith("old mode "))r.oldMode=c.slice("old mode ".length).trim();else if(c.startsWith("new mode "))r.newMode=c.slice("new mode ".length).trim();else if(c.startsWith("deleted file mode "))r.deletedFileMode=c.slice("deleted file mode ".length).trim();else if(c.startsWith("new file mode "))r.newFileMode=c.slice("new file mode ".length).trim();else if(c.startsWith("rename from "))r.renameFrom=c.slice("rename from ".length).trim();else if(c.startsWith("rename to "))r.renameTo=c.slice("rename to ".length).trim();else if(c.startsWith("index ")){let u=c.match(/(\w+)\.\.(\w+)/);if(!u)continue;r.beforeHash=u[1],r.afterHash=u[2]}else c.startsWith("semver exclusivity ")?r.semverExclusivity=c.slice("semver exclusivity ".length).trim():c.startsWith Line truncated
`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":`
`):"";await e.mkdirpPromise(D.dirname(n.path),{chmod:493,utimes:[UB,UB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,UB,UB)}break;case"patch":await Zu(e,n.path,async()=>{await fWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(coe(n.newMode)!==coe(o))continue;await Zu(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function coe(t){return(t&64)>0}function uoe(t){return t.replace(/\s+$/,"")}function hWe(t,e){return uoe(t)===uoe(e)}async function fWe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),I=0,y=0,B=null;for(;I<=m;){if(I<=h&&(y=f-I,B=goe(g,o,y),B!==null)){I=-I;break}if(I<=p&&(y=f+I,B=goe(g,o,y),B!==null))break;I+=1}if(B===null)throw new Rd(t.indexOf(g),g);a.push(B),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(`
`),{mode:n})}function goe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Ar.Context:case Ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!hWe(o,s))return null;r+=1}n.type===Ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var pWe=/^builtin<([^>]+)>$/;function foe(t,e){let{source:r,selector:i,params:n}=w.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>T.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?w.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Nd(t){let i=foe(t.range,w.parseDescriptor),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceDescriptor:e})}function Ld(t){let i=foe(t.reference,w.parseLocator),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceLocator:e})}function hoe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:w.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return w.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:v(v(v({},a),l),o)})}function dWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,patchPaths:i},w.stringifyDescriptor))}function eN(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},w.stringifyLocator))}function poe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(pWe);return s!==null?r(s[1]):D.isAbsolute(i)?t(i):e(i)}function doe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function tN(t){return poe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Md(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=doe(o),l=await poe({onAbsolute:async()=>await L.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(D.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(v({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,`
`));return s}async function rN(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new Br,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await L.mktempPromise(),c=D.join(l,"source"),u=D.join(l,"user"),g=D.join(l,".yarn-patch.json");return await Promise.all([L.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),L.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),L.writeJsonPromise(g,{locator:w.stringifyLocator(t),version:i.version})]),L.detachTemp(l),u}async function iN(t,e){let r=T.fromPortablePath(t).replace(/\\/g,"/"),i=T.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Lr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:T.toPortablePath(process.cwd()),env:V(v({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
The following error was reported by 'git':
${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Coe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Ar.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var nN=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Ld(e),a=await Md(i,o,r),l=await L.mktempPromise(),c=D.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=w.getIdentVendorPath(e),f=await gi(),h=new Qr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await h.mkdirpPromise(g),await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),y=new yt(D.resolve(we.root,g),{baseFs:I});try{await HB(KB(p),{baseFs:y,version:s})}catch(B){if(!(B instanceof Rd))throw B;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${w.prettyLocator(r.project.configuration,e)}: ${B.message}${F}`,O=P=>{!x||Coe(B.hunk,{configuration:r.project.configuration,report:P})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:O});continue}else throw new _e(z.PATCH_HUNK_FAILED,N,O)}I.saveAndClose()}return new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var CWe=2,sN=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Nd(e);return n.every(s=>!tN(s))?e:w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Nd(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Nd(e),a=await Md(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Di.makeHash(`${CWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[eN(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Ld(e),n=await r.resolver.resolve(i,r);return v(v({},n),e)}};var Td=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=D.resolve(this.context.cwd,T.toPortablePath(this.patchFolder)),s=D.join(n,"../source"),o=D.join(n,"../.yarn-patch.json");if(!L.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await iN(s,n),l=await L.readJsonPromise(o),c=w.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=D.join(u,w.slugifyLocator(c));await L.mkdirPromise(u,{recursive:!0}),await L.writeFilePromise(g,a);let f=D.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:w.stringifyIdent(c),description:l.version}},reference:`patch:${w.stringifyLocator(c)}#${f}`}),await r.persist()}};Td.paths=[["patch-commit"]],Td.usage=he.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suiLine truncated
${o.map(a=>`
- ${w.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await rN(s,{cache:n,project:r});o.reportJson({locator:w.stringifyLocator(s),path:T.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${w.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,T.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${T.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Od.paths=[["patch"]],Od.usage=he.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var Ioe=Od;var mWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[moe,Ioe],fetchers:[nN],resolvers:[sN]},IWe=mWe;var jy=()=>({modules:new Map([["@yarnpkg/cli",ap],["@yarnpkg/core",Th],["@yarnpkg/fslib",kg],["@yarnpkg/libzip",Of],["@yarnpkg/parsers",Jf],["@yarnpkg/shell",zf],["clipanion",a6(Jg)],["semver",EWe],["typanion",Tl],["yup",yWe],["@yarnpkg/plugin-essentials",FP],["@yarnpkg/plugin-compat",MP],["@yarnpkg/plugin-dlx",TP],["@yarnpkg/plugin-file",JP],["@yarnpkg/plugin-git",iF],["@yarnpkg/plugin-github",sF],["@yarnpkg/plugin-http",AF],["@yarnpkg/plugin-init",gF],["@yarnpkg/plugin-link",CF],["@yarnpkg/plugin-nm",GF],["@yarnpkg/plugin-npm",WR],["@yarnpkg/plugin-npm-cli",_R],["@yarnpkg/plugin-pack",jR],["@yarnpkg/plugin-patch",oN],["@yarnpkg/plugin-pnp",FF]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});fy({binaryVersion:Er||"<unknown>",pluginConfiguration:jy()});})();
/*!
* buildToken
* Builds OAuth token prefix (helper function)
*
* @name buildToken
* @function
* @param {GitUrl} obj The parsed Git url object.
* @return {String} token prefix
*/
/*!
* fill-range <https://github.com/jonschlinkert/fill-range>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*!
* is-extglob <https://github.com/jonschlinkert/is-extglob>
*
* Copyright (c) 2014-2016, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*!
* is-glob <https://github.com/jonschlinkert/is-glob>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* is-number <https://github.com/jonschlinkert/is-number>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* is-windows <https://github.com/jonschlinkert/is-windows>
*
* Copyright © 2015-2018, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* to-regex-range <https://github.com/micromatch/to-regex-range>
*
* Copyright (c) 2015-present, Jon Schlinkert.
* Released under the MIT License.
*/
-1000
View File
@@ -1,1000 +0,0 @@
#!/usr/bin/env node
/* eslint-disable */
//prettier-ignore
(()=>{var QXe=Object.create;var A6=Object.defineProperty;var FXe=Object.getOwnPropertyDescriptor;var NXe=Object.getOwnPropertyNames;var OXe=Object.getPrototypeOf,LXe=Object.prototype.hasOwnProperty;var Ae=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var tt=(t,e)=>()=>(t&&(e=t(t=0)),e);var H=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),lr=(t,e)=>{for(var r in e)A6(t,r,{get:e[r],enumerable:!0})},_Xe=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of NXe(e))!LXe.call(t,a)&&a!==r&&A6(t,a,{get:()=>e[a],enumerable:!(s=FXe(e,a))||s.enumerable});return t};var st=(t,e,r)=>(r=t!=null?QXe(OXe(t)):{},_Xe(e||!t||!t.__esModule?A6(r,"default",{value:t,enumerable:!0}):r,t));var Oi={};lr(Oi,{SAFE_TIME:()=>bae,S_IFDIR:()=>fT,S_IFLNK:()=>hT,S_IFMT:()=>Rh,S_IFREG:()=>nS});var Rh,fT,nS,hT,bae,Dae=tt(()=>{Rh=61440,fT=16384,nS=32768,hT=40960,bae=456789e3});var vr={};lr(vr,{EBADF:()=>ha,EBUSY:()=>MXe,EEXIST:()=>VXe,EINVAL:()=>HXe,EISDIR:()=>qXe,ENOENT:()=>jXe,ENOSYS:()=>UXe,ENOTDIR:()=>GXe,ENOTEMPTY:()=>YXe,EOPNOTSUPP:()=>KXe,EROFS:()=>WXe,ERR_DIR_CLOSED:()=>p6});function ou(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function MXe(t){return ou("EBUSY",t)}function UXe(t,e){return ou("ENOSYS",`${t}, ${e}`)}function HXe(t){return ou("EINVAL",`invalid argument, ${t}`)}function ha(t){return ou("EBADF",`bad file descriptor, ${t}`)}function jXe(t){return ou("ENOENT",`no such file or directory, ${t}`)}function GXe(t){return ou("ENOTDIR",`not a directory, ${t}`)}function qXe(t){return ou("EISDIR",`illegal operation on a directory, ${t}`)}function VXe(t){return ou("EEXIST",`file already exists, ${t}`)}function WXe(t){return ou("EROFS",`read-only filesystem, ${t}`)}function YXe(t){return ou("ENOTEMPTY",`directory not empty, ${t}`)}function KXe(t){return ou("EOPNOTSUPP",`operation not supported, ${t}`)}function p6(){return ou("ERR_DIR_CLOSED","Directory handle was closed")}var AT=tt(()=>{});var Lc={};lr(Lc,{BigIntStatsEntry:()=>iw,DEFAULT_MODE:()=>m6,DirEntry:()=>d6,StatEntry:()=>nw,areStatsEqual:()=>y6,clearStats:()=>pT,convertToBigIntStats:()=>JXe,makeDefaultStats:()=>Pae,makeEmptyStats:()=>zXe});function Pae(){return new nw}function zXe(){return pT(Pae())}function pT(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):g6.types.isDate(r)&&(t[e]=new Date(0))}return t}function JXe(t){let e=new iw;for(let r in t)if(Object.hasOwn(t,r)){let s=t[r];typeof s=="number"?e[r]=BigInt(Math.floor(s)):g6.types.isDate(s)&&(e[r]=new Date(s))}return e.atimeNs=e.atimeMs*BigInt(1e6)+BigInt(Math.floor(t.atimeMs%1*1e3))*BigInt(1e3),e.mtimeNs=e.mtimeMs*BigInt(1e6)+BigInt(Math.floor(t.mtimeMs%1*1e3))*BigInt(1e3),e.ctimeNs=e.ctimeMs*BigInt(1e6)+BigInt(Math.floor(t.ctimeMs%1*1e3))*BigInt(1e3),e.birthtimeNs=e.birthtimeMs*BigInt(1e6)+BigInt(Math.floor(t.birthtimeMs%1*1e3))*BigInt(1e3),e}function y6(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,s=e;return!(r.atimeNs!==s.atimeNs||r.mtimeNs!==s.mtimeNs||r.ctimeNs!==s.ctimeNs||r.birthtimeNs!==s.birthtimeNs)}var g6,m6,d6,nw,iw,E6=tt(()=>{g6=st(Ae("util")),m6=33188,d6=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},nw=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=m6;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},iw=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);thisLine truncated
`).length,s=e.length-r;return r>s?`\r
`:`
`}function ty(t,e){return e.replace(/\r?\n/g,l$e(t))}var Lae,_ae,Sp,Th,ry=tt(()=>{Lae=Ae("crypto"),_ae=Ae("os");C6();_c();Sp=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let s=[e];for(;s.length>0;){let a=s.shift();if((await this.lstatPromise(a)).isDirectory()){let l=await this.readdirPromise(a);if(r)for(let f of l.sort())s.push(this.pathUtils.join(a,f));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let s=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),l=(0,Lae.createHash)(r),f=0;for(;(f=await this.readPromise(s,n,0,65536))!==0;)l.update(f===65536?n:n.slice(0,f));return l.digest("hex")}finally{await this.closePromise(s)}}async removePromise(e,{recursive:r=!0,maxRetries:s=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(l=>this.removePromise(this.pathUtils.resolve(e,l))))}for(let n=0;n<=s;n++)try{await this.rmdirPromise(e);break}catch(l){if(l.code!=="EBUSY"&&l.code!=="ENOTEMPTY")throw l;n<s&&await new Promise(f=>setTimeout(f,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let s;try{s=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let l=2;l<=a.length;++l){let f=a.slice(0,l).join(this.pathUtils.sep);if(!this.existsSync(f)){try{await this.mkdirPromise(f)}catch(h){if(h.code==="EEXIST")continue;throw h}if(n??=f,r!=null&&await this.chmodPromise(f,r),s!=null)await this.utimesPromise(f,s[0],s[1]);else{let h=await this.statPromise(this.pathUtils.dirname(f));await this.utimesPromise(f,h.atime,h.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let l=2;l<=a.length;++l){let f=a.slice(0,l).join(this.pathUtils.sep);if(!this.existsSync(f)){try{this.mkdirSync(f)}catch(h){if(h.code==="EEXIST")continue;throw h}if(n??=f,r!=null&&this.chmodSync(f,r),s!=null)this.utimesSync(f,s[0],s[1]);else{let h=this.statSync(this.pathUtils.dirname(f));this.utimesSync(f,h.atime,h.mtime)}}}return n}async copyPromise(e,r,{baseFs:s=this,overwrite:a=!0,stableSort:n=!1,stableTime:l=!1,linkStrategy:f=null}={}){return await Rae(this,e,s,r,{overwrite:a,stableSort:n,stableTime:l,linkStrategy:f})}copySync(e,r,{baseFs:s=this,overwrite:a=!0}={}){let n=s.lstatSync(r),l=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let h=s.readdirSync(r);for(let A of h)this.copySync(this.pathUtils.join(e,A),s.pathUtils.join(r,A),{baseFs:s,overwrite:a})}else if(n.isFile()){if(!l||a){l&&this.removeSync(e);let h=s.readFileSync(r);this.writeFileSync(e,h)}}else if(n.isSymbolicLink()){if(!l||a){l&&this.removeSync(e);let h=s.readlinkSync(r);this.symlinkSync(dT(this.pathUtils,h),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let f=n.mode&511;this.chmodSync(e,f)}async changeFilePromise(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,s):this.changeFileTextPromise(e,r,s)}async changeFileBufferPromise(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:s})}async changeFileTextPromise(e,r,{automaticNewlines:s,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let l=s?ty(n,r):r;n!==l&&await this.writeFilePromise(e,l,{mode:a})}changeFileSync(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,s):this.changeFileTextSync(e,r,s)}changeFileBufferSync(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:s})}changeFileTextSync(e,r,{automaticNewlines:s=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let l=s?ty(n,r):r;n!==l&&this.writeFileSync(e,l,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(s){if(s.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw s}}moveSync(e,r){try{this.renameSync(e,r)}catch(s){if(s.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw s}}async lockPromise(e,r){let s=`${e}.flock`,a=1e3/60,n=Date.now(),l=null,f=async()=>{let h;try{[h]=await this.readJsonPromise(s)}catch{return Date.now()-n<500}try{return process.kill(h,0),!0}catch{return!1}};for(;l===null;)try{l=await this.openPromise(s,"wx")}catch(h){if(h.code==="EEXIST"){if(!await f())try{await this.unlinkPromise(s);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(A=>setTimeout(A,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${s})`)}else Line truncated
`)}writeJsonSync(e,r,{compact:s=!1}={}){let a=s?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)}
`)}async preserveTimePromise(e,r){let s=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,s.atime,s.mtime)}async preserveTimeSync(e,r){let s=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,s.atime,s.mtime)}},Th=class extends Sp{constructor(){super(Y)}}});var fo,bp=tt(()=>{ry();fo=class extends Sp{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,s){return this.baseFs.openPromise(this.mapToBase(e),r,s)}openSync(e,r,s){return this.baseFs.openSync(this.mapToBase(e),r,s)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,s,a,n){return await this.baseFs.readPromise(e,r,s,a,n)}readSync(e,r,s,a,n){return this.baseFs.readSync(e,r,s,a,n)}async writePromise(e,r,s,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,s):await this.baseFs.writePromise(e,r,s,a,n)}writeSync(e,r,s,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,s):this.baseFs.writeSync(e,r,s,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,s){return this.baseFs.fchownPromise(e,r,s)}fchownSync(e,r,s){return this.baseFs.fchownSync(e,r,s)}async chownPromise(e,r,s){return this.baseFs.chownPromise(this.mapToBase(e),r,s)}chownSync(e,r,s){return this.baseFs.chownSync(this.mapToBase(e),r,s)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,s=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),s)}copyFileSync(e,r,s=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),s)}async appendFilePromise(e,r,s){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,s)}appendFileSync(e,r,s){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,s)}async writeFilePromise(e,r,s){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,s)}writeFileSync(e,r,s){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,s)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,s){return this.baseFs.utimesPromise(this.mapToBase(e),r,s)}utimesSync(e,r,s){return this.baseFs.utimesSync(this.mapToBase(e),r,s)}async lutimesPromise(e,r,s){return this.baseFs.lutimesPromise(this.mapToBase(e),r,s)}lutimesSync(e,r,s){return this.baseFs.lutimesSync(this.mapToBase(e),r,s)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),l=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkP Line truncated
`,La=Pr(`\\
`,!1),HA=function(){return""},Ma="\\",Ua=Pr("\\",!1),jA=/^[\\$"`]/,Fr=ws(["\\","$",'"',"`"],!1,!1),Zo=function(O){return O},Ec="\\a",Ge=Pr("\\a",!1),Hr=function(){return"a"},oh="\\b",GA=Pr("\\b",!1),qA=function(){return"\b"},Zu=/^[Ee]/,Xu=ws(["E","e"],!1,!1),Vl=function(){return"\x1B"},ve="\\f",Jt=Pr("\\f",!1),Wl=function(){return"\f"},as="\\n",To=Pr("\\n",!1),Vt=function(){return`
`},ei="\\r",Ha=Pr("\\r",!1),As=function(){return"\r"},cs="\\t",Ic=Pr("\\t",!1),Un=function(){return" "},Ei="\\v",$u=Pr("\\v",!1),Ud=function(){return"\v"},wc=/^[\\'"?]/,Cc=ws(["\\","'",'"',"?"],!1,!1),Bc=function(O){return String.fromCharCode(parseInt(O,16))},it="\\x",vc=Pr("\\x",!1),ah="\\u",Yl=Pr("\\u",!1),Yn="\\U",ja=Pr("\\U",!1),VA=function(O){return String.fromCodePoint(parseInt(O,16))},WA=/^[0-7]/,Ga=ws([["0","7"]],!1,!1),ll=/^[0-9a-fA-f]/,rr=ws([["0","9"],["a","f"],["A","f"]],!1,!1),ti=fh(),qa="{}",Sc=Pr("{}",!1),ks=function(){return"{}"},Kl="-",ef=Pr("-",!1),zl="+",bc=Pr("+",!1),ls=".",Ys=Pr(".",!1),ul=function(O,J,se){return{type:"number",value:(O==="-"?-1:1)*parseFloat(J.join("")+"."+se.join(""))}},ch=function(O,J){return{type:"number",value:(O==="-"?-1:1)*parseInt(J.join(""))}},Jl=function(O){return{type:"variable",...O}},zi=function(O){return{type:"variable",name:O}},ri=function(O){return O},Zl="*",et=Pr("*",!1),dt="/",_t=Pr("/",!1),Sr=function(O,J,se){return{type:J==="*"?"multiplication":"division",right:se}},ne=function(O,J){return J.reduce((se,Ie)=>({left:se,...Ie}),O)},Be=function(O,J,se){return{type:J==="+"?"addition":"subtraction",right:se}},_e="$((",bt=Pr("$((",!1),xt="))",jt=Pr("))",!1),Ir=function(O){return O},Nn="$(",Qi=Pr("$(",!1),ps=function(O){return O},ni="${",Dc=Pr("${",!1),mI=":-",Iv=Pr(":-",!1),Xo=function(O,J){return{name:O,defaultValue:J}},yI=":-}",Hd=Pr(":-}",!1),wv=function(O){return{name:O,defaultValue:[]}},$o=":+",jd=Pr(":+",!1),Gd=function(O,J){return{name:O,alternativeValue:J}},tf=":+}",qd=Pr(":+}",!1),gm=function(O){return{name:O,alternativeValue:[]}},mm=function(O){return{name:O}},ym="$",EI=Pr("$",!1),lh=function(O){return e.isGlobPattern(O)},ea=function(O){return O},fl=/^[a-zA-Z0-9_]/,Vd=ws([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Em=function(){return BI()},hl=/^[$@*?#a-zA-Z0-9_\-]/,Al=ws(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),II=/^[()}<>$|&; \t"']/,YA=ws(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),wI=/^[<>&; \t"']/,CI=ws(["<",">","&",";"," "," ",'"',"'"],!1,!1),KA=/^[ \t]/,zA=ws([" "," "],!1,!1),K=0,Gt=0,JA=[{line:1,column:1}],ta=0,uh=[],Dt=0,rf;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function BI(){return t.substring(Gt,K)}function Im(){return hh(Gt,K)}function Cv(O,J){throw J=J!==void 0?J:hh(Gt,K),ZA([wm(O)],t.substring(Gt,K),J)}function Wd(O,J){throw J=J!==void 0?J:hh(Gt,K),Ui(O,J)}function Pr(O,J){return{type:"literal",text:O,ignoreCase:J}}function ws(O,J,se){return{type:"class",parts:O,inverted:J,ignoreCase:se}}function fh(){return{type:"any"}}function Pc(){return{type:"end"}}function wm(O){return{type:"other",description:O}}function nf(O){var J=JA[O],se;if(J)return J;for(se=O-1;!JA[se];)se--;for(J=JA[se],J={line:J.line,column:J.column};se<O;)t.charCodeAt(se)===10?(J.line++,J.column=1):J.column++,se++;return JA[O]=J,J}function hh(O,J){var se=nf(O),Ie=nf(J);return{start:{offset:O,line:se.line,column:se.column},end:{offset:J,line:Ie.line,column:Ie.column}}}function Qt(O){K<ta||(K>ta&&(ta=K,uh=[]),uh.push(O))}function Ui(O,J){return new sy(O,null,null,J)}function ZA(O,J,se){return new sy(sy.buildMessage(O,J),O,J,se)}function xc(){var O,J,se;for(O=K,J=[],se=qt();se!==r;)J.push(se),se=qt();return J!==r?(se=Va(),se===r&&(se=null),se!==r?(Gt=O,J=n(se),O=J):(K=O,O=r)):(K=O,O=r),O}function Va(){var O,J,se,Ie,Xe;if(O=K,J=Yd(),J!==r){for(se=[],Ie=qt();Ie!==r;)se.push(Ie),Ie=qt();se!==r?(Ie=Cm(),Ie!==r?(Xe=kc(),Xe===r&&(Xe=null),Xe!==r?(Gt=O,J=l(J,Ie,Xe),O=J):(K=O,O=r)):(K=O,O=r)):(K=O,O=r)}else K=O,O=r;if(O===r)if(O=K,J=Yd(),J!==r){for(se=[],Ie=qt();Ie!==r;)se.push(Ie),Ie=qt();se!==r?(Ie=Cm(),Ie===r&&(Ie=null),Ie!==r?(Gt=O,J=f(J,Ie),O=J):(K=O,O=r)):(K=O,O=r)}else K=O,O=r;return O}function kc(){var O,J,se,Ie,Xe;for(O=K,J=[],se=qt();se!==r;)J.push(se),se=qt();if(J!==r)if(se=Va(),se!==r){for(Ie=[],Xe=qt();Xe!==r;)Ie.push(Xe),Xe=qt();Ie!==r?(Gt=O,J=h(se),O=J):(K=O,O=r)}else K=O,O=r;else K=O,O=r;return O}function Cm(){var O;return t.charCodeAt(K)===59?(O=A,K++):(O=r,Dt===0&&Qt(m)),O===r&&(t.charCodeAt(K)===38?(O=w,K++):(O=r,Dt===0&&Qt(v))),O}function Yd(){var O,J,se;return O=K,J=XA(),J!==r?(se=Bm(),se===r&&(se=null),se!==r?(Gt=O,J=D(J,se),O=J):(K=O,O=r)):(K=O,O=r),O}function Bm(){var O,J,se,Ie,Xe,It,Nr;for(O=K,J=[],se=qt();se!==r;)J.push(se),se=qt();if(J!==r)if(se=vI(),se!==r){for(Ie=[],Xe=qt();Xe!==r;)Ie.push(Xe),Xe=qt();if(Ie!==r)if(Xe=Yd(),Xe!==r){for(It=[],Nr=qt();Nr!==r;)It.push(Nr),Nr=qt();It!==r?(Gt=O,J=I(se,Xe),O=J):(K=O,O=r)}else K=O,O=r;else K=O,O=r}else K=O,O=r;else K=O,O=r;return O}function vI(){var O;return t.substr(K,2)===R?(O=R,K+=2):(O=r,Dt===0&&Qt(N)),O===r&&(t.substr(K,2)===U?(O=U,K+=2):(O=r,Dt===0&&Qt(V))),O}function XA(){var O,J,se;return O=K,J=Ah(),J!==r?(se=vm(),se===r&&(se=null),se!==r?(Gt=O,J=ee(J,se),O=J):(K=O,O=r)):(K=O,O=r),O}function vm(){var O,J,se,Ie,Xe,It,Nr;for(O=K,J=[],se=qt();se!==r;)J.push(se),se=qt();if(J!==r)Line truncated
`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),j$e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(tle,([t,e])=>[t,`"$'${e}'"`])]),rle=t=>tle.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,G$e=t=>j$e.get(t)??`"$'${rle(t)}'"`});var sle=H((uqt,ile)=>{"use strict";function q$e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ay(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ay)}q$e(ay,Error);ay.buildMessage=function(t,e){var r={literal:function(A){return'"'+a(A.text)+'"'},class:function(A){var m="",w;for(w=0;w<A.parts.length;w++)m+=A.parts[w]instanceof Array?n(A.parts[w][0])+"-"+n(A.parts[w][1]):n(A.parts[w]);return"["+(A.inverted?"^":"")+m+"]"},any:function(A){return"any character"},end:function(A){return"end of input"},other:function(A){return A.description}};function s(A){return A.charCodeAt(0).toString(16).toUpperCase()}function a(A){return A.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+s(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+s(m)})}function n(A){return A.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+s(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+s(m)})}function l(A){return r[A.type](A)}function f(A){var m=new Array(A.length),w,v;for(w=0;w<A.length;w++)m[w]=l(A[w]);if(m.sort(),m.length>0){for(w=1,v=1;w<m.length;w++)m[w-1]!==m[w]&&(m[v]=m[w],v++);m.length=v}switch(m.length){case 1:return m[0];case 2:return m[0]+" or "+m[1];default:return m.slice(0,-1).join(", ")+", or "+m[m.length-1]}}function h(A){return A?'"'+a(A)+'"':"end of input"}return"Expected "+f(t)+" but "+h(e)+" found."};function V$e(t,e){e=e!==void 0?e:{};var r={},s={resolution:Fe},a=Fe,n="/",l=Ce("/",!1),f=function(Me,x){return{from:Me,descriptor:x}},h=function(Me){return{descriptor:Me}},A="@",m=Ce("@",!1),w=function(Me,x){return{fullName:Me,description:x}},v=function(Me){return{fullName:Me}},D=function(){return xe()},I=/^[^\/@]/,R=Ee(["/","@"],!0,!1),N=/^[^\/]/,U=Ee(["/"],!0,!1),V=0,ee=0,te=[{line:1,column:1}],ie=0,ae=[],ge=0,de;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function xe(){return t.substring(ee,V)}function we(){return ot(ee,V)}function d(Me,x){throw x=x!==void 0?x:ot(ee,V),Ne([De(Me)],t.substring(ee,V),x)}function be(Me,x){throw x=x!==void 0?x:ot(ee,V),rt(Me,x)}function Ce(Me,x){return{type:"literal",text:Me,ignoreCase:x}}function Ee(Me,x,C){return{type:"class",parts:Me,inverted:x,ignoreCase:C}}function he(){return{type:"any"}}function $(){return{type:"end"}}function De(Me){return{type:"other",description:Me}}function Te(Me){var x=te[Me],C;if(x)return x;for(C=Me-1;!te[C];)C--;for(x=te[C],x={line:x.line,column:x.column};C<Me;)t.charCodeAt(C)===10?(x.line++,x.column=1):x.column++,C++;return te[Me]=x,x}function ot(Me,x){var C=Te(Me),P=Te(x);return{start:{offset:Me,line:C.line,column:C.column},end:{offset:x,line:P.line,column:P.column}}}function j(Me){V<ie||(V>ie&&(ie=V,ae=[]),ae.push(Me))}function rt(Me,x){return new ay(Me,null,null,x)}function Ne(Me,x,C){return new ay(ay.buildMessage(Me,x),Me,x,C)}function Fe(){var Me,x,C,P;return Me=V,x=Pe(),x!==r?(t.charCodeAt(V)===47?(C=n,V++):(C=r,ge===0&&j(l)),C!==r?(P=Pe(),P!==r?(ee=Me,x=f(x,P),Me=x):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,x=Pe(),x!==r&&(ee=Me,x=h(x)),Me=x),Me}function Pe(){var Me,x,C,P;return Me=V,x=He(),x!==r?(t.charCodeAt(V)===64?(C=A,V++):(C=r,ge===0&&j(m)),C!==r?(P=ft(),P!==r?(ee=Me,x=w(x,P),Me=x):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,x=He(),x!==r&&(ee=Me,x=v(x)),Me=x),Me}function He(){var Me,x,C,P,E;return Me=V,t.charCodeAt(V)===64?(x=A,V++):(x=r,ge===0&&j(m)),x!==r?(C=Qe(),C!==r?(t.charCodeAt(V)===47?(P=n,V++):(P=r,ge===0&&j(l)),P!==r?(E=Qe(),E!==r?(ee=Me,x=D(),Me=x):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,x=Qe(),x!==r&&(ee=Me,x=D()),Me=x),Me}function Qe(){var Me,x,C;if(Me=V,x=[],I.test(t.charAt(V))?(C=t.charAt(V),V++):(C=r,ge===0&&j(R)),C!==r)for(;C!==r;)x.push(C),I.test(t.charAt(V))?(C=t.charAt(V),V++):(C=r,ge===0&&j(R));else x=r;return x!==r&&(ee=Me,x=D()),Me=x,Me}function ft(){var Me,x,C;if(Me=V,x=[],N.test(t.charAt(V))?(C=t.charAt(V),V++):(C=r,ge===0&&j(U)),C!==r)for(;C!==r;)x.push(C),N.test(t.charAt(V))?(C=t.charAt(V),V++):(C=r,ge===0&&j(U));else x=r;return x!==r&&(ee=Me,x=D()),Me=x,Me}if(de=a(),de!==r&&V===t.length)return de;throw de!==r&&V<t.length&&j($()),Ne(ae,ie<t.length?t.charAt(ie):null,ie<t.length?ot(ie,ie+1):ot(ie,ie))}ile.exports={SyntaxError:ay,parse:V$e}});function kT(t){let e=t.match(/^\*{1,Line truncated
`+r.mark.snippet),n+" "+a):n}function e(r,s){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=s,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e.prototype.toString=function(s){return this.name+": "+t(this,s)},j6=e,j6}function Y$e(){if(ule)return G6;ule=1;let t=uS();function e(a,n,l,f,h){let A="",m="",w=Math.floor(h/2)-1;return f-n>w&&(A=" ... ",n=f-w+A.length),l-f>w&&(m=" ...",l=f+w-m.length),{str:A+a.slice(n,l).replace(/\t/g,"\u2192")+m,pos:f-n+A.length}}function r(a,n){return t.repeat(" ",n-a.length)+a}function s(a,n){if(n=Object.create(n||null),!a.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);let l=/\r?\n|\r|\0/g,f=[0],h=[],A,m=-1;for(;A=l.exec(a.buffer);)h.push(A.index),f.push(A.index+A[0].length),a.position<=A.index&&m<0&&(m=f.length-2);m<0&&(m=f.length-1);let w="",v=Math.min(a.line+n.linesAfter,h.length).toString().length,D=n.maxLength-(n.indent+v+3);for(let R=1;R<=n.linesBefore&&!(m-R<0);R++){let N=e(a.buffer,f[m-R],h[m-R],a.position-(f[m]-f[m-R]),D);w=t.repeat(" ",n.indent)+r((a.line-R+1).toString(),v)+" | "+N.str+`
`+w}let I=e(a.buffer,f[m],h[m],a.position,D);w+=t.repeat(" ",n.indent)+r((a.line+1).toString(),v)+" | "+I.str+`
`,w+=t.repeat("-",n.indent+v+3+I.pos)+`^
`;for(let R=1;R<=n.linesAfter&&!(m+R>=h.length);R++){let N=e(a.buffer,f[m+R],h[m+R],a.position-(f[m]-f[m+R]),D);w+=t.repeat(" ",n.indent)+r((a.line+R+1).toString(),v)+" | "+N.str+`
`}return w.replace(/\n$/,"")}return G6=s,G6}function Za(){if(fle)return q6;fle=1;let t=fS(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],r=["scalar","sequence","mapping"];function s(n){let l={};return n!==null&&Object.keys(n).forEach(function(f){n[f].forEach(function(h){l[String(h)]=f})}),l}function a(n,l){if(l=l||{},Object.keys(l).forEach(function(f){if(e.indexOf(f)===-1)throw new t('Unknown option "'+f+'" is met in definition of "'+n+'" YAML type.')}),this.options=l,this.tag=n,this.kind=l.kind||null,this.resolve=l.resolve||function(){return!0},this.construct=l.construct||function(f){return f},this.instanceOf=l.instanceOf||null,this.predicate=l.predicate||null,this.represent=l.represent||null,this.representName=l.representName||null,this.defaultStyle=l.defaultStyle||null,this.multi=l.multi||!1,this.styleAliases=s(l.styleAliases||null),r.indexOf(this.kind)===-1)throw new t('Unknown kind "'+this.kind+'" is specified for "'+n+'" YAML type.')}return q6=a,q6}function Qle(){if(hle)return V6;hle=1;let t=fS(),e=Za();function r(n,l){let f=[];return n[l].forEach(function(h){let A=f.length;f.forEach(function(m,w){m.tag===h.tag&&m.kind===h.kind&&m.multi===h.multi&&(A=w)}),f[A]=h}),f}function s(){let n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function l(f){f.multi?(n.multi[f.kind].push(f),n.multi.fallback.push(f)):n[f.kind][f.tag]=n.fallback[f.tag]=f}for(let f=0,h=arguments.length;f<h;f+=1)arguments[f].forEach(l);return n}function a(n){return this.extend(n)}return a.prototype.extend=function(l){let f=[],h=[];if(l instanceof e)h.push(l);else if(Array.isArray(l))h=h.concat(l);else if(l&&(Array.isArray(l.implicit)||Array.isArray(l.explicit)))l.implicit&&(f=f.concat(l.implicit)),l.explicit&&(h=h.concat(l.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");f.forEach(function(m){if(!(m instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(m.loadKind&&m.loadKind!=="scalar")throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(m.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),h.forEach(function(m){if(!(m instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let A=Object.create(a.prototype);return A.implicit=(this.implicit||[]).concat(f),A.explicit=(this.explicit||[]).concat(h),A.compiledImplicit=r(A,"implicit"),A.compiledExplicit=r(A,"explicit"),A.compiledTypeMap=s(A.compiledImplicit,A.compiledExplicit),A},V6=a,V6}function Fle(){if(Ale)return W6;Ale=1;let t=Za();return W6=new t("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),W6}function Nle(){if(ple)return Y6;ple=1;let t=Za();return Y6=new t("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Y6}function Ole(){if(dle)return K6;dle=1;let t=Za();return K6=new t("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),K6}function Lle(){if(gle)return z6;gle=1;let t=Qle();return z6=new t({explicit:[Fle(),Nle(),Ole()]}),z6}function _le(){if(mle)return J6;mle=1;let t=Za();function e(a){if(a===null)return!0;let n=a.length;return n===1&&a==="~"||n===4&&(a==="null"||a==="Null"||a==="NULL")}function r(){return null}function s(a){return a===null}return J6=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:r,predicate:s,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),J6}function Mle(){if(yle)return Z6;yle=1;let t=Za();function e(a){if(a===null)return!1;let n=a.length;return n===4&&(a==="true"||a==="True"||a==="TRUE")||n===5&&(a==="false"||a==="False"||a==="FALSE")}function r(a){return a==="true"||a==="True"||a==="TRUE"}function s(a){return Object.prototype.toString.call(a)==="[object Boolean]"}return Z6=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:r,predicate:s,represent:{lowercase:function(a){return a?"true":"false"},uppercase:function(a){return a?"TRUE":"FALSE"},camelcase:function(a){return a?"True":"False"}},defaultStyle:"lowercase"}),Z6}function Ule(){if(Ele)return X6;Ele=1;let t=uS(),e=Za();function r(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function s(A){return A>=48&&A<=55}function a(A){return A>=48&&A<=57}function n(A){if(A===null)return!1;let m=A.length,w=0,v=!1;if(!m)return!1;let D=A[w];if((D==="-"||D==="+")&&(D=A[++w]),D==="0"){if(w+1===m)return!0;if(D=A[++w],D==="b"){for(w++;w<m;w++){if(D=A[w],D!=="0"&&D!=="1")return!1;v=!0}return v&&isFinite(l(A))}if(D==="x"){for(w++;w<m;w++){if(!r(A.cha Line truncated
\r`;function r(l){if(l===null)return!1;let f=0,h=l.length,A=e;for(let m=0;m<h;m++){let w=A.indexOf(l.charAt(m));if(!(w>64)){if(w<0)return!1;f+=6}}return f%8===0}function s(l){let f=l.replace(/[\r\n=]/g,""),h=f.length,A=e,m=0,w=[];for(let D=0;D<h;D++)D%4===0&&D&&(w.push(m>>16&255),w.push(m>>8&255),w.push(m&255)),m=m<<6|A.indexOf(f.charAt(D));let v=h%4*6;return v===0?(w.push(m>>16&255),w.push(m>>8&255),w.push(m&255)):v===18?(w.push(m>>10&255),w.push(m>>2&255)):v===12&&w.push(m>>4&255),new Uint8Array(w)}function a(l){let f="",h=0,A=l.length,m=e;for(let v=0;v<A;v++)v%3===0&&v&&(f+=m[h>>18&63],f+=m[h>>12&63],f+=m[h>>6&63],f+=m[h&63]),h=(h<<8)+l[v];let w=A%3;return w===0?(f+=m[h>>18&63],f+=m[h>>12&63],f+=m[h>>6&63],f+=m[h&63]):w===2?(f+=m[h>>10&63],f+=m[h>>4&63],f+=m[h<<2&63],f+=m[64]):w===1&&(f+=m[h>>2&63],f+=m[h<<4&63],f+=m[64],f+=m[64]),f}function n(l){return Object.prototype.toString.call(l)==="[object Uint8Array]"}return iH=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:s,predicate:n,represent:a}),iH}function Yle(){if(ble)return sH;ble=1;let t=Za(),e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;function s(n){if(n===null)return!0;let l=[],f=n;for(let h=0,A=f.length;h<A;h+=1){let m=f[h],w=!1;if(r.call(m)!=="[object Object]")return!1;let v;for(v in m)if(e.call(m,v))if(!w)w=!0;else return!1;if(!w)return!1;if(l.indexOf(v)===-1)l.push(v);else return!1}return!0}function a(n){return n!==null?n:[]}return sH=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:s,construct:a}),sH}function Kle(){if(Dle)return oH;Dle=1;let t=Za(),e=Object.prototype.toString;function r(a){if(a===null)return!0;let n=a,l=new Array(n.length);for(let f=0,h=n.length;f<h;f+=1){let A=n[f];if(e.call(A)!=="[object Object]")return!1;let m=Object.keys(A);if(m.length!==1)return!1;l[f]=[m[0],A[m[0]]]}return!0}function s(a){if(a===null)return[];let n=a,l=new Array(n.length);for(let f=0,h=n.length;f<h;f+=1){let A=n[f],m=Object.keys(A);l[f]=[m[0],A[m[0]]]}return l}return oH=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:s}),oH}function zle(){if(Ple)return aH;Ple=1;let t=Za(),e=Object.prototype.hasOwnProperty;function r(a){if(a===null)return!0;let n=a;for(let l in n)if(e.call(n,l)&&n[l]!==null)return!1;return!0}function s(a){return a!==null?a:{}}return aH=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:s}),aH}function uH(){return xle||(xle=1,cH=Gle().extend({implicit:[qle(),Vle()],explicit:[Wle(),Yle(),Kle(),zle()]})),cH}function K$e(){if(kle)return TT;kle=1;let t=uS(),e=fS(),r=Y$e(),s=uH(),a=Object.prototype.hasOwnProperty,n=1,l=2,f=3,h=4,A=1,m=2,w=3,v=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,D=/[\x85\u2028\u2029]/,I=/[,\[\]{}]/,R=/^(?:!|!!|![0-9A-Za-z-]+!)$/,N=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function U(_){return Object.prototype.toString.call(_)}function V(_){return _===10||_===13}function ee(_){return _===9||_===32}function te(_){return _===9||_===32||_===10||_===13}function ie(_){return _===44||_===91||_===93||_===123||_===125}function ae(_){if(_>=48&&_<=57)return _-48;let Ue=_|32;return Ue>=97&&Ue<=102?Ue-97+10:-1}function ge(_){return _===120?2:_===117?4:_===85?8:0}function de(_){return _>=48&&_<=57?_-48:-1}function xe(_){switch(_){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function we(_){return _<=65535?String.fromCharCode(_):String.fromCharCode((_-65536>>10)+55296,(_-65536&1023)+56320)}function d(_,Ue,lt){Ue==="__proto__"?Object.defineProperty(_,Ue,{configurable:!0,enumerable:!0,writable:!0,value:lt}):_[Ue]=lt}let be=new Array(256),Ce=new Array(256);for(let _=0;_<256;_++)be[_]=xe(_)?1:0,Ce[_]=xe(_);function Ee(_,Ue){this.input=_,this.filename=Ue.filename||null,this.schema=Ue.schema||s,this.onWarning=Ue.onWarning||null,this.legacy=Ue.legacy||!1,this.json=Ue.json||!1,this.listener=Ue.listener||null,this.maxDepth=typeof Ue.maxDepth=="number"?Ue.maxDepth:100,this.maxTotalMergeKeys=typeof Ue.maxTotalMergeKeys=="number"?Ue.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=_.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function he(_,Ue){let lt={name:_.filename,buffer:_.input.slice(0,-1),position:_.position,line:_.line,column:_.position-_.lineStart};return lt.snippet=r(lt),new e(Ue,lt)}function $(_,Ue){throw he(_,Ue)}function De(_,Ue){_.onWarning&&_.onWarning.call(null,he(_,Ue))}function Te(_,Ue,lt){let Bt=_.anchorMapTransactions;if(Bt.length!==0){let ct=Bt[Bt.length-1];a.call(ct,Ue)||(ct[Ue]={existed:a.call(_.anchorMap,Ue),value:_.anchorMap[Ue]})}_.anchorMap[Ue]=lt}function ot(_){_.anchorMapTransactions.push(Object.create(null))}function j(_){let Ue=_.anchorMapTransactions.pop(),lt=_.anchorMapTransactions;if(lt.length===0)return;let Bt=lt[lt.length-1],ct=Object.keys(Ue);for(let Ft=0,le=ct.length;Ft<le;Ft+=1){let Ze=ct[Ft];a.call(Bt,Ze)||(Bt[Ze]=Ue[Ze])}}function rt(_){let Ue=_.anchorMapTransactions.pop(),lt=Object.keys(Ue);for(let Bt=lt.length-1;Bt>=0;Bt-=1){let ct=Ue[lt[Bt]];ct.existed?_.anchorMap[lt[Bt]]=ct.value:delete _.anchorMap[lt[Bt]]}}function Ne(_){return{position:_.position,line:_.line,lineStart:_.lineStart,lineIndent:_.lineIndent,firstTabInLine:_.firstTabInLine,tag:_.tag,anchor:_.anchor,kind:_.kind,result:_.result}}function Fe(_,Ue){_.position=Ue.position,_.line=Ue.line,_.lineStart=Ue.lineStart,_.lineIndent=Ue.lineIndent,_.firstTabInLine=Ue.firstTabInLine,_.tag=Ue.tag,_.anchor=Ue.anchor,_.kind=Ue.kind,_.result=Ue.result}let Pe={YAML:function(Ue,lt,Bt){Ue.version!==null&&$(Ue,"duplication of %YAML directive"),Bt.length!==1&&$(Ue,"YAML directive accepts exactly one argument");let ct=/^([0-9]+)\.([0-9]+)$/.exec(Bt[0]);ct===null&&$(Ue,"ill-formed argument of the YAML directive");let Ft=parseInt(ct[1],10),le=parseInt(ct[2],10);Ft!==1&&$(Ue,"unacceptable YAML version of the document"),Ue.version=Bt[0],Ue.checkLineBreaks=le<2,le!==1&&le!==2&&De(Ue,"unsupported YAML version of the document")},TAG:function(Ue,lt,Bt){let ct;Bt.length!==2&&$(Ue,"TAG directive accepts exactly two arguments");let Ft=Bt[0];ct=Bt[1],R.test(Ft)||$(Ue,"ill-formed tag handle (first argument) of the TAG directive"),a.call(Ue.tagMap,Ft)&&$(Ue,'there is a previously declared suffix for "'+Ft+'" tag handle'),N.test(ct)||$(Ue,"ill-formed tag prefix (second argument) of the TAG directive");try{ct=decodeURIComponent(ct)}catch{$(Ue,"tag prefix is malformed: "+ct)}Ue.tagMap[Ft]=ct}};function He(_,Ue,lt,Bt){if(Ue<lt){let ct=_.input.slice(Ue,lt);if(Bt)for(let Ft=0,le=ct.length;Ft<le;Ft+=1){let Ze=ct.charCodeAt(Ft);Ze===9||Ze>=32&&Ze<=1114111||$(_,"expected valid JSON character")}else v.test(ct)&&$(_,"the stream contains non-printable characters");_.result+=ct}}function Qe(_,Ue,lt,Bt){t.isObject(lt)||$(_,"cannot merge mappings; the provided source object is unacceptable");let ct=Object.keys(lt);for(let Ft=0,le=ct.length;Ft<le;Ft+=1){let Ze=ct[Ft];_.maxTotalMergeKeys!==-1&&++_.totalMergeKeys>_.maxTotalMergeKeys&&$(_,"merge keys exceeded maxTotalMergeKeys ("+_.maxTotalMergeKeys+")"),a.call(Ue,Ze)||(d(Ue,Ze,lt[Ze]),Bt[Ze]=!0)}}function ft(_,Ue,lt,Bt,ct,Ft,le,Ze,Tt){if(Array.isArray(ct)){ct=Array.prototype.slice.call(ct);for(let Et=0,Pt=ct.length;Et<Pt;Et+=1)Array.isArray(ct[Et])&&$(_,"nested arrays are not supported inside keys"),typeof ct=="object"&&U(ct[Et])==="[object Object]"&&(ct[Et]="[object Object]")}if(typeof ct=="object"&&U(ct)==="[object Object]"&&(ct="[object Object]"),ct=String(ct),Ue===null&&(Ue={}),Bt==="tag:yaml.org,2002:merge")if(Array.isArray(Ft))for(let Et=0,Pt=Ft.length;Et<Pt;Et+=1)Qe(_,Ue,Ft[Et],lt);else Qe(_,Ue,Ft,lt);else!_.json&&!a.call(lt,ct)&&a.call(Ue,ct)&&(_.line=le||_.line,_.lineStart=Ze||_.lineStart,_.position=Tt||_.position,$(_,"duplicated mapping key")),d(Ue,ct,Ft),delete lt[ct];return Ue}function Me(_){let Ue=_.input.charCodeAt(_.position);Ue===10?_.position++:Ue===13?(_.position++,_.input.charCodeAt(_.position)===10&&_.position+ Line truncated
`,Ue-1))}function E(_,Ue,lt){let Bt,ct,Ft,le,Ze,Tt,Et=_.kind,Pt=_.result,Lt=_.input.charCodeAt(_.position);if(te(Lt)||ie(Lt)||Lt===35||Lt===38||Lt===42||Lt===33||Lt===124||Lt===62||Lt===39||Lt===34||Lt===37||Lt===64||Lt===96)return!1;if(Lt===63||Lt===45){let Nt=_.input.charCodeAt(_.position+1);if(te(Nt)||lt&&ie(Nt))return!1}for(_.kind="scalar",_.result="",Bt=ct=_.position,Ft=!1;Lt!==0;){if(Lt===58){let Nt=_.input.charCodeAt(_.position+1);if(te(Nt)||lt&&ie(Nt))break}else if(Lt===35){let Nt=_.input.charCodeAt(_.position-1);if(te(Nt))break}else{if(_.position===_.lineStart&&C(_)||lt&&ie(Lt))break;if(V(Lt))if(le=_.line,Ze=_.lineStart,Tt=_.lineIndent,x(_,!1,-1),_.lineIndent>=Ue){Ft=!0,Lt=_.input.charCodeAt(_.position);continue}else{_.position=ct,_.line=le,_.lineStart=Ze,_.lineIndent=Tt;break}}Ft&&(He(_,Bt,ct,!1),P(_,_.line-le),Bt=ct=_.position,Ft=!1),ee(Lt)||(ct=_.position+1),Lt=_.input.charCodeAt(++_.position)}return He(_,Bt,ct,!1),_.result?!0:(_.kind=Et,_.result=Pt,!1)}function F(_,Ue){let lt,Bt,ct=_.input.charCodeAt(_.position);if(ct!==39)return!1;for(_.kind="scalar",_.result="",_.position++,lt=Bt=_.position;(ct=_.input.charCodeAt(_.position))!==0;)if(ct===39)if(He(_,lt,_.position,!0),ct=_.input.charCodeAt(++_.position),ct===39)lt=_.position,_.position++,Bt=_.position;else return!0;else V(ct)?(He(_,lt,Bt,!0),P(_,x(_,!1,Ue)),lt=Bt=_.position):_.position===_.lineStart&&C(_)?$(_,"unexpected end of the document within a single quoted scalar"):(_.position++,ee(ct)||(Bt=_.position));$(_,"unexpected end of the stream within a single quoted scalar")}function Z(_,Ue){let lt,Bt,ct,Ft=_.input.charCodeAt(_.position);if(Ft!==34)return!1;for(_.kind="scalar",_.result="",_.position++,lt=Bt=_.position;(Ft=_.input.charCodeAt(_.position))!==0;){if(Ft===34)return He(_,lt,_.position,!0),_.position++,!0;if(Ft===92){if(He(_,lt,_.position,!0),Ft=_.input.charCodeAt(++_.position),V(Ft))x(_,!1,Ue);else if(Ft<256&&be[Ft])_.result+=Ce[Ft],_.position++;else if((ct=ge(Ft))>0){let le=ct,Ze=0;for(;le>0;le--)Ft=_.input.charCodeAt(++_.position),(ct=ae(Ft))>=0?Ze=(Ze<<4)+ct:$(_,"expected hexadecimal character");_.result+=we(Ze),_.position++}else $(_,"unknown escape sequence");lt=Bt=_.position}else V(Ft)?(He(_,lt,Bt,!0),P(_,x(_,!1,Ue)),lt=Bt=_.position):_.position===_.lineStart&&C(_)?$(_,"unexpected end of the document within a double quoted scalar"):(_.position++,ee(Ft)||(Bt=_.position))}$(_,"unexpected end of the stream within a double quoted scalar")}function X(_,Ue){let lt=!0,Bt,ct,Ft,le=_.tag,Ze,Tt=_.anchor,Et,Pt,Lt,Nt,hr=Object.create(null),Xt,$t,Er,Yr=_.input.charCodeAt(_.position);if(Yr===91)Et=93,Nt=!1,Ze=[];else if(Yr===123)Et=125,Nt=!0,Ze={};else return!1;for(_.anchor!==null&&Te(_,_.anchor,Ze),Yr=_.input.charCodeAt(++_.position);Yr!==0;){if(x(_,!0,Ue),Yr=_.input.charCodeAt(_.position),Yr===Et)return _.position++,_.tag=le,_.anchor=Tt,_.kind=Nt?"mapping":"sequence",_.result=Ze,!0;if(lt?Yr===44&&$(_,"expected the node content, but found ','"):$(_,"missed comma between flow collection entries"),$t=Xt=Er=null,Pt=Lt=!1,Yr===63){let Tn=_.input.charCodeAt(_.position+1);te(Tn)&&(Pt=Lt=!0,_.position++,x(_,!0,Ue))}Bt=_.line,ct=_.lineStart,Ft=_.position,ur(_,Ue,n,!1,!0),$t=_.tag,Xt=_.result,x(_,!0,Ue),Yr=_.input.charCodeAt(_.position),(Lt||_.line===Bt)&&Yr===58&&(Pt=!0,Yr=_.input.charCodeAt(++_.position),x(_,!0,Ue),ur(_,Ue,n,!1,!0),Er=_.result),Nt?ft(_,Ze,hr,$t,Xt,Er,Bt,ct,Ft):Pt?Ze.push(ft(_,null,hr,$t,Xt,Er,Bt,ct,Ft)):Ze.push(Xt),x(_,!0,Ue),Yr=_.input.charCodeAt(_.position),Yr===44?(lt=!0,Yr=_.input.charCodeAt(++_.position)):lt=!1}$(_,"unexpected end of the stream within a flow collection")}function re(_,Ue){let lt,Bt=A,ct=!1,Ft=!1,le=Ue,Ze=0,Tt=!1,Et,Pt=_.input.charCodeAt(_.position);if(Pt===124)lt=!1;else if(Pt===62)lt=!0;else return!1;for(_.kind="scalar",_.result="";Pt!==0;)if(Pt=_.input.charCodeAt(++_.position),Pt===43||Pt===45)A===Bt?Bt=Pt===43?w:m:$(_,"repeat of a chomping mode identifier");else if((Et=de(Pt))>=0)Et===0?$(_,"bad explicit indentation width of a block scalar; it cannot be less than one"):Ft?$(_,"repeat of an indentation width identifier"):(le=Ue+Et-1,Ft=!0);else break;if(ee(Pt)){do Pt=_.input.charCodeAt(++_.position);while(ee(Pt));if(Pt===35)do Pt=_.input.charCodeAt(++_.position);while(!V(Pt)&&Pt!==0)}for(;Pt!==0;){for(Me(_),_.lineIndent=0,Pt=_.input.charCodeAt(_.position);(!Ft||_.lineIndent<le)&&Pt===32;)_.lineIndent++,Pt=_.input.charCodeAt(++_.position);if(!Ft&&_.lineIndent>le&&(le=_.lineIndent),V(Pt)){Ze++;continue}if(!Ft&&le===0&&$(_,"missing indentation for block scalar"),_.lineIndent<le){Bt===w?_.result+=t.repeat(`
`,ct?1+Ze:Ze):Bt===A&&ct&&(_.result+=`
`);break}lt?ee(Pt)?(Tt=!0,_.result+=t.repeat(`
`,ct?1+Ze:Ze)):Tt?(Tt=!1,_.result+=t.repeat(`
`,Ze+1)):Ze===0?ct&&(_.result+=" "):_.result+=t.repeat(`
`,Ze):_.result+=t.repeat(`
`,ct?1+Ze:Ze),ct=!0,Ft=!0,Ze=0;let Lt=_.position;for(;!V(Pt)&&Pt!==0;)Pt=_.input.charCodeAt(++_.position);He(_,Lt,_.position,!1)}return!0}function ce(_,Ue){let lt=_.tag,Bt=_.anchor,ct=[],Ft=!1;if(_.firstTabInLine!==-1)return!1;_.anchor!==null&&Te(_,_.anchor,ct);let le=_.input.charCodeAt(_.position);for(;le!==0&&(_.firstTabInLine!==-1&&(_.position=_.firstTabInLine,$(_,"tab characters must not be used in indentation")),le===45);){let Ze=_.input.charCodeAt(_.position+1);if(!te(Ze))break;if(Ft=!0,_.position++,x(_,!0,-1)&&_.lineIndent<=Ue){ct.push(null),le=_.input.charCodeAt(_.position);continue}let Tt=_.line;if(ur(_,Ue,f,!1,!0),ct.push(_.result),x(_,!0,-1),le=_.input.charCodeAt(_.position),(_.line===Tt||_.lineIndent>Ue)&&le!==0)$(_,"bad indentation of a sequence entry");else if(_.lineIndent<Ue)break}return Ft?(_.tag=lt,_.anchor=Bt,_.kind="sequence",_.result=ct,!0):!1}function ke(_,Ue,lt){let Bt,ct,Ft,le,Ze=_.tag,Tt=_.anchor,Et={},Pt=Object.create(null),Lt=null,Nt=null,hr=null,Xt=!1,$t=!1;if(_.firstTabInLine!==-1)return!1;_.anchor!==null&&Te(_,_.anchor,Et);let Er=_.input.charCodeAt(_.position);for(;Er!==0;){!Xt&&_.firstTabInLine!==-1&&(_.position=_.firstTabInLine,$(_,"tab characters must not be used in indentation"));let Yr=_.input.charCodeAt(_.position+1),Tn=_.line;if((Er===63||Er===58)&&te(Yr))Er===63?(Xt&&(ft(_,Et,Pt,Lt,Nt,null,ct,Ft,le),Lt=Nt=hr=null),$t=!0,Xt=!0,Bt=!0):Xt?(Xt=!1,Bt=!0):$(_,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),_.position+=1,Er=Yr;else{if(ct=_.line,Ft=_.lineStart,le=_.position,!ur(_,lt,l,!1,!0))break;if(_.line===Tn){for(Er=_.input.charCodeAt(_.position);ee(Er);)Er=_.input.charCodeAt(++_.position);if(Er===58)Er=_.input.charCodeAt(++_.position),te(Er)||$(_,"a whitespace character is expected after the key-value separator within a block mapping"),Xt&&(ft(_,Et,Pt,Lt,Nt,null,ct,Ft,le),Lt=Nt=hr=null),$t=!0,Xt=!1,Bt=!1,Lt=_.tag,Nt=_.result;else if($t)$(_,"can not read an implicit mapping pair; a colon is missed");else return _.tag=Ze,_.anchor=Tt,!0}else if($t)$(_,"can not read a block mapping entry; a multiline key may not be an implicit key");else return _.tag=Ze,_.anchor=Tt,!0}if((_.line===Tn||_.lineIndent>Ue)&&(Xt&&(ct=_.line,Ft=_.lineStart,le=_.position),ur(_,Ue,h,!0,Bt)&&(Xt?Nt=_.result:hr=_.result),Xt||(ft(_,Et,Pt,Lt,Nt,hr,ct,Ft,le),Lt=Nt=hr=null),x(_,!0,-1),Er=_.input.charCodeAt(_.position)),(_.line===Tn||_.lineIndent>Ue)&&Er!==0)$(_,"bad indentation of a mapping entry");else if(_.lineIndent<Ue)break}return Xt&&ft(_,Et,Pt,Lt,Nt,null,ct,Ft,le),$t&&(_.tag=Ze,_.anchor=Tt,_.kind="mapping",_.result=Et),$t}function Le(_){let Ue=!1,lt=!1,Bt,ct,Ft=_.input.charCodeAt(_.position);if(Ft!==33)return!1;_.tag!==null&&$(_,"duplication of a tag property"),Ft=_.input.charCodeAt(++_.position),Ft===60?(Ue=!0,Ft=_.input.charCodeAt(++_.position)):Ft===33?(lt=!0,Bt="!!",Ft=_.input.charCodeAt(++_.position)):Bt="!";let le=_.position;if(Ue){do Ft=_.input.charCodeAt(++_.position);while(Ft!==0&&Ft!==62);_.position<_.length?(ct=_.input.slice(le,_.position),Ft=_.input.charCodeAt(++_.position)):$(_,"unexpected end of the stream within a verbatim tag")}else{for(;Ft!==0&&!te(Ft);)Ft===33&&(lt?$(_,"tag suffix cannot contain exclamation marks"):(Bt=_.input.slice(le-1,_.position+1),R.test(Bt)||$(_,"named tag handle cannot contain such characters"),lt=!0,le=_.position+1)),Ft=_.input.charCodeAt(++_.position);ct=_.input.slice(le,_.position),I.test(ct)&&$(_,"tag suffix cannot contain flow indicator characters")}ct&&!N.test(ct)&&$(_,"tag name cannot contain such characters: "+ct);try{ct=decodeURIComponent(ct)}catch{$(_,"tag name is malformed: "+ct)}return Ue?_.tag=ct:a.call(_.tagMap,Bt)?_.tag=_.tagMap[Bt]+ct:Bt==="!"?_.tag="!"+ct:Bt==="!!"?_.tag="tag:yaml.org,2002:"+ct:$(_,'undeclared tag handle "'+Bt+'"'),!0}function pt(_){let Ue=_.input.charCodeAt(_.position);if(Ue!==38)return!1;_.anchor!==null&&$(_,"duplication of an anchor property"),Ue=_.input.charCodeAt(++_.position);let lt=_.position;for(;Ue!==0&&!te(Ue)&&!ie(Ue);)Ue=_.input.charCodeAt(++_.position);return _.position===lt&&$(_,"name of an anchor node must contain at least one character"),_.anchor=_.input.slice(lt,_.position),!0}function St(_){let Ue=_.input.charCodeAt(_.position);if(Ue!==42)return!1;Ue=_.input.charCodeAt(++_.position);let lt=_.position;for(;Ue!==0&&!te(Ue)&&!ie(Ue);)Ue=_.input.charCodeAt(++_.position);_.position===lt&&$(_,"name of an alias node must contain at least one character");let Bt=_.input.slice(lt,_.position);return a.call(_.anchorMap,Bt)||$(_,'unidentified alias "'+Bt+'"'),_.result=_.anchorMap[Bt],x(_,!0,-1),!0}function er(_,Ue,lt,Bt){let ct=Ne(_);return ot(_),Fe(_,Ue),_.tag=null,_.anchor=null,_.kind=null,_.result=null,ke(_,lt,Bt)&&_.kind==="mapping"?(j(_),!0):(rt(_),Fe(_,ct),!1)}function ur(_,Ue,lt,Bt,ct){let Ft,le,Ze=1,Tt=!1,Et=!1,Pt=null,Lt,Nt,hr;_.depth>=_.maxDepth&&$(_,"nesting exceeded maxDepth ("+_.maxDepth+")"),_.depth+=1,_.listener!==null&&_.listener("open",_),_.tag=null,_.anc Line truncated
`),_.charCodeAt(0)===65279&&(_=_.slice(1)));let lt=new Ee(_,Ue),Bt=_.indexOf("\0");for(Bt!==-1&&(lt.position=Bt,$(lt,"null byte is not allowed in input")),lt.input+="\0";lt.input.charCodeAt(lt.position)===32;)lt.lineIndent+=1,lt.position+=1;for(;lt.position<lt.length-1;)Ht(lt);return lt.documents}function Ur(_,Ue,lt){Ue!==null&&typeof Ue=="object"&&typeof lt>"u"&&(lt=Ue,Ue=null);let Bt=Cn(_,lt);if(typeof Ue!="function")return Bt;for(let ct=0,Ft=Bt.length;ct<Ft;ct+=1)Ue(Bt[ct])}function kr(_,Ue){let lt=Cn(_,Ue);if(lt.length!==0){if(lt.length===1)return lt[0];throw new e("expected a single document in the stream, but found more")}}return TT.loadAll=Ur,TT.load=kr,TT}function z$e(){if(Rle)return lH;Rle=1;let t=uS(),e=fS(),r=uH(),s=Object.prototype.toString,a=Object.prototype.hasOwnProperty,n=65279,l=9,f=10,h=13,A=32,m=33,w=34,v=35,D=37,I=38,R=39,N=42,U=44,V=45,ee=58,te=61,ie=62,ae=63,ge=64,de=91,xe=93,we=96,d=123,be=124,Ce=125,Ee={};Ee[0]="\\0",Ee[7]="\\a",Ee[8]="\\b",Ee[9]="\\t",Ee[10]="\\n",Ee[11]="\\v",Ee[12]="\\f",Ee[13]="\\r",Ee[27]="\\e",Ee[34]='\\"',Ee[92]="\\\\",Ee[133]="\\N",Ee[160]="\\_",Ee[8232]="\\L",Ee[8233]="\\P";let he=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function De(le,Ze){if(Ze===null)return{};let Tt={},Et=Object.keys(Ze);for(let Pt=0,Lt=Et.length;Pt<Lt;Pt+=1){let Nt=Et[Pt],hr=String(Ze[Nt]);Nt.slice(0,2)==="!!"&&(Nt="tag:yaml.org,2002:"+Nt.slice(2));let Xt=le.compiledTypeMap.fallback[Nt];Xt&&a.call(Xt.styleAliases,hr)&&(hr=Xt.styleAliases[hr]),Tt[Nt]=hr}return Tt}function Te(le){let Ze,Tt,Et=le.toString(16).toUpperCase();if(le<=255)Ze="x",Tt=2;else if(le<=65535)Ze="u",Tt=4;else if(le<=4294967295)Ze="U",Tt=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+Ze+t.repeat("0",Tt-Et.length)+Et}let ot=1,j=2;function rt(le){this.schema=le.schema||r,this.indent=Math.max(1,le.indent||2),this.noArrayIndent=le.noArrayIndent||!1,this.skipInvalid=le.skipInvalid||!1,this.flowLevel=t.isNothing(le.flowLevel)?-1:le.flowLevel,this.styleMap=De(this.schema,le.styles||null),this.sortKeys=le.sortKeys||!1,this.lineWidth=le.lineWidth||80,this.noRefs=le.noRefs||!1,this.noCompatMode=le.noCompatMode||!1,this.condenseFlow=le.condenseFlow||!1,this.quotingType=le.quotingType==='"'?j:ot,this.forceQuotes=le.forceQuotes||!1,this.replacer=typeof le.replacer=="function"?le.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Ne(le,Ze){let Tt=t.repeat(" ",Ze),Et=0,Pt="",Lt=le.length;for(;Et<Lt;){let Nt,hr=le.indexOf(`
`,Et);hr===-1?(Nt=le.slice(Et),Et=Lt):(Nt=le.slice(Et,hr+1),Et=hr+1),Nt.length&&Nt!==`
`&&(Pt+=Tt),Pt+=Nt}return Pt}function Fe(le,Ze){return`
`+t.repeat(" ",le.indent*Ze)}function Pe(le,Ze){for(let Tt=0,Et=le.implicitTypes.length;Tt<Et;Tt+=1)if(le.implicitTypes[Tt].resolve(Ze))return!0;return!1}function He(le){return le===A||le===l}function Qe(le){return le>=32&&le<=126||le>=161&&le<=55295&&le!==8232&&le!==8233||le>=57344&&le<=65533&&le!==n||le>=65536&&le<=1114111}function ft(le){return Qe(le)&&le!==n&&le!==h&&le!==f}function Me(le,Ze,Tt){let Et=ft(le),Pt=Et&&!He(le);return(Tt?Et:Et&&le!==U&&le!==de&&le!==xe&&le!==d&&le!==Ce)&&le!==v&&!(Ze===ee&&!Pt)||ft(Ze)&&!He(Ze)&&le===v||Ze===ee&&Pt}function x(le){return Qe(le)&&le!==n&&!He(le)&&le!==V&&le!==ae&&le!==ee&&le!==U&&le!==de&&le!==xe&&le!==d&&le!==Ce&&le!==v&&le!==I&&le!==N&&le!==m&&le!==be&&le!==te&&le!==ie&&le!==R&&le!==w&&le!==D&&le!==ge&&le!==we}function C(le){return!He(le)&&le!==ee}function P(le,Ze){let Tt=le.charCodeAt(Ze),Et;return Tt>=55296&&Tt<=56319&&Ze+1<le.length&&(Et=le.charCodeAt(Ze+1),Et>=56320&&Et<=57343)?(Tt-55296)*1024+Et-56320+65536:Tt}function E(le){return/^\n* /.test(le)}let F=1,Z=2,X=3,re=4,ce=5;function ke(le,Ze,Tt,Et,Pt,Lt,Nt,hr){let Xt,$t=0,Er=null,Yr=!1,Tn=!1,yc=Et!==-1,Ro=-1,La=x(P(le,0))&&C(P(le,le.length-1));if(Ze||Nt)for(Xt=0;Xt<le.length;$t>=65536?Xt+=2:Xt++){if($t=P(le,Xt),!Qe($t))return ce;La=La&&Me($t,Er,hr),Er=$t}else{for(Xt=0;Xt<le.length;$t>=65536?Xt+=2:Xt++){if($t=P(le,Xt),$t===f)Yr=!0,yc&&(Tn=Tn||Xt-Ro-1>Et&&le[Ro+1]!==" ",Ro=Xt);else if(!Qe($t))return ce;La=La&&Me($t,Er,hr),Er=$t}Tn=Tn||yc&&Xt-Ro-1>Et&&le[Ro+1]!==" "}return!Yr&&!Tn?La&&!Nt&&!Pt(le)?F:Lt===j?ce:Z:Tt>9&&E(le)?ce:Nt?Lt===j?ce:Z:Tn?re:X}function Le(le,Ze,Tt,Et,Pt){le.dump=function(){if(Ze.length===0)return le.quotingType===j?'""':"''";if(!le.noCompatMode&&(he.indexOf(Ze)!==-1||$.test(Ze)))return le.quotingType===j?'"'+Ze+'"':"'"+Ze+"'";let Lt=le.indent*Math.max(1,Tt),Nt=le.lineWidth===-1?-1:Math.max(Math.min(le.lineWidth,40),le.lineWidth-Lt),hr=Et||le.flowLevel>-1&&Tt>=le.flowLevel;function Xt($t){return Pe(le,$t)}switch(ke(Ze,hr,le.indent,Nt,Xt,le.quotingType,le.forceQuotes&&!Et,Pt)){case F:return Ze;case Z:return"'"+Ze.replace(/'/g,"''")+"'";case X:return"|"+pt(Ze,le.indent)+St(Ne(Ze,Lt));case re:return">"+pt(Ze,le.indent)+St(Ne(er(Ze,Nt),Lt));case ce:return'"'+Ht(Ze)+'"';default:throw new e("impossible error: invalid scalar style")}}()}function pt(le,Ze){let Tt=E(le)?String(Ze):"",Et=le[le.length-1]===`
`,Lt=Et&&(le[le.length-2]===`
`||le===`
`)?"+":Et?"":"-";return Tt+Lt+`
`}function St(le){return le[le.length-1]===`
`?le.slice(0,-1):le}function er(le,Ze){let Tt=/(\n+)([^\n]*)/g,Et=function(){let hr=le.indexOf(`
`);return hr=hr!==-1?hr:le.length,Tt.lastIndex=hr,ur(le.slice(0,hr),Ze)}(),Pt=le[0]===`
`||le[0]===" ",Lt,Nt;for(;Nt=Tt.exec(le);){let hr=Nt[1],Xt=Nt[2];Lt=Xt[0]===" ",Et+=hr+(!Pt&&!Lt&&Xt!==""?`
`:"")+ur(Xt,Ze),Pt=Lt}return Et}function ur(le,Ze){if(le===""||le[0]===" ")return le;let Tt=/ [^ ]/g,Et,Pt=0,Lt,Nt=0,hr=0,Xt="";for(;Et=Tt.exec(le);)hr=Et.index,hr-Pt>Ze&&(Lt=Nt>Pt?Nt:hr,Xt+=`
`+le.slice(Pt,Lt),Pt=Lt+1),Nt=hr;return Xt+=`
`,le.length-Pt>Ze&&Nt>Pt?Xt+=le.slice(Pt,Nt)+`
`+le.slice(Nt+1):Xt+=le.slice(Pt),Xt.slice(1)}function Ht(le){let Ze="",Tt=0;for(let Et=0;Et<le.length;Tt>=65536?Et+=2:Et++){Tt=P(le,Et);let Pt=Ee[Tt];!Pt&&Qe(Tt)?(Ze+=le[Et],Tt>=65536&&(Ze+=le[Et+1])):Ze+=Pt||Te(Tt)}return Ze}function Cn(le,Ze,Tt){let Et="",Pt=le.tag;for(let Lt=0,Nt=Tt.length;Lt<Nt;Lt+=1){let hr=Tt[Lt];le.replacer&&(hr=le.replacer.call(Tt,String(Lt),hr)),(lt(le,Ze,hr,!1,!1)||typeof hr>"u"&&lt(le,Ze,null,!1,!1))&&(Et!==""&&(Et+=","+(le.condenseFlow?"":" ")),Et+=le.dump)}le.tag=Pt,le.dump="["+Et+"]"}function Ur(le,Ze,Tt,Et){let Pt="",Lt=le.tag;for(let Nt=0,hr=Tt.length;Nt<hr;Nt+=1){let Xt=Tt[Nt];le.replacer&&(Xt=le.replacer.call(Tt,String(Nt),Xt)),(lt(le,Ze+1,Xt,!0,!0,!1,!0)||typeof Xt>"u"&&lt(le,Ze+1,null,!0,!0,!1,!0))&&((!Et||Pt!=="")&&(Pt+=Fe(le,Ze)),le.dump&&f===le.dump.charCodeAt(0)?Pt+="-":Pt+="- ",Pt+=le.dump)}le.tag=Lt,le.dump=Pt||"[]"}function kr(le,Ze,Tt){let Et="",Pt=le.tag,Lt=Object.keys(Tt);for(let Nt=0,hr=Lt.length;Nt<hr;Nt+=1){let Xt="";Et!==""&&(Xt+=", "),le.condenseFlow&&(Xt+='"');let $t=Lt[Nt],Er=Tt[$t];le.replacer&&(Er=le.replacer.call(Tt,$t,Er)),lt(le,Ze,$t,!1,!1)&&(le.dump.length>1024&&(Xt+="? "),Xt+=le.dump+(le.condenseFlow?'"':"")+":"+(le.condenseFlow?"":" "),lt(le,Ze,Er,!1,!1)&&(Xt+=le.dump,Et+=Xt))}le.tag=Pt,le.dump="{"+Et+"}"}function _(le,Ze,Tt,Et){let Pt="",Lt=le.tag,Nt=Object.keys(Tt);if(le.sortKeys===!0)Nt.sort();else if(typeof le.sortKeys=="function")Nt.sort(le.sortKeys);else if(le.sortKeys)throw new e("sortKeys must be a boolean or a function");for(let hr=0,Xt=Nt.length;hr<Xt;hr+=1){let $t="";(!Et||Pt!=="")&&($t+=Fe(le,Ze));let Er=Nt[hr],Yr=Tt[Er];if(le.replacer&&(Yr=le.replacer.call(Tt,Er,Yr)),!lt(le,Ze+1,Er,!0,!0,!0))continue;let Tn=le.tag!==null&&le.tag!=="?"||le.dump&&le.dump.length>1024;Tn&&(le.dump&&f===le.dump.charCodeAt(0)?$t+="?":$t+="? "),$t+=le.dump,Tn&&($t+=Fe(le,Ze)),lt(le,Ze+1,Yr,!0,Tn)&&(le.dump&&f===le.dump.charCodeAt(0)?$t+=":":$t+=": ",$t+=le.dump,Pt+=$t)}le.tag=Lt,le.dump=Pt||"{}"}function Ue(le,Ze,Tt){let Et=Tt?le.explicitTypes:le.implicitTypes;for(let Pt=0,Lt=Et.length;Pt<Lt;Pt+=1){let Nt=Et[Pt];if((Nt.instanceOf||Nt.predicate)&&(!Nt.instanceOf||typeof Ze=="object"&&Ze instanceof Nt.instanceOf)&&(!Nt.predicate||Nt.predicate(Ze))){if(Tt?Nt.multi&&Nt.representName?le.tag=Nt.representName(Ze):le.tag=Nt.tag:le.tag="?",Nt.represent){let hr=le.styleMap[Nt.tag]||Nt.defaultStyle,Xt;if(s.call(Nt.represent)==="[object Function]")Xt=Nt.represent(Ze,hr);else if(a.call(Nt.represent,hr))Xt=Nt.represent[hr](Ze,hr);else throw new e("!<"+Nt.tag+'> tag resolver accepts not "'+hr+'" style');le.dump=Xt}return!0}}return!1}function lt(le,Ze,Tt,Et,Pt,Lt,Nt){le.tag=null,le.dump=Tt,Ue(le,Tt,!1)||Ue(le,Tt,!0);let hr=s.call(le.dump),Xt=Et;Et&&(Et=le.flowLevel<0||le.flowLevel>Ze);let $t=hr==="[object Object]"||hr==="[object Array]",Er,Yr;if($t&&(Er=le.duplicates.indexOf(Tt),Yr=Er!==-1),(le.tag!==null&&le.tag!=="?"||Yr||le.indent!==2&&Ze>0)&&(Pt=!1),Yr&&le.usedDuplicates[Er])le.dump="*ref_"+Er;else{if($t&&Yr&&!le.usedDuplicates[Er]&&(le.usedDuplicates[Er]=!0),hr==="[object Object]")Et&&Object.keys(le.dump).length!==0?(_(le,Ze,le.dump,Pt),Yr&&(le.dump="&ref_"+Er+le.dump)):(kr(le,Ze,le.dump),Yr&&(le.dump="&ref_"+Er+" "+le.dump));else if(hr==="[object Array]")Et&&le.dump.length!==0?(le.noArrayIndent&&!Nt&&Ze>0?Ur(le,Ze-1,le.dump,Pt):Ur(le,Ze,le.dump,Pt),Yr&&(le.dump="&ref_"+Er+le.dump)):(Cn(le,Ze,le.dump),Yr&&(le.dump="&ref_"+Er+" "+le.dump));else if(hr==="[object String]")le.tag!=="?"&&Le(le,le.dump,Ze,Lt,Xt);else{if(hr==="[object Undefined]")return!1;if(le.skipInvalid)return!1;throw new e("unacceptable kind of an object to dump "+hr)}if(le.tag!==null&&le.tag!=="?"){let Tn=encodeURI(le.tag[0]==="!"?le.tag.slice(1):le.tag).replace(/!/g,"%21");le.tag[0]==="!"?Tn="!"+Tn:Tn.slice(0,18)==="tag:yaml.org,2002:"?Tn="!!"+Tn.slice(18):Tn="!<"+Tn+">",le.dump=Tn+" "+le.dump}}return!0}function Bt(le,Ze){let Tt=[],Et=[];ct(le,Tt,Et);let Pt=Et.length;for(let Lt=0;Lt<Pt;Lt+=1)Ze.duplicates.push(Tt[Et[Lt]]);Ze.usedDuplicates=new Array(Pt)}function ct(le,Ze,Tt){if(le!==null&&typeof le=="object"){let Et=Ze.indexOf(le);if(Et!==-1)Tt.indexOf(Et)===-1&&Tt.push(Et);else if(Ze.push(le),Array.isArray(le))for(let Pt=0,Lt=le.length;Pt<Lt;Pt+=1)ct(le[Pt],Ze,Tt);else{let Pt=Object.keys(le);for(let Lt=0,Nt=Pt.length;Lt<Nt;Lt+=1)ct(le[Pt[Lt]],Ze,Tt)}}}function Ft(le,Ze){Ze=Ze||{};let Tt=new rt(Ze);Tt.noRefs||Bt(le,Tt);let Et=le;return Tt.replacer&&(Et=Tt.replacer.call({"":Et},"",Et)),lt(Tt,0,Et,!0,!0)?Tt.dump+`
`:""}return lH.dump=Ft,lH}function J$e(){if(Tle)return pa;Tle=1;let t=K$e(),e=z$e();function r(s,a){return function(){throw new Error("Function yaml."+s+" is removed in js-yaml 4. Use yaml."+a+" instead, which is now safe by default.")}}return pa.Type=Za(),pa.Schema=Qle(),pa.FAILSAFE_SCHEMA=Lle(),pa.JSON_SCHEMA=jle(),pa.CORE_SCHEMA=Gle(),pa.DEFAULT_SCHEMA=uH(),pa.load=t.load,pa.loadAll=t.loadAll,pa.dump=e.dump,pa.YAMLException=fS(),pa.types={binary:Wle(),float:Hle(),map:Ole(),null:_le(),pairs:Kle(),set:zle(),timestamp:qle(),bool:Mle(),int:Ule(),merge:Vle(),omap:Yle(),seq:Nle(),str:Fle()},pa.safeLoad=r("safeLoad","load"),pa.safeLoadAll=r("safeLoadAll","loadAll"),pa.safeDump=r("safeDump","dump"),pa}var pa,TT,S0,cle,j6,lle,G6,ule,q6,fle,V6,hle,W6,Ale,Y6,ple,K6,dle,z6,gle,J6,mle,Z6,yle,X6,Ele,$6,Ile,eH,wle,tH,Cle,rH,Ble,nH,vle,iH,Sle,sH,ble,oH,Dle,aH,Ple,cH,xle,kle,lH,Rle,Tle,Z$e,X$e,hqt,Aqt,Jle,pqt,dqt,gqt,Zle,mqt,yqt,Eqt,Iqt,wqt,Cqt,Bqt,Xle=tt(()=>{pa={},TT={},S0={};lH={};Z$e=J$e(),X$e=W$e(Z$e),{Type:hqt,Schema:Aqt,FAILSAFE_SCHEMA:Jle,JSON_SCHEMA:pqt,CORE_SCHEMA:dqt,DEFAULT_SCHEMA:gqt,load:Zle,loadAll:mqt,dump:yqt,YAMLException:Eqt,types:Iqt,safeLoad:wqt,safeLoadAll:Cqt,safeDump:Bqt}=X$e});var eue=H((Sqt,$le)=>{"use strict";function $$e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function cy(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cy)}$$e(cy,Error);cy.buildMessage=function(t,e){var r={literal:function(A){return'"'+a(A.text)+'"'},class:function(A){var m="",w;for(w=0;w<A.parts.length;w++)m+=A.parts[w]instanceof Array?n(A.parts[w][0])+"-"+n(A.parts[w][1]):n(A.parts[w]);return"["+(A.inverted?"^":"")+m+"]"},any:function(A){return"any character"},end:function(A){return"end of input"},other:function(A){return A.description}};function s(A){return A.charCodeAt(0).toString(16).toUpperCase()}function a(A){return A.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+s(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+s(m)})}function n(A){return A.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+s(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+s(m)})}function l(A){return r[A.type](A)}function f(A){var m=new Array(A.length),w,v;for(w=0;w<A.length;w++)m[w]=l(A[w]);if(m.sort(),m.length>0){for(w=1,v=1;w<m.length;w++)m[w-1]!==m[w]&&(m[v]=m[w],v++);m.length=v}switch(m.length){case 1:return m[0];case 2:return m[0]+" or "+m[1];default:return m.slice(0,-1).join(", ")+", or "+m[m.length-1]}}function h(A){return A?'"'+a(A)+'"':"end of input"}return"Expected "+f(t)+" but "+h(e)+" found."};function eet(t,e){e=e!==void 0?e:{};var r={},s={Start:Yl},a=Yl,n=function(ne){return[].concat(...ne)},l="-",f=Un("-",!1),h=function(ne){return ne},A=function(ne){return Object.assign({},...ne)},m="#",w=Un("#",!1),v=$u(),D=function(){return{}},I=":",R=Un(":",!1),N=function(ne,Be){return{[ne]:Be}},U=",",V=Un(",",!1),ee=function(ne,Be){return Be},te=function(ne,Be,_e){return Object.assign({},...[ne].concat(Be).map(bt=>({[bt]:_e})))},ie=function(ne){return ne},ae=function(ne){return ne},ge=wc("correct indentation"),de=" ",xe=Un(" ",!1),we=function(ne){return ne.length===Sr*_t},d=function(ne){return ne.length===(Sr+1)*_t},be=function(){return Sr++,!0},Ce=function(){return Sr--,!0},Ee=function(){return Ha()},he=wc("pseudostring"),$=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,De=Ei(["\r",`
`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Te=/^[^\r\n\t ,\][{}:#"']/,ot=Ei(["\r",`
`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),j=function(){return Ha().replace(/^ *| *$/g,"")},rt="--",Ne=Un("--",!1),Fe=/^[a-zA-Z\/0-9]/,Pe=Ei([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),He=/^[^\r\n\t :,]/,Qe=Ei(["\r",`
`," "," ",":",","],!0,!1),ft="null",Me=Un("null",!1),x=function(){return null},C="true",P=Un("true",!1),E=function(){return!0},F="false",Z=Un("false",!1),X=function(){return!1},re=wc("string"),ce='"',ke=Un('"',!1),Le=function(){return""},pt=function(ne){return ne},St=function(ne){return ne.join("")},er=/^[^"\\\0-\x1F\x7F]/,ur=Ei(['"',"\\",["\0",""],"\x7F"],!0,!1),Ht='\\"',Cn=Un('\\"',!1),Ur=function(){return'"'},kr="\\\\",_=Un("\\\\",!1),Ue=function(){return"\\"},lt="\\/",Bt=Un("\\/",!1),ct=function(){return"/"},Ft="\\b",le=Un("\\b",!1),Ze=function(){return"\b"},Tt="\\f",Et=Un("\\f",!1),Pt=function(){return"\f"},Lt="\\n",Nt=Un("\\n",!1),hr=function(){return`
`},Xt="\\r",$t=Un("\\r",!1),Er=function(){return"\r"},Yr="\\t",Tn=Un("\\t",!1),yc=function(){return" "},Ro="\\u",La=Un("\\u",!1),HA=function(ne,Be,_e,bt){return String.fromCharCode(parseInt(`0x${ne}${Be}${_e}${bt}`))},Ma=/^[0-9a-fA-F]/,Ua=Ei([["0","9"],["a","f"],["A","F"]],!1,!1),jA=wc("blank space"),Fr=/^[ \t]/,Zo=Ei([" "," "],!1,!1),Ec=wc("white space"),Ge=/^[ \t\n\r]/,Hr=Ei([" "," ",`
`,"\r"],!1,!1),oh=`\r
`,GA=Un(`\r
`,!1),qA=`
`,Zu=Un(`
`,!1),Xu="\r",Vl=Un("\r",!1),ve=0,Jt=0,Wl=[{line:1,column:1}],as=0,To=[],Vt=0,ei;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function Ha(){return t.substring(Jt,ve)}function As(){return Bc(Jt,ve)}function cs(ne,Be){throw Be=Be!==void 0?Be:Bc(Jt,ve),ah([wc(ne)],t.substring(Jt,ve),Be)}function Ic(ne,Be){throw Be=Be!==void 0?Be:Bc(Jt,ve),vc(ne,Be)}function Un(ne,Be){return{type:"literal",text:ne,ignoreCase:Be}}function Ei(ne,Be,_e){return{type:"class",parts:ne,inverted:Be,ignoreCase:_e}}function $u(){return{type:"any"}}function Ud(){return{type:"end"}}function wc(ne){return{type:"other",description:ne}}function Cc(ne){var Be=Wl[ne],_e;if(Be)return Be;for(_e=ne-1;!Wl[_e];)_e--;for(Be=Wl[_e],Be={line:Be.line,column:Be.column};_e<ne;)t.charCodeAt(_e)===10?(Be.line++,Be.column=1):Be.column++,_e++;return Wl[ne]=Be,Be}function Bc(ne,Be){var _e=Cc(ne),bt=Cc(Be);return{start:{offset:ne,line:_e.line,column:_e.column},end:{offset:Be,line:bt.line,column:bt.column}}}function it(ne){ve<as||(ve>as&&(as=ve,To=[]),To.push(ne))}function vc(ne,Be){return new cy(ne,null,null,Be)}function ah(ne,Be,_e){return new cy(cy.buildMessage(ne,Be),ne,Be,_e)}function Yl(){var ne;return ne=VA(),ne}function Yn(){var ne,Be,_e;for(ne=ve,Be=[],_e=ja();_e!==r;)Be.push(_e),_e=ja();return Be!==r&&(Jt=ne,Be=n(Be)),ne=Be,ne}function ja(){var ne,Be,_e,bt,xt;return ne=ve,Be=ll(),Be!==r?(t.charCodeAt(ve)===45?(_e=l,ve++):(_e=r,Vt===0&&it(f)),_e!==r?(bt=ri(),bt!==r?(xt=Ga(),xt!==r?(Jt=ne,Be=h(xt),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r),ne}function VA(){var ne,Be,_e;for(ne=ve,Be=[],_e=WA();_e!==r;)Be.push(_e),_e=WA();return Be!==r&&(Jt=ne,Be=A(Be)),ne=Be,ne}function WA(){var ne,Be,_e,bt,xt,jt,Ir,Nn,Qi;if(ne=ve,Be=ri(),Be===r&&(Be=null),Be!==r){if(_e=ve,t.charCodeAt(ve)===35?(bt=m,ve++):(bt=r,Vt===0&&it(w)),bt!==r){if(xt=[],jt=ve,Ir=ve,Vt++,Nn=dt(),Vt--,Nn===r?Ir=void 0:(ve=Ir,Ir=r),Ir!==r?(t.length>ve?(Nn=t.charAt(ve),ve++):(Nn=r,Vt===0&&it(v)),Nn!==r?(Ir=[Ir,Nn],jt=Ir):(ve=jt,jt=r)):(ve=jt,jt=r),jt!==r)for(;jt!==r;)xt.push(jt),jt=ve,Ir=ve,Vt++,Nn=dt(),Vt--,Nn===r?Ir=void 0:(ve=Ir,Ir=r),Ir!==r?(t.length>ve?(Nn=t.charAt(ve),ve++):(Nn=r,Vt===0&&it(v)),Nn!==r?(Ir=[Ir,Nn],jt=Ir):(ve=jt,jt=r)):(ve=jt,jt=r);else xt=r;xt!==r?(bt=[bt,xt],_e=bt):(ve=_e,_e=r)}else ve=_e,_e=r;if(_e===r&&(_e=null),_e!==r){if(bt=[],xt=et(),xt!==r)for(;xt!==r;)bt.push(xt),xt=et();else bt=r;bt!==r?(Jt=ne,Be=D(),ne=Be):(ve=ne,ne=r)}else ve=ne,ne=r}else ve=ne,ne=r;if(ne===r&&(ne=ve,Be=ll(),Be!==r?(_e=Sc(),_e!==r?(bt=ri(),bt===r&&(bt=null),bt!==r?(t.charCodeAt(ve)===58?(xt=I,ve++):(xt=r,Vt===0&&it(R)),xt!==r?(jt=ri(),jt===r&&(jt=null),jt!==r?(Ir=Ga(),Ir!==r?(Jt=ne,Be=N(_e,Ir),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r),ne===r&&(ne=ve,Be=ll(),Be!==r?(_e=ks(),_e!==r?(bt=ri(),bt===r&&(bt=null),bt!==r?(t.charCodeAt(ve)===58?(xt=I,ve++):(xt=r,Vt===0&&it(R)),xt!==r?(jt=ri(),jt===r&&(jt=null),jt!==r?(Ir=Ga(),Ir!==r?(Jt=ne,Be=N(_e,Ir),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r),ne===r))){if(ne=ve,Be=ll(),Be!==r)if(_e=ks(),_e!==r)if(bt=ri(),bt!==r)if(xt=ef(),xt!==r){if(jt=[],Ir=et(),Ir!==r)for(;Ir!==r;)jt.push(Ir),Ir=et();else jt=r;jt!==r?(Jt=ne,Be=N(_e,xt),ne=Be):(ve=ne,ne=r)}else ve=ne,ne=r;else ve=ne,ne=r;else ve=ne,ne=r;else ve=ne,ne=r;if(ne===r)if(ne=ve,Be=ll(),Be!==r)if(_e=ks(),_e!==r){if(bt=[],xt=ve,jt=ri(),jt===r&&(jt=null),jt!==r?(t.charCodeAt(ve)===44?(Ir=U,ve++):(Ir=r,Vt===0&&it(V)),Ir!==r?(Nn=ri(),Nn===r&&(Nn=null),Nn!==r?(Qi=ks(),Qi!==r?(Jt=xt,jt=ee(_e,Qi),xt=jt):(ve=xt,xt=r)):(ve=xt,xt=r)):(ve=xt,xt=r)):(ve=xt,xt=r),xt!==r)for(;xt!==r;)bt.push(xt),xt=ve,jt=ri(),jt===r&&(jt=null),jt!==r?(t.charCodeAt(ve)===44?(Ir=U,ve++):(Ir=r,Vt===0&&it(V)),Ir!==r?(Nn=ri(),Nn===r&&(Nn=null),Nn!==r?(Qi=ks(),Qi!==r?(Jt=xt,jt=ee(_e,Qi),xt=jt):(ve=xt,xt=r)):(ve=xt,xt=r)):(ve=xt,xt=r)):(ve=xt,xt=r);else bt=r;bt!==r?(xt=ri(),xt===r&&(xt=null),xt!==r?(t.charCodeAt(ve)===58?(jt=I,ve++):(jt=r,Vt===0&&it(R)),jt!==r?(Ir=ri(),Ir===r&&(Ir=null),Ir!==r?(Nn=Ga(),Nn!==r?(Jt=ne,Be=te(_e,bt,Nn),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)}else ve=ne,ne=r;else ve=ne,ne=r}return ne}function Ga(){var ne,Be,_e,bt,xt,jt,Ir;if(ne=ve,Be=ve,Vt++,_e=ve,bt=dt(),bt!==r?(xt=rr(),xt!==r?(t.charCodeAt(ve)===45?(jt=l,ve++):(jt=r,Vt===0&&it(f)),jt!==r?(Ir=ri(),Ir!==r?(bt=[bt,xt,jt,Ir],_e=bt):(ve=_e,_e=r)):(ve=_e,_e=r)):(ve=_e,_e=r)):(ve=_e,_e=r),Vt--,_e!==r?(ve=Be,Be=void 0):Be=r,Be!==r?(_e=et(),_e!==r?(bt=ti(),bt!==r?(xt=Yn(),xt!==r?(jt=qa(),jt!==r?(Jt=ne,Be=ie(xt),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r),ne===r&&(ne=ve,Be=dt(),Be!==r?(_e=ti(),_e!==r?(bt=VA(),bt!==r?(xt=qa(),xt!==r?(Jt=ne,Be=ie(bt),ne=Be):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r)):(ve=ne,ne=r),ne===r))if(ne=ve,Be=Kl(),Be!==r){if(_e=[],bt=et(),bt!==r)for(;bt!==r;)_e.push(bt),bt=et();else _e=r;_e!==r?(Jt=ne,BeLine truncated
`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()}
`;if(typeof t=="string")return`${rue(t)}
`;if(Array.isArray(t)){if(t.length===0)return`[]
`;let s=" ".repeat(e);return`
${t.map(n=>`${s}- ${fH(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[s,a]=t instanceof QT?[t.data,!1]:[t,!0],n=" ".repeat(e),l=Object.keys(s);a&&l.sort((h,A)=>{let m=tue.indexOf(h),w=tue.indexOf(A);return m===-1&&w===-1?h<A?-1:h>A?1:0:m!==-1&&w===-1?-1:m===-1&&w!==-1?1:m-w});let f=l.filter(h=>!iue(s[h])).map((h,A)=>{let m=s[h],w=rue(h),v=fH(m,e+1,!0),D=A>0||r?n:"",I=w.length>1024?`? ${w}
${D}:`:`${w}:`,R=v.startsWith(`
`)?v:` ${v}`;return`${D}${I}${R}`}).join(e===0?`
`:"")||`
`;return r?`
${f}`:`${f}`}throw new Error(`Unsupported value type (${t})`)}function Uc(t){try{let e=fH(t,0,!1);return e!==`
`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function ret(t){return t.endsWith(`
`)||(t+=`
`),(0,nue.parse)(t)}function iet(t){if(net.test(t))return ret(t);let e=Zle(t,{schema:Jle,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Fs(t){return iet(t)}var nue,tet,tue,QT,net,sue=tt(()=>{Xle();nue=st(eue()),tet=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,tue=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],QT=class{constructor(e){this.data=e}};Uc.PreserveOrdering=QT;net=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var hS={};lr(hS,{parseResolution:()=>kT,parseShell:()=>DT,parseSyml:()=>Fs,stringifyArgument:()=>U6,stringifyArgumentSegment:()=>H6,stringifyArithmeticExpression:()=>xT,stringifyCommand:()=>M6,stringifyCommandChain:()=>hw,stringifyCommandChainThen:()=>_6,stringifyCommandLine:()=>PT,stringifyCommandLineThen:()=>L6,stringifyEnvSegment:()=>bT,stringifyRedirectArgument:()=>lS,stringifyResolution:()=>RT,stringifyShell:()=>fw,stringifyShellLine:()=>fw,stringifySyml:()=>Uc,stringifyValueArgument:()=>oy});var au=tt(()=>{nle();ale();sue()});var aue=H((Rqt,hH)=>{"use strict";var set=t=>{let e=!1,r=!1,s=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,s=r,r=!0,a++):r&&s&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),s=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,s=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},oue=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=set(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};hH.exports=oue;hH.exports.default=oue});var cue=H((Tqt,oet)=>{oet.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Re Line truncated
${this.candidates.map(({usage:a})=>`$ ${a}`).join(`
`)}`}else if(this.candidates.length===1){let[{usage:s}]=this.candidates;this.message=`Command not found; did you mean:
$ ${s}
${gH(e)}`}else this.message=`Command not found; did you mean one of:
${this.candidates.map(({usage:s},a)=>`${`${a}.`.padStart(4)} ${s}`).join(`
`)}
${gH(e)}`}},OT=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives:
${this.usages.map((s,a)=>`${`${a}.`.padStart(4)} ${s}`).join(`
`)}
${gH(e)}`}},gH=t=>`While running ${t.filter(e=>e!==Si.EndOfInput&&e!==Si.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function aet(t){let e=t.split(`
`),r=e.filter(a=>a.match(/\S/)),s=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(s).trimRight()).join(`
`)}function da(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,`
`),t=aet(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2
`),t=t.replace(/\n(\n)?\n*/g,(s,a)=>a||" "),r&&(t=t.split(/\n/).map(s=>{let a=s.match(/^\s*[*-][\t ]+(.*)/);if(!a)return s.match(/(.{1,80})(?: |$)/g).join(`
`);let n=s.length-s.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((l,f)=>" ".repeat(n)+(f===0?"- ":" ")+l).join(`
`)}).join(`
`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(s,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(s,a,n)=>e.bold(a+n+a)),t?`${t}
`:""}var mH,hue,Aue,yH=tt(()=>{mH=Array(80).fill("\u2501");for(let t=0;t<=24;++t)mH[mH.length-t]=`\x1B[38;5;${232+t}m\u2501`;hue={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<75?` ${mH.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},Aue={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Xa(t){return{...t,[AS]:!0}}function Nh(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function _T(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,s,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=s!=="."||!e?`${s.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function pS(t,e){return e.length===1?new ht(`${t}${_T(e[0],{mergeName:!0})}`):new ht(`${t}:
${e.map(r=>`
- ${_T(r)}`).join("")}`)}function fy(t,e,r){if(typeof r>"u")return e;let s=[],a=[],n=f=>{let h=e;return e=f,n.bind(null,h)};if(!r(e,{errors:s,coercions:a,coercion:n}))throw pS(`Invalid value for ${t}`,s);for(let[,f]of a)f();return e}var AS,Pp=tt(()=>{LT();AS=Symbol("clipanion/isOption")});var ho={};lr(ho,{KeyRelationship:()=>Oh,TypeAssertionError:()=>D0,applyCascade:()=>gS,as:()=>Pet,assert:()=>vet,assertWithErrors:()=>bet,cascade:()=>P0,fn:()=>xet,hasAtLeastOneKey:()=>SH,hasExactLength:()=>yue,hasForbiddenKeys:()=>Ket,hasKeyRelationship:()=>yS,hasMaxLength:()=>Ret,hasMinLength:()=>ket,hasMutuallyExclusiveKeys:()=>zet,hasRequiredKeys:()=>Yet,hasUniqueItems:()=>Tet,isArray:()=>MT,isAtLeast:()=>BH,isAtMost:()=>Net,isBase64:()=>Get,isBoolean:()=>get,isDate:()=>yet,isDict:()=>wet,isEnum:()=>$s,isHexColor:()=>jet,isISO8601:()=>Het,isInExclusiveRange:()=>Let,isInInclusiveRange:()=>Oet,isInstanceOf:()=>Bet,isInteger:()=>vH,isJSON:()=>qet,isLiteral:()=>due,isLowerCase:()=>_et,isMap:()=>Iet,isNegative:()=>Qet,isNullable:()=>Wet,isNumber:()=>wH,isObject:()=>gue,isOneOf:()=>CH,isOptional:()=>Vet,isPartial:()=>Cet,isPayload:()=>met,isPositive:()=>Fet,isRecord:()=>HT,isSet:()=>Eet,isString:()=>_h,isTuple:()=>UT,isUUID4:()=>Uet,isUnknown:()=>IH,isUpperCase:()=>Met,makeTrait:()=>mue,makeValidator:()=>fn,matchesRegExp:()=>xp,softAssert:()=>Det});function bi(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function pw(t,e){if(t.length===0)return"nothing";if(t.length===1)return bi(t[0]);let r=t.slice(0,-1),s=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>bi(n)).join(", ")}${a}${bi(s)}`}function b0(t,e){var r,s,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:cet.test(e)?`${(s=t?.p)!==null&&s!==void 0?s:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function EH(t,e,r){return t===1?e:r}function Lr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function pet(t,e){return r=>{t[e]=r}}function Lh(t,e){return r=>{let s=t[e];return t[e]=r,Lh(t,e).bind(null,s)}}function dS(t,e,r){let s=()=>(t(r()),a),a=()=>(t(e),s);return s}function IH(){return fn({test:(t,e)=>!0})}function due(t){return fn({test:(e,r)=>e!==t?Lr(r,`Expected ${bi(t)} (got ${bi(e)})`):!0})}function _h(){return fn({test:(t,e)=>typeof t!="string"?Lr(e,`Expected a string (got ${bi(t)})`):!0})}function $s(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),s=new Set(e);return s.size===1?due([...s][0]):fn({test:(a,n)=>s.has(a)?!0:r?Lr(n,`Expected one of ${pw(e,"or")} (got ${bi(a)})`):Lr(n,`Expected a valid enumeration value (got ${bi(a)})`)})}function get(){return fn({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return Lr(e,"Unbound coercion result");let s=det.get(t);if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return Lr(e,`Expected a boolean (got ${bi(t)})`)}return!0}})}function wH(){return fn({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return Lr(e,"Unbound coercion result");let s;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)s=a;else return Lr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return Lr(e,`Expected a number (got ${bi(t)})`)}return!0}})}function met(t){return fn({test:(e,r)=>{var s;if(typeof r?.coercions>"u")return Lr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return Lr(r,"Unbound coercion result");if(typeof e!="string")return Lr(r,`Expected a string (got ${bi(e)})`);let a;try{a=JSON.parse(e)}catch{return Lr(r,`Expected a JSON string (got ${bi(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Lh(n,"value")}))?(r.coercions.push([(s=r.p)!==null&&s!==void 0?s:".",r.coercion.bind(null,n.value)]),!0):!1}})}function yet(){return fn({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return Lr(e,"Unbound coercion result");let s;if(typeof t=="string"&&pue.test(t))s=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))s=new Date(a*1e3);else return Lr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof s<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,s)]),!0}return Lr(e,`Expected a date (got ${bi(t)})`)}return!0}})}function MT(t,{delimiter:e}={}){return fn({test:(r,s)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof s?.coercions<"u"){iLine truncated
`;for(let s of e)r+=`
- ${s}`}super(r)}};mS={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Oh||(Oh={}));Jet={[Oh.Forbids]:{expect:!1,message:"forbids using"},[Oh.Requires]:{expect:!0,message:"requires using"}}});var At,x0=tt(()=>{Pp();At=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:l}=await Promise.resolve().then(()=>(ga(),ho)),f=l(a(n()),r),h=[],A=[];if(!f(this,{errors:h,coercions:A}))throw pS("Invalid option schema",h);for(let[,w]of A)w()}else if(r!=null)throw new Error("Invalid command schema");let s=await this.execute();return typeof s<"u"?s:0}};At.isOption=AS;At.Default=[]});function Hc(t){dH&&console.log(t)}function Iue(){let t={nodes:[]};for(let e=0;e<Gn.CustomNode;++e)t.nodes.push(Sl());return t}function Zet(t){let e=Iue(),r=[],s=e.nodes.length;for(let a of t){r.push(s);for(let n=0;n<a.nodes.length;++n)Cue(n)||e.nodes.push(stt(a.nodes[n],s));s+=a.nodes.length-Gn.CustomNode+1}for(let a of r)dw(e,Gn.InitialNode,a);return e}function vf(t,e){return t.nodes.push(e),t.nodes.length-1}function Xet(t){let e=new Set,r=s=>{if(e.has(s))return;e.add(s);let a=t.nodes[s];for(let l of Object.values(a.statics))for(let{to:f}of l)r(f);for(let[,{to:l}]of a.dynamics)r(l);for(let{to:l}of a.shortcuts)r(l);let n=new Set(a.shortcuts.map(({to:l})=>l));for(;a.shortcuts.length>0;){let{to:l}=a.shortcuts.shift(),f=t.nodes[l];for(let[h,A]of Object.entries(f.statics)){let m=Object.prototype.hasOwnProperty.call(a.statics,h)?a.statics[h]:a.statics[h]=[];for(let w of A)m.some(({to:v})=>w.to===v)||m.push(w)}for(let[h,A]of f.dynamics)a.dynamics.some(([m,{to:w}])=>h===m&&A.to===w)||a.dynamics.push([h,A]);for(let h of f.shortcuts)n.has(h.to)||(a.shortcuts.push(h),n.add(h.to))}};r(Gn.InitialNode)}function $et(t,{prefix:e=""}={}){if(dH){Hc(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)Hc(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function ett(t,e,r=!1){Hc(`Running a vm on ${JSON.stringify(e)}`);let s=[{node:Gn.InitialNode,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null,partial:!1,tokens:[]}}];$et(t,{prefix:" "});let a=[Si.StartOfInput,...e];for(let n=0;n<a.length;++n){let l=a[n],f=l===Si.EndOfInput||l===Si.EndOfPartialInput,h=n-1;Hc(` Processing ${JSON.stringify(l)}`);let A=[];for(let{node:m,state:w}of s){Hc(` Current node is ${m}`);let v=t.nodes[m];if(m===Gn.ErrorNode){A.push({node:m,state:w});continue}console.assert(v.shortcuts.length===0,"Shortcuts should have been eliminated by now");let D=Object.prototype.hasOwnProperty.call(v.statics,l);if(!r||n<a.length-1||D)if(D){let I=v.statics[l];for(let{to:R,reducer:N}of I)A.push({node:R,state:typeof N<"u"?jT(DH,N,w,l,h):w}),Hc(` Static transition to ${R} found`)}else Hc(" No static transition found");else{let I=!1;for(let R of Object.keys(v.statics))if(R.startsWith(l)){if(l===R)for(let{to:N,reducer:U}of v.statics[R])A.push({node:N,state:typeof U<"u"?jT(DH,U,w,l,h):w}),Hc(` Static transition to ${N} found`);else for(let{to:N}of v.statics[R])A.push({node:N,state:{...w,remainder:R.slice(l.length)}}),Hc(` Static transition to ${N} found (partial match)`);I=!0}I||Hc(" No partial static transition found")}if(!f)for(let[I,{to:R,reducer:N}]of v.dynamics)jT(ott,I,w,l,h)&&(A.push({node:R,state:typeof N<"u"?jT(DH,N,w,l,h):w}),Hc(` Dynamic transition to ${R} found (via ${I})`))}if(A.length===0&&f&&e.length===1)return[{node:Gn.InitialNode,state:Eue}];if(A.length===0)throw new Aw(e,s.filter(({node:m})=>m!==Gn.ErrorNode).map(({state:m})=>({usage:m.candidateUsage,reason:null})));if(A.every(({node:m})=>m===Gn.ErrorNode))throw new Aw(e,A.map(({state:m})=>({usage:m.candidateUsage,reason:m.errorMessage})));s=rtt(A)}if(s.length>0){Hc(" Results:");for(let n of s)Hc(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else Hc(" No results");return s}function ttt(t,e,{endToken:r=Si.EndOfInput}={}){let s=ett(t,[...e,r]);return ntt(e,s.map(({state:a})=>a))}function rtt(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function ntt(t,e){let r=e.filter(v=>v.selectedIndex!==null),s=r.filter(v=>!v.partial);if(s.length>0&&(r=s),r.length===0)throw new Error;let a=r.filter(v=>v.selectedIndex===uy||v.requiredOptions.every(D=>D.some(I=>v.options.find(R=>R.name===I))));if(a.length===0)throw new Aw(t,r.map(v=>({usage:v.candidateUsage,reason:null})));let n=0;for(let v of a)v.path.length>n&&(n=v.path.length);let l=a.filter(v=>v.path.length===n),f=v=>v.positionals.filter(({extra:D})=>!D).length+v.options.length,h=l.map(v=>({state:v,positionalCount:f(v)})),A=0;for(let{positionalCount:v}of h)v>A&&(A=v);let m=h.filter(({positionalCount:v})=>v===A).map(({state:v Line truncated
`),this.context.stdout.write(`
`);let r=0;for(let s of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[s].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(`
`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
`)}}}});async function kue(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=Tue(t);return ec.from(r,e).runExit(s,a)}async function Rue(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=Tue(t);return ec.from(r,e).run(s,a)}function Tue(t){let e,r,s,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(s=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof At||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?s=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],s=t[2]):t[0]&&t[0].prototype instanceof At||Array.isArray(t[0])?(r=t[0],s=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],s=t[2],a=t[3];break}if(typeof s>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}}function xue(t){return t()}var Pue,ec,Que=tt(()=>{NT();qT();yH();bue();x0();Due();Pue=Symbol("clipanion/errorCommand");ec=class t{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:s,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new GT({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=s,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let s=new t(r),a=Array.isArray(e)?e:[e];for(let n of a)s.register(n);return s}register(e){var r;let s=new Map,a=new e;for(let h in a){let A=a[h];typeof A=="object"&&A!==null&&A[At.isOption]&&s.set(h,A)}let n=this.builder.command(),l=n.cliIndex,f=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof f<"u")for(let h of f)n.addPath(h);this.registrations.set(e,{specs:s,builder:n,index:l});for(let[h,{definition:A}]of s.entries())A(n,h);n.setContext({commandClass:e})}process(e,r){let{input:s,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:l,process:f}=this.builder.compile(),h=f(s,{partial:n}),A={...t.defaultContext,...a};switch(h.selectedIndex){case uy:{let m=WT.from(h,l);return m.context=A,m.tokens=h.tokens,m}default:{let{commandClass:m}=l[h.selectedIndex],w=this.registrations.get(m);if(typeof w>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let v=new m;v.context=A,v.tokens=h.tokens,v.path=h.path;try{for(let[D,{transformer:I}]of w.specs.entries())v[D]=I(w.builder,D,h,A);return v}catch(D){throw D[Pue]=v,D}}break}}async run(e,r){var s,a;let n,l={...t.defaultContext,...r},f=(s=this.enableColors)!==null&&s!==void 0?s:l.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,l)}catch(m){return l.stdout.write(this.error(m,{colored:f})),1}if(n.help)return l.stdout.write(this.usage(n,{colored:f,detailed:!0})),0;n.context=l,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:m=>this.definition(m),error:(m,w)=>this.error(m,w),format:m=>this.format(m),process:(m,w)=>this.process(m,{...l,...w}),run:(m,w)=>this.run(m,{...l,...w}),usage:(m,w)=>this.usage(m,w)};let h=this.enableCapture&&(a=Sue(l))!==null&&a!==void 0?a:xue,A;try{A=await h(()=>n.validateAndExecute().catch(m=>n.catch(m).then(()=>0)))}catch(m){return l.stdout.write(this.error(m,{colored:f,command:n})),1}return A}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:s}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),l=typeof e.usage.category<"u"?da(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,f=typeof e.usage.description<"u"?da(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,h=typeof e.usage.details<"u"?da(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,A=typeof e.usage.examples<"u"?e.usage.examples.map(([m,w])=>[da(m,{format:this.format(r),paragraphs:!1}),w.replace(/\$0/g,this.binaryName)]):void 0;return{path:s,usage:a,category:l,description:f,details:h,examples:A,options:n}}definitions({colored:e=!1}={}){let r=[];for(let s of this.registrations.keys()){let a=this.definition(s,{colored:e});a&&r.push(a)}return r}usage(e=null,{colored:r,detailed:s=!1,prefix:a="$ "}={}){var n;if(e===null){for(let h of this.registrations.keys()){let A=h.paths,m=typeof h.usage<"u";if(!A||A.length===0||A.length===1&&A[0].length===0||((n=A?.some(D=>D.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=h;else if(m){e=null;continue}}e&&(s=!0)}let l=e!==null&&e instanceof At?e.constructor:e,f="";if(l)if(s){let{description:h="",details:A="",examples:m=[]}=l.usage||{};h!==""&&(f+=da(h,{format:this.format(r),paragraphs:!1}).replace(/^./,D=>D.toUpperCase()),f+=`
`),(A!==""||m.length>0)&&(f+=`${this.format(r).header("Usage")}
`,f+=`
`);let{usage:w,options:v}=this.getUsageByRegistration(l,{inlineOptions:!1});if(f+=`${this.format(r).bold(a)}${w}
`,v.length>0){f+=`
`,f+=`${this.format(r).header("Options")}
`;let D=v.reduce((I,R)=>Math.max(I,R.definition.length),0);f+=`
`;for(let{definition:I,description:R}of v)f+=` ${this.format(r).bold(I.padEnd(D))} ${da(R,{format:this.format(r),paragraphs:!1})}`}if(A!==""&&(f+=`
`,f+=`${this.format(r).header("Details")}
`,f+=`
`,f+=da(A,{format:this.format(r),paragraphs:!0})),m.length>0){f+=`
`,f+=`${this.format(r).header("Examples")}
`;for(let[D,I]of m)f+=`
`,f+=da(D,{format:this.format(r),paragraphs:!1}),f+=`${I.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)}
`}}else{let{usage:h}=this.getUsageByRegistration(l);f+=`${this.format(r).bold(a)}${h}
`}else{let h=new Map;for(let[v,{index:D}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let I=typeof v.usage.category<"u"?da(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=h.get(I);typeof R>"u"&&h.set(I,R=[]);let{usage:N}=this.getUsageByIndex(D);R.push({commandClass:v,usage:N})}let A=Array.from(h.keys()).sort((v,D)=>v===null?-1:D===null?1:v.localeCompare(D,"en",{usage:"sort",caseFirst:"upper"})),m=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";m||w?(m&&w?f+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
`:m?f+=`${this.format(r).header(`${this.binaryLabel}`)}
`:f+=`${this.format(r).header(`${this.binaryVersion}`)}
`,f+=` ${this.format(r).bold(a)}${this.binaryName} <command>
`):f+=`${this.format(r).bold(a)}${this.binaryName} <command>
`;for(let v of A){let D=h.get(v).slice().sort((R,N)=>R.usage.localeCompare(N.usage,"en",{usage:"sort",caseFirst:"upper"})),I=v!==null?v.trim():"General commands";f+=`
`,f+=`${this.format(r).header(`${I}`)}
`;for(let{commandClass:R,usage:N}of D){let U=R.usage.description||"undocumented";f+=`
`,f+=` ${this.format(r).bold(N)}
`,f+=` ${da(U,{format:this.format(r),paragraphs:!1})}`}}f+=`
`,f+=da("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return f}error(e,r){var s,{colored:a,command:n=(s=e[Pue])!==null&&s!==void 0?s:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let l="",f=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");f==="Error"&&(f="Internal Error"),l+=`${this.format(a).error(f)}: ${e.message}
`;let h=e.clipanion;return typeof h<"u"?h.type==="usage"&&(l+=`
`,l+=this.usage(n)):e.stack&&(l+=`${e.stack.replace(/^.*\n/,"")}
`),l}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:t.defaultContext.colorDepth>1)?hue:Aue}getUsageByRegistration(e,r){let s=this.registrations.get(e);if(typeof s>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(s.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};ec.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:vue()}});var ES,Fue=tt(()=>{x0();ES=class extends At{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}
`)}};ES.paths=[["--clipanion=definitions"]]});var IS,Nue=tt(()=>{x0();IS=class extends At{async execute(){this.context.stdout.write(this.cli.usage())}};IS.paths=[["-h"],["--help"]]});function YT(t={}){return Xa({definition(e,r){var s;e.addProxy({name:(s=t.name)!==null&&s!==void 0?s:r,required:t.required})},transformer(e,r,s){return s.positionals.map(({value:a})=>a)}})}var xH=tt(()=>{Pp()});var wS,Oue=tt(()=>{x0();xH();wS=class extends At{constructor(){super(...arguments),this.args=YT()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)}
`)}};wS.paths=[["--clipanion=tokens"]]});var CS,Lue=tt(()=>{x0();CS=class extends At{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"}
`)}};CS.paths=[["-v"],["--version"]]});var kH={};lr(kH,{DefinitionsCommand:()=>ES,HelpCommand:()=>IS,TokensCommand:()=>wS,VersionCommand:()=>CS});var _ue=tt(()=>{Fue();Nue();Oue();Lue()});function Mue(t,e,r){let[s,a]=Nh(e,r??{}),{arity:n=1}=a,l=t.split(","),f=new Set(l);return Xa({definition(h){h.addOption({names:l,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(h,A,m){let w,v=typeof s<"u"?[...s]:void 0;for(let{name:D,value:I}of m.options)f.has(D)&&(w=D,v=v??[],v.push(I));return typeof v<"u"?fy(w??A,v,a.validator):v}})}var Uue=tt(()=>{Pp()});function Hue(t,e,r){let[s,a]=Nh(e,r??{}),n=t.split(","),l=new Set(n);return Xa({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,h,A){let m=s;for(let{name:w,value:v}of A.options)l.has(w)&&(m=v);return m}})}var jue=tt(()=>{Pp()});function Gue(t,e,r){let[s,a]=Nh(e,r??{}),n=t.split(","),l=new Set(n);return Xa({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,h,A){let m=s;for(let{name:w,value:v}of A.options)l.has(w)&&(m??(m=0),v?m+=1:m=0);return m}})}var que=tt(()=>{Pp()});function Vue(t={}){return Xa({definition(e,r){var s;e.addRest({name:(s=t.name)!==null&&s!==void 0?s:r,required:t.required})},transformer(e,r,s){let a=l=>{let f=s.positionals[l];return f.extra===bl||f.extra===!1&&l<e.arity.leading.length},n=0;for(;n<s.positionals.length&&a(n);)n+=1;return s.positionals.splice(0,n).map(({value:l})=>l)}})}var Wue=tt(()=>{qT();Pp()});function att(t,e,r){let[s,a]=Nh(e,r??{}),{arity:n=1}=a,l=t.split(","),f=new Set(l);return Xa({definition(h){h.addOption({names:l,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(h,A,m,w){let v,D=s;typeof a.env<"u"&&w.env[a.env]&&(v=a.env,D=w.env[a.env]);for(let{name:I,value:R}of m.options)f.has(I)&&(v=I,D=R);return typeof D=="string"?fy(v??A,D,a.validator):D}})}function ctt(t={}){let{required:e=!0}=t;return Xa({definition(r,s){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:s,required:t.required})},transformer(r,s,a){var n;for(let l=0;l<a.positionals.length;++l){if(a.positionals[l].extra===bl||e&&a.positionals[l].extra===!0||!e&&a.positionals[l].extra===!1)continue;let[f]=a.positionals.splice(l,1);return fy((n=t.name)!==null&&n!==void 0?n:s,f.value,t.validator)}}})}function Yue(t,...e){return typeof t=="string"?att(t,...e):ctt(t)}var Kue=tt(()=>{qT();Pp()});var ye={};lr(ye,{Array:()=>Mue,Boolean:()=>Hue,Counter:()=>Gue,Proxy:()=>YT,Rest:()=>Vue,String:()=>Yue,applyValidator:()=>fy,cleanValidationError:()=>_T,formatError:()=>pS,isOptionSymbol:()=>AS,makeCommandOption:()=>Xa,rerouteArguments:()=>Nh});var zue=tt(()=>{Pp();xH();Uue();jue();que();Wue();Kue()});var BS={};lr(BS,{Builtins:()=>kH,Cli:()=>ec,Command:()=>At,Option:()=>ye,UsageError:()=>ht,formatMarkdownish:()=>da,run:()=>Rue,runExit:()=>kue});var sr=tt(()=>{LT();yH();x0();Que();_ue();zue()});var Jue=H((M7t,ltt)=>{ltt.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var efe=H((U7t,kp)=>{var Zue=Ae("fs"),TH=Ae("path"),utt=Ae("os"),ftt=Ae("crypto"),htt=Jue(),QH=htt.version,Att=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function ptt(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,`
`);let s;for(;(s=Att.exec(r))!=null;){let a=s[1],n=s[2]||"";n=n.trim();let l=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),l==='"'&&(n=n.replace(/\\n/g,`
`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function dtt(t){let e=$ue(t),r=po.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let s=Xue(t).split(","),a=s.length,n;for(let l=0;l<a;l++)try{let f=s[l].trim(),h=ytt(r,f);n=po.decrypt(h.ciphertext,h.key);break}catch(f){if(l+1>=a)throw f}return po.parse(n)}function gtt(t){console.log(`[dotenv@${QH}][INFO] ${t}`)}function mtt(t){console.log(`[dotenv@${QH}][WARN] ${t}`)}function RH(t){console.log(`[dotenv@${QH}][DEBUG] ${t}`)}function Xue(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ytt(t,e){let r;try{r=new URL(e)}catch(f){throw f.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:[email protected]/vault/.env.vault?environment=development"):f}let s=r.password;if(!s)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,l=t.parsed[n];if(!l)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:l,key:s}}function $ue(t){let e=TH.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function Ett(t){return t[0]==="~"?TH.join(utt.homedir(),t.slice(1)):t}function Itt(t){gtt("Loading env from encrypted .env.vault");let e=po._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),po.populate(r,e,t),{parsed:e}}function wtt(t){let e=TH.resolve(process.cwd(),".env"),r="utf8",s=!!(t&&t.debug);t&&(t.path!=null&&(e=Ett(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=po.parse(Zue.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),po.populate(n,a,t),{parsed:a}}catch(a){return s&&RH(`Failed to load ${e} ${a.message}`),{error:a}}}function Ctt(t){let e=$ue(t);return Xue(t).length===0?po.configDotenv(t):Zue.existsSync(e)?po._configVault(t):(mtt(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),po.configDotenv(t))}function Btt(t,e){let r=Buffer.from(e.slice(-64),"hex"),s=Buffer.from(t,"base64"),a=s.slice(0,12),n=s.slice(-16);s=s.slice(12,-16);try{let l=ftt.createDecipheriv("aes-256-gcm",r,a);return l.setAuthTag(n),`${l.update(s)}${l.final()}`}catch(l){let f=l instanceof RangeError,h=l.message==="Invalid key length",A=l.message==="Unsupported state or unable to authenticate data";if(f||h){let m="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(m)}else if(A){let m="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(m)}else throw console.error("Error: ",l.code),console.error("Error: ",l.message),l}}function vtt(t,e,r={}){let s=!!(r&&r.debug),a=!!(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),s&&RH(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var po={configDotenv:wtt,_configVault:Itt,_parseVault:dtt,config:Ctt,decrypt:Btt,parse:ptt,populate:vtt};kp.exports.configDotenv=po.configDotenv;kp.exports._configVault=po._configVault;kp.exports._parseVault=po._parseVault;kp.exports.config=po.config;kp.exports.decrypt=po.decrypt;kp.exports.parse=po.parse;kp.exports.populate=po.populate;kp.exports=po});var rfe=H((H7t,tfe)=>{"use strict";tfe.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var hy=H((j7t,FH)=>{"use strict";var Stt=rfe(),nfe=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,s=()=>{r--,e.length>0&&e.shift()()},a=(f,h,...A)=>{r++;let m=Stt(f,...A);h(m),m.then(s,s)},n=(f,h,...A)=>{r<t?a(f,h,...A):e.push(a.bind(null,f,h,...A))},l=(f,...h)=>new Promise(A=>n(f,A,...h));return Object.defineProperties(l,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),l};FH.exports=nfe;FH.exports.default=nfe});function Mh(t){return`YN${t.toString(10).padStart(4,"0")}`}function KT(t){let e=Number(t.slice(2));if(typeof Tr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var Tr,zT=tt(()=>{Tr=(Ge=>(Ge[Ge.UNNAMED=0]="UNNAMED",Ge[Ge.EXCEPTION=1]="EXCEPTION",Ge[Ge.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Ge[Ge.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Ge[Ge.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Ge[Ge.BUILD_DISABLED=5]="BUILD_DISABLED",Ge[Ge.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Ge[Ge.MUST_BUILD=7]="MUST_BUILD",Ge[Ge.MUST_REBUILD=8]="MUST_REBUILD",Ge[Ge.BUILD_FAILED=9]="BUILD_FAILED",Ge[Ge.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Ge[Ge.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Ge[Ge.LINKER_NOT_FOUND=12]="LINKER_NOT_FO Line truncated
`,"\r","(",")","!","|","&","^"],!0,!1),ae=function(re){return e.queryPattern.test(re)},ge=function(re){return e.checkFn(re)},de=Qe("whitespace"),xe=/^[ \t\n\r]/,we=Fe([" "," ",`
`,"\r"],!1,!1),d=0,be=0,Ce=[{line:1,column:1}],Ee=0,he=[],$=0,De;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function Te(){return t.substring(be,d)}function ot(){return Me(be,d)}function j(re,ce){throw ce=ce!==void 0?ce:Me(be,d),P([Qe(re)],t.substring(be,d),ce)}function rt(re,ce){throw ce=ce!==void 0?ce:Me(be,d),C(re,ce)}function Ne(re,ce){return{type:"literal",text:re,ignoreCase:ce}}function Fe(re,ce,ke){return{type:"class",parts:re,inverted:ce,ignoreCase:ke}}function Pe(){return{type:"any"}}function He(){return{type:"end"}}function Qe(re){return{type:"other",description:re}}function ft(re){var ce=Ce[re],ke;if(ce)return ce;for(ke=re-1;!Ce[ke];)ke--;for(ce=Ce[ke],ce={line:ce.line,column:ce.column};ke<re;)t.charCodeAt(ke)===10?(ce.line++,ce.column=1):ce.column++,ke++;return Ce[re]=ce,ce}function Me(re,ce){var ke=ft(re),Le=ft(ce);return{start:{offset:re,line:ke.line,column:ke.column},end:{offset:ce,line:Le.line,column:Le.column}}}function x(re){d<Ee||(d>Ee&&(Ee=d,he=[]),he.push(re))}function C(re,ce){return new Ay(re,null,null,ce)}function P(re,ce,ke){return new Ay(Ay.buildMessage(re,ce),re,ce,ke)}function E(){var re,ce,ke,Le,pt,St,er,ur;if(re=d,ce=F(),ce!==r){for(ke=[],Le=d,pt=X(),pt!==r?(t.charCodeAt(d)===124?(St=n,d++):(St=r,$===0&&x(l)),St===r&&(t.charCodeAt(d)===38?(St=f,d++):(St=r,$===0&&x(h)),St===r&&(t.charCodeAt(d)===94?(St=A,d++):(St=r,$===0&&x(m)))),St!==r?(er=X(),er!==r?(ur=F(),ur!==r?(pt=[pt,St,er,ur],Le=pt):(d=Le,Le=r)):(d=Le,Le=r)):(d=Le,Le=r)):(d=Le,Le=r);Le!==r;)ke.push(Le),Le=d,pt=X(),pt!==r?(t.charCodeAt(d)===124?(St=n,d++):(St=r,$===0&&x(l)),St===r&&(t.charCodeAt(d)===38?(St=f,d++):(St=r,$===0&&x(h)),St===r&&(t.charCodeAt(d)===94?(St=A,d++):(St=r,$===0&&x(m)))),St!==r?(er=X(),er!==r?(ur=F(),ur!==r?(pt=[pt,St,er,ur],Le=pt):(d=Le,Le=r)):(d=Le,Le=r)):(d=Le,Le=r)):(d=Le,Le=r);ke!==r?(be=re,ce=w(ce,ke),re=ce):(d=re,re=r)}else d=re,re=r;return re}function F(){var re,ce,ke,Le,pt,St;return re=d,t.charCodeAt(d)===33?(ce=v,d++):(ce=r,$===0&&x(D)),ce!==r?(ke=F(),ke!==r?(be=re,ce=I(ke),re=ce):(d=re,re=r)):(d=re,re=r),re===r&&(re=d,t.charCodeAt(d)===40?(ce=R,d++):(ce=r,$===0&&x(N)),ce!==r?(ke=X(),ke!==r?(Le=E(),Le!==r?(pt=X(),pt!==r?(t.charCodeAt(d)===41?(St=U,d++):(St=r,$===0&&x(V)),St!==r?(be=re,ce=ee(Le),re=ce):(d=re,re=r)):(d=re,re=r)):(d=re,re=r)):(d=re,re=r)):(d=re,re=r),re===r&&(re=Z())),re}function Z(){var re,ce,ke,Le,pt;if(re=d,ce=X(),ce!==r){if(ke=d,Le=[],te.test(t.charAt(d))?(pt=t.charAt(d),d++):(pt=r,$===0&&x(ie)),pt!==r)for(;pt!==r;)Le.push(pt),te.test(t.charAt(d))?(pt=t.charAt(d),d++):(pt=r,$===0&&x(ie));else Le=r;Le!==r?ke=t.substring(ke,d):ke=Le,ke!==r?(be=d,Le=ae(ke),Le?Le=void 0:Le=r,Le!==r?(be=re,ce=ge(ke),re=ce):(d=re,re=r)):(d=re,re=r)}else d=re,re=r;return re}function X(){var re,ce;for($++,re=[],xe.test(t.charAt(d))?(ce=t.charAt(d),d++):(ce=r,$===0&&x(we));ce!==r;)re.push(ce),xe.test(t.charAt(d))?(ce=t.charAt(d),d++):(ce=r,$===0&&x(we));return $--,re===r&&(ce=r,$===0&&x(de)),re}if(De=a(),De!==r&&d===t.length)return De;throw De!==r&&d<t.length&&x(He()),P(he,Ee<t.length?t.charAt(Ee):null,Ee<t.length?Me(Ee,Ee+1):Me(Ee,Ee))}Khe.exports={SyntaxError:Ay,parse:Fit}});var Jhe=H(cQ=>{var{parse:Nit}=zhe();cQ.makeParser=(t=/[a-z]+/)=>(e,r)=>Nit(e,{queryPattern:t,checkFn:r});cQ.parse=cQ.makeParser()});var Xhe=H((LVt,Zhe)=>{"use strict";Zhe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodLine truncated
`:`
`)+r,a=s+1,s=t.indexOf(`
`,a)}while(s!==-1);return n+=t.substr(a),n};dAe.exports={stringReplaceAll:Kit,stringEncaseCRLFWithFirstIndex:zit}});var wAe=H((VVt,IAe)=>{"use strict";var Jit=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,mAe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Zit=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Xit=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,$it=new Map([["n",`
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function EAe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):$it.get(t)||t}function est(t,e){let r=[],s=e.trim().split(/\s*,\s*/g),a;for(let n of s){let l=Number(n);if(!Number.isNaN(l))r.push(l);else if(a=n.match(Zit))r.push(a[2].replace(Xit,(f,h,A)=>h?EAe(h):A));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function tst(t){mAe.lastIndex=0;let e=[],r;for(;(r=mAe.exec(t))!==null;){let s=r[1];if(r[2]){let a=est(s,r[2]);e.push([s].concat(a))}else e.push([s])}return e}function yAe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let s=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in s))throw new Error(`Unknown Chalk style: ${a}`);s=n.length>0?s[a](...n):s[a]}return s}IAe.exports=(t,e)=>{let r=[],s=[],a=[];if(e.replace(Jit,(n,l,f,h,A,m)=>{if(l)a.push(EAe(l));else if(h){let w=a.join("");a=[],s.push(r.length===0?w:yAe(t,r)(w)),r.push({inverse:f,styles:tst(h)})}else if(A){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");s.push(yAe(t,r)(a.join(""))),a=[],r.pop()}else a.push(m)}),s.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return s.join("")}});var Cw=H((WVt,DAe)=>{"use strict";var kS=fQ(),{stdout:a5,stderr:c5}=pAe(),{stringReplaceAll:rst,stringEncaseCRLFWithFirstIndex:nst}=gAe(),{isArray:hQ}=Array,BAe=["ansi","ansi","ansi256","ansi16m"],ww=Object.create(null),ist=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=a5?a5.level:0;t.level=e.level===void 0?r:e.level},l5=class{constructor(e){return vAe(e)}},vAe=t=>{let e={};return ist(e,t),e.template=(...r)=>bAe(e.template,...r),Object.setPrototypeOf(e,AQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=l5,e.template};function AQ(t){return vAe(t)}for(let[t,e]of Object.entries(kS))ww[t]={get(){let r=pQ(this,u5(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};ww.visible={get(){let t=pQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SAe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SAe)ww[t]={get(){let{level:e}=this;return function(...r){let s=u5(kS.color[BAe[e]][t](...r),kS.color.close,this._styler);return pQ(this,s,this._isEmpty)}}};for(let t of SAe){let e="bg"+t[0].toUpperCase()+t.slice(1);ww[e]={get(){let{level:r}=this;return function(...s){let a=u5(kS.bgColor[BAe[r]][t](...s),kS.bgColor.close,this._styler);return pQ(this,a,this._isEmpty)}}}}var sst=Object.defineProperties(()=>{},{...ww,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),u5=(t,e,r)=>{let s,a;return r===void 0?(s=t,a=e):(s=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:s,closeAll:a,parent:r}},pQ=(t,e,r)=>{let s=(...a)=>hQ(a[0])&&hQ(a[0].raw)?CAe(s,bAe(s,...a)):CAe(s,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(s,sst),s._generator=t,s._styler=e,s._isEmpty=r,s},CAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:s,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=rst(e,r.close,r.open),r=r.parent;let n=e.indexOf(`
`);return n!==-1&&(e=nst(e,a,s,n)),s+e+a},o5,bAe=(t,...e)=>{let[r]=e;if(!hQ(r)||!hQ(r.raw))return e.join(" ");let s=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(s[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return o5===void 0&&(o5=wAe()),o5(t,a.join(""))};Object.defineProperties(AQ.prototype,ww);var dQ=AQ();dQ.supportsColor=a5;dQ.stderr=AQ({level:c5?c5.level:0});dQ.stderr.supportsColor=c5;DAe.exports=dQ});var gQ=H(fu=>{"use strict";fu.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;fu.find=(t,e)=>t.nodes.find(r=>r.type===e);fu.exceedsLimit=(t,e,r=1,s)=>s===!1||!fu.isInteger(t)||!fu.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=s;fu.escapeNode=(t,e=0,r)=>{let s=t.nodes[e];s&&(r&&s.type===r||s.type==="open"||s.type==="close")&&s.escaped!==!0&&(s.value="\\"+s.value,s.escaped=!0)};fu.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0);fu.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;fu.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;fu.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);fu.flatten=(...t)=>{let e=[],r=s=>{for(let a=0;a<s.length;a++){let n=s[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var mQ=H((KVt,xAe)=>{"use strict";var PAe=gQ();xAe.exports=(t,e={})=>{let r=(s,a={})=>{let n=e.escapeInvalid&&PAe.isInvalidBrace(a),l=s.invalid===!0&&e.escapeInvalid===!0,f="";if(s.value)return(n||l)&&PAe.isOpenOrClose(s)?"\\"+s.value:s.value;if(s.value)return s.value;if(s.nodes)for(let h of s.nodes)f+=r(h);return f};return r(t)}});var RAe=H((zVt,kAe)=>{"use strict";kAe.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var UAe=H((JVt,MAe)=>{"use strict";var TAe=RAe(),py=(t,e,r)=>{if(TAe(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(TAe(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let s={relaxZeros:!0,...r};typeof s.strictZeros=="boolean"&&(s.relaxZeros=s.strictZeros===!1);let a=String(s.relaxZeros),n=String(s.shorthand),l=String(s.capture),f=String(s.wrap),h=t+":"+e+"="+a+n+l+f;if(py.cache.hasOwnProperty(h))return py.cache[h].result;let A=Math.min(t,e),m=Math.max(t,e);if(Math.abs(A-m)===1){let R=t+"|"+e;return s.capture?`(${R})`:s.wrap===!1?R:`(?:${R})`}let w=_Ae(t)||_Ae(e),v={min:t,max:e,a:A,b:m},D=[],I=[];if(w&&(v.isPadded=w,v.maxLen=String(v.max).length),A<0){let R=m<0?Math.abs(m):1;I=QAe(R,Math.abs(A),v,s),A=v.a=0}return m>=0&&(D=QAe(A,m,v,s)),v.negatives=I,v.positives=D,v.result=ost(I,D,s),s.capture===!0?v.result=`(${v.result})`:s.wrap!==!1&&D.length+I.length>1&&(v.result=`(?:${v.result})`),py.cache[h]=v,v.result};function ost(t,e,r){let s=f5(t,e,"-",!1,r)||[],a=f5(e,t,"",!1,r)||[],n=f5(t,e,"-?",!0,r)||[];return s.concat(n).concat(a).join("|")}function ast(t,e){let r=1,s=1,a=NAe(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=NAe(t,r);for(a=OAe(e+1,s)-1;t<a&&a<=e;)n.add(a),s+=1,a=OAe(e+1,s)-1;return n=[...n],n.sort(ust),n}function cst(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let s=lst(t,e),a=s.length,n="",l=0;for(let f=0;f<a;f++){let[h,A]=s[f];h===A?n+=h:h!=="0"||A!=="9"?n+=fst(h,A,r):l++}return l&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[l],digits:a}}function QAe(t,e,r,s){let a=ast(t,e),n=[],l=t,f;for(let h=0;h<a.length;h++){let A=a[h],m=cst(String(l),String(A),s),w="";if(!r.isPadded&&f&&f.pattern===m.pattern){f.count.length>1&&f.count.pop(),f.count.push(m.count[0]),f.string=f.pattern+LAe(f.count),l=A+1;continue}r.isPadded&&(w=hst(A,r,s)),m.string=w+m.pattern+LAe(m.count),n.push(m),l=A+1,f=m}return n}function f5(t,e,r,s,a){let n=[];for(let l of t){let{string:f}=l;!s&&!FAe(e,"string",f)&&n.push(r+f),s&&FAe(e,"string",f)&&n.push(r+f)}return n}function lst(t,e){let r=[];for(let s=0;s<t.length;s++)r.push([t[s],e[s]]);return r}function ust(t,e){return t>e?1:e>t?-1:0}function FAe(t,e,r){return t.some(s=>s[e]===r)}function NAe(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function OAe(t,e){return t-t%Math.pow(10,e)}function LAe(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function fst(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function _Ae(t){return/^-?(0+)\d/.test(t)}function hst(t,e,r){if(!e.isPadded)return t;let s=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(s){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${s}}`:`0{${s}}`}}py.cache={};py.clearCache=()=>py.cache={};MAe.exports=py});var p5=H((ZVt,KAe)=>{"use strict";var Ast=Ae("util"),GAe=UAe(),HAe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),pst=t=>e=>t===!0?Number(e):String(e),h5=t=>typeof t=="numb Line truncated
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var ape=H((tWt,ope)=>{"use strict";var Sst=mQ(),{MAX_LENGTH:npe,CHAR_BACKSLASH:d5,CHAR_BACKTICK:bst,CHAR_COMMA:Dst,CHAR_DOT:Pst,CHAR_LEFT_PARENTHESES:xst,CHAR_RIGHT_PARENTHESES:kst,CHAR_LEFT_CURLY_BRACE:Rst,CHAR_RIGHT_CURLY_BRACE:Tst,CHAR_LEFT_SQUARE_BRACKET:ipe,CHAR_RIGHT_SQUARE_BRACKET:spe,CHAR_DOUBLE_QUOTE:Qst,CHAR_SINGLE_QUOTE:Fst,CHAR_NO_BREAK_SPACE:Nst,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ost}=rpe(),Lst=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},s=typeof r.maxLength=="number"?Math.min(npe,r.maxLength):npe;if(t.length>s)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${s})`);let a={type:"root",input:t,nodes:[]},n=[a],l=a,f=a,h=0,A=t.length,m=0,w=0,v,D={},I=()=>t[m++],R=N=>{if(N.type==="text"&&f.type==="dot"&&(f.type="text"),f&&f.type==="text"&&N.type==="text"){f.value+=N.value;return}return l.nodes.push(N),N.parent=l,N.prev=f,f=N,N};for(R({type:"bos"});m<A;)if(l=n[n.length-1],v=I(),!(v===Ost||v===Nst)){if(v===d5){R({type:"text",value:(e.keepEscaping?v:"")+I()});continue}if(v===spe){R({type:"text",value:"\\"+v});continue}if(v===ipe){h++;let N=!0,U;for(;m<A&&(U=I());){if(v+=U,U===ipe){h++;continue}if(U===d5){v+=I();continue}if(U===spe&&(h--,h===0))break}R({type:"text",value:v});continue}if(v===xst){l=R({type:"paren",nodes:[]}),n.push(l),R({type:"text",value:v});continue}if(v===kst){if(l.type!=="paren"){R({type:"text",value:v});continue}l=n.pop(),R({type:"text",value:v}),l=n[n.length-1];continue}if(v===Qst||v===Fst||v===bst){let N=v,U;for(e.keepQuotes!==!0&&(v="");m<A&&(U=I());){if(U===d5){v+=U+I();continue}if(U===N){e.keepQuotes===!0&&(v+=U);break}v+=U}R({type:"text",value:v});continue}if(v===Rst){w++;let U={type:"brace",open:!0,close:!1,dollar:f.value&&f.value.slice(-1)==="$"||l.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};l=R(U),n.push(l),R({type:"open",value:v});continue}if(v===Tst){if(l.type!=="brace"){R({type:"text",value:v});continue}let N="close";l=n.pop(),l.close=!0,R({type:N,value:v}),w--,l=n[n.length-1];continue}if(v===Dst&&w>0){if(l.ranges>0){l.ranges=0;let N=l.nodes.shift();l.nodes=[N,{type:"text",value:Sst(l)}]}R({type:"comma",value:v}),l.commas++;continue}if(v===Pst&&w>0&&l.commas===0){let N=l.nodes;if(w===0||N.length===0){R({type:"text",value:v});continue}if(f.type==="dot"){if(l.range=[],f.value+=v,f.type="range",l.nodes.length!==3&&l.nodes.length!==5){l.invalid=!0,l.ranges=0,f.type="text";continue}l.ranges++,l.args=[];continue}if(f.type==="range"){N.pop();let U=N[N.length-1];U.value+=f.value+v,f=U,l.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(l=n.pop(),l.type!=="root"){l.nodes.forEach(V=>{V.nodes||(V.type==="open"&&(V.isOpen=!0),V.type==="close"&&(V.isClose=!0),V.nodes||(V.type="text"),V.invalid=!0)});let N=n[n.length-1],U=N.nodes.indexOf(l);N.nodes.splice(U,1,...l.nodes)}while(n.length>0);return R({type:"eos"}),a};ope.exports=Lst});var upe=H((rWt,lpe)=>{"use strict";var cpe=mQ(),_st=ZAe(),Mst=epe(),Ust=ape(),Dl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let s of t){let a=Dl.create(s,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(Dl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Dl.parse=(t,e={})=>Ust(t,e);Dl.stringify=(t,e={})=>cpe(typeof t=="string"?Dl.parse(t,e):t,e);Dl.compile=(t,e={})=>(typeof t=="string"&&(t=Dl.parse(t,e)),_st(t,e));Dl.expand=(t,e={})=>{typeof t=="string"&&(t=Dl.parse(t,e));let r=Mst(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Dl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Dl.compile(t,e):Dl.expand(t,e);lpe.exports=Dl});var TS=H((nWt,dpe)=>{"use strict";var Hst=Ae("path"),Hh="\\\\/",fpe=`[^${Hh}]`,Rp="\\.",jst="\\+",Gst="\\?",EQ="\\/",qst="(?=.)",hpe="[^/]",g5=`(?:${EQ}|$)`,Ape=`(?:^|${EQ})`,m5=`${Rp}{1,2}${g5}`,Vst=`(?!${Rp})`,Wst=`(?!${Ape}${m5})`,Yst=`(?!${Rp}{0,1}${g5})`,Kst=`(?!${m5})`,zst=`[^.${EQ}]`,Jst=`${hpe}*?`,ppe={DOT_LITERAL:Rp,PLUS_LITERAL:jst,QMARK_LITERAL:Gst,SLASH_LITERAL:EQ,ONE_CHAR:qst,QMARK:hpe,END_ANCHOR:g5,DOTS_SLASH:m5,NO_DOT:Vst,NO_DOTS:Wst,NO_DOT_SLASH:Yst,NO_DOTS_SLASH:Kst,QMARK_NO_DOT:zst,STAR:Jst,START_ANCHOR:Ape},Zst={...ppe,SLASH_LITERAL:`[${Hh}]`,QMARK:fpe,STAR:`${fpe}*?`,DOTS_SLASH:`${Rp}{1,2}(?:[${Hh}]|$)`,NO_DOT:`(?!${Rp})`,NO_DOTS:`(?!(?:^|[${Hh}])${Rp}{1,2}(?:[${Hh}]|$))`,NO_DOT_SLASH:`(?!${Rp}{0,1}(?:[${Hh}]|$))`,NO_DOTS_SLASH:`(?!${Rp}{1,2}(?:[${Hh}]|$))`,QMARK_NO_DOT:`[^.${Hh}]`,START_ANCHOR:`(?:^|[${Hh}])`,END_ANCHOR:`(?:[${Hh}]|$)`},Xst={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&' Line truncated
`),f!==-1){let h=a+l.substring(0,f);l=l.substring(f+1),a="",e!==null?this.reportInfo(null,`${e} ${h}`):this.reportInfo(null,h)}while(f!==-1);a+=l}),r.on("end",()=>{let n=s.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var Zw,H9=tt(()=>{mu();Ea();Zw=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));return s||null}getFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));if(!s)throw new Zt(11,`${hn(r.project.configuration,e)} isn't supported by any available fetcher`);return s}}});var Dy,j9=tt(()=>{Ea();Dy=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,s){return this.getResolverByDescriptor(e,s).bindDescriptor(e,r,s)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,s){return await this.getResolverByDescriptor(e,s).getCandidates(e,r,s)}async getSatisfying(e,r,s,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,s,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDescriptor(e,r));return s||null}getResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!s)throw new Error(`${xi(r.project.configuration,e)} isn't supported by any available resolver`);return s}tryResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator(e,r));return s||null}getResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator(e,r));if(!s)throw new Error(`${hn(r.project.configuration,e)} isn't supported by any available resolver`);return s}}});var Xw,G9=tt(()=>{Mt();Ea();Xw=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(s+1),n=mo(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(s+1),n=mo(e,a),l=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,l,r)}getLocatorFilename(e){return Yw(e)}async ensureVirtualLink(e,r,s){let a=r.packageFs.getRealPath(),n=s.project.configuration.get("virtualFolder"),l=this.getLocatorFilename(e),f=Mo.makeVirtualPath(n,l,a),h=new Qh(f,{baseFs:r.packageFs,pathUtils:Y});return{...r,packageFs:h}}}});var UF,qge=tt(()=>{UF=class t{static{this.protocol="virtual:"}static isVirtualDescriptor(e){return!!e.range.startsWith(t.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(t.protocol)}supportsDescriptor(e,r){return t.isVirtualDescriptor(e)}supportsLocator(e,r){return t.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,s){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,s,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}});var $w,q9=tt(()=>{Mt();by();$w=class{supports(e){return!!e.reference.startsWith(Gi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let s=this.getWorkspace(e,r).cwd;return{packageFs:new Jn(s),prefixPath:Rt.dot,localPath:s}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Gi.protocol.length))}}});function sb(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Vge(t){return typeof t>"u"?3:sb(t)?0:Array.isArray(t)?1:2}function Y9(t,e){return Object.hasOwn(t,e)}function aut(t){return sb(t)&&Y9(t,"onConflict")&&typeof t.onConflict=="string"}function cut(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!aut(t))return{onConflict:"default",value:t};if(Y9(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function Wge(t,e){let r=sb(t)&&Y9(t,e)?t[e]:void 0;return cut(r)}function eC(t,e){return[t,e,Yge]}function K9(t){return Array.isArray(t)?t[2]===Yge:!1}function V9(t,e){if(sb(t)){let r={};for(let s of Object.keys(t))r[s]=V9(t[s],e);return eC(e,r)}return Array.isArray(t)?eC(e,t.map(r=>V9(r,e))):eC(e,t)}function W9(t,e,r,s,a){let n,l=[],f=a,h=0;for(let m=a-Line truncated
Please report this to https://github.com/szmarczak/http2-wrapper/`);I(R)}return}s[0].resolve(D);return}}if(l in this.queue){if(f in this.queue[l]){this.queue[l][f].listeners.push(...s),this._tryToCreateNewSession(l,f);return}}else this.queue[l]={};let h=()=>{l in this.queue&&this.queue[l][f]===A&&(delete this.queue[l][f],Object.keys(this.queue[l]).length===0&&delete this.queue[l])},A=()=>{let m=`${f}:${l}`,w=!1;try{let v=Sft.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(m),...r});v[oc]=0,v[sC]=!1;let D=()=>v[oc]<v.remoteSettings.maxConcurrentStreams,I=!0;v.socket.once("session",N=>{this.tlsSessionCache.set(m,N)}),v.once("error",N=>{for(let{reject:U}of s)U(N);this.tlsSessionCache.delete(m)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(w){I&&this._freeSessionsCount--,this._sessionsCount--;let N=this.sessions[l];N.splice(N.indexOf(v),1),N.length===0&&delete this.sessions[l]}else{let N=new Error("Session closed without receiving a SETTINGS frame");N.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of s)U(N);h()}this._tryToCreateNewSession(l,f)});let R=()=>{if(!(!(l in this.queue)||!D())){for(let N of v[yu])if(N in this.queue[l]){let{listeners:U}=this.queue[l][N];for(;U.length!==0&&D();)U.shift().resolve(v);let V=this.queue[l];if(V[N].listeners.length===0&&(delete V[N],Object.keys(V).length===0)){delete this.queue[l];break}if(!D())break}}};v.on("origin",()=>{v[yu]=v.originSet,D()&&(R(),xG(this.sessions[l],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,A.destroyed){let N=new Error("Agent has been destroyed");for(let U of s)U.reject(N);v.destroy();return}v[yu]=v.originSet;{let N=this.sessions;if(l in N){let U=N[l];U.splice(Pft(U,v,xft),0,v)}else N[l]=[v]}this._freeSessionsCount+=1,w=!0,this.emit("session",v),R(),h(),v[oc]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),s.length!==0&&(this.getSession(f,r,s),s.length=0),v.on("remoteSettings",()=>{R(),xG(this.sessions[l],v)})}),v[$me]=v.request,v.request=(N,U)=>{if(v[sC])throw new Error("The session is gracefully closing. No new streams are allowed.");let V=v[$me](N,U);return v.ref(),++v[oc],v[oc]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,V.once("close",()=>{if(I=D(),--v[oc],!v.destroyed&&!v.closed&&(kft(this.sessions[l],v),D()&&!v.closed)){I||(this._freeSessionsCount++,I=!0);let ee=v[oc]===0;ee&&v.unref(),ee&&(this._freeSessionsCount>this.maxFreeSessions||v[sC])?v.close():(xG(this.sessions[l],v),R())}}),V}}catch(v){for(let D of s)D.reject(v);h()}};A.listeners=s,A.completed=!1,A.destroyed=!1,this.queue[l][f]=A,this._tryToCreateNewSession(l,f)})}request(e,r,s,a){return new Promise((n,l)=>{this.getSession(e,r,[{reject:l,resolve:f=>{try{n(f.request(s,a))}catch(h){l(h)}}}])})}createConnection(e,r){return t.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let s=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),vft.connect(s,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[oc]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let s of r)s.destroy(e);for(let r of Object.values(this.queue))for(let s of Object.values(r))s.destroyed=!0;this.queue={}}get freeSessions(){return eye({agent:this,isFree:!0})}get busySessions(){return eye({agent:this,isFree:!1})}};xy.kCurrentStreamsCount=oc;xy.kGracefullyClosing=sC;rye.exports={Agent:xy,globalAgent:new xy}});var TG=H((LJt,nye)=>{"use strict";var{Readable:Rft}=Ae("stream"),RG=class extends Rft{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};nye.exports=RG});var QG=H((_Jt,iye)=>{"use strict";iye.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var oye=H((MJt,sye)=>{"use strict";sye.exports=(t,e,r)=>{for(let s of r)t.on(s,(...a)=>e.emit(s,...a))}});var cye=H((UJt,aye)=>{"use strict";aye.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var uye=H((jJt,lye)=>{"use strict";var oC=(t,e,r)=>{lye.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r: Line truncated
`).reverse(),f=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(`
`).reverse();for(;f.length!==0&&f[0]===l[0];)l.shift();this.stack=`${this.stack.slice(0,n)}${l.reverse().join(`
`)}${f.reverse().join(`
`)}`}}};ai.RequestError=Ls;var aN=class extends Ls{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};ai.MaxRedirectsError=aN;var cN=class extends Ls{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};ai.HTTPError=cN;var lN=class extends Ls{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};ai.CacheError=lN;var uN=class extends Ls{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};ai.UploadError=uN;var fN=class extends Ls{constructor(e,r,s){super(e.message,e,s),this.name="TimeoutError",this.event=e.event,this.timings=r}};ai.TimeoutError=fN;var gb=class extends Ls{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};ai.ReadError=gb;var hN=class extends Ls{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};ai.UnsupportedProtocolError=hN;var _ht=["socket","connect","continue","information","upgrade","timeout"],AN=class extends Wye.Duplex{constructor(e,r={},s){super({autoDestroy:!1,highWaterMark:0}),this[cC]=0,this[uC]=0,this.requestInitialized=!1,this[iN]=new Set,this.redirects=[],this[fC]=!1,this[sN]=!1,this[db]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",A=>{A.prependListener("data",a),A.on("data",n),A.prependListener("end",a),A.on("end",n)}),this.on("unpipe",A=>{A.off("data",a),A.off("data",n),A.off("end",a),A.off("end",n)}),this.on("pipe",A=>{A instanceof nq.IncomingMessage&&(this.options.headers={...A.headers,...this.options.headers})});let{json:l,body:f,form:h}=r;if((l||f||h)&&this._lockWrite(),ai.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,s)}catch(A){gt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(A);return}(async()=>{var A;try{this.options.body instanceof mht.ReadStream&&await Nht(this.options.body);let{url:m}=this.options;if(!m)throw new TypeError("Missing `url` property");if(this.requestUrl=m.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(A=this[Go])===null||A===void 0||A.destroy();return}for(let w of this[db])w();this[db].length=0,this.requestInitialized=!0}catch(m){if(m instanceof Ls){this._beforeError(m);return}this.destroyed||this.destroy(m)}})()}static normalizeArguments(e,r,s){var a,n,l,f,h;let A=r;if(gt.default.object(e)&&!gt.default.urlInstance(e))r={...s,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...s,...r},e!==void 0&&(r.url=e),gt.default.urlInstance(r.url)&&(r.url=new V0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),gt.assert.any([gt.default.string,gt.default.undefined],r.method),gt.assert.any([gt.default.object,gt.default.undefined],r.headers),gt.assert.any([gt.default.string,gt.default.urlInstance,gt.default.undefined],r.prefixUrl),gt.assert.any([gt.default.object,gt.default.undefined],r.cookieJar),gt.assert.any([gt.default.object,gt.default.string,gt.default.undefined],r.searchParams),gt.assert.any([gt.default.object,gt.default.string,gt.default.undefined],r.cache),gt.assert.any([gt.default.object,gt.default.number,gt.default.undefined],r.timeout),gt.assert.any([gt.default.object,gt.default.undefined],r.context),gt.assert.any([gt.default.object,gt.default.undefined],r.hooks),gt.assert.any([gt.default.boolean,gt.default.undefined],r.decompress),gt.assert.any([gt.default.boolean,gt.default.undefined],r.ignoreInvalidCookies),gt.assert.any([gt.default.boolean,gt.default.undefined],r.followRedirect),gt.assert.any([gt.default.number,gt.default.undefined],r.maxRedirects),gt.assert.any([gt.default.boolean,gt.default.undefined],r.throwHttpErrors),gt.assert.any([gt.default.boolean,gt.default.undefined],r.http2),gt.assert.any([gt.default.boolean,gt.default.undefined],r.allowGetBody),gt.assert.any([gt.default.string,gt.default.undefined],r.localAddress),gt.assert.any([Xye.isDnsLookupIpVersion,gt.default.undefined],r.dnsLookupIpVersion),gt.assert.any([gt.default.object,gt.default.undefined],r.https),gt.assert.any([gt.default.boolean,gt.default.undefined],r.rejectUnauthorized),r.https&&(gt.assert.any([gt.default.boolean,gt.default.undefined],r.https.rejectUnauthorized),gt.assert.any([gt.default.function_,gt.default.undefined],r.https.checkServerIdentity),gt.assert.any([gt.default.string,gt.default.object,gt.default.array,gt.default.undefined],r.https.certificateAuthority),gt.assert.any([gt.default.string,gt.default.object,gt.default.array,gt.default.undefined],r.https.key),gt.assert.any([gt.default.string,gt.default.object,gt.default.array,gt.default.undefined],r.https.certificate),gt.assert.any([gt.default.string,gt.default.undefined],r.https.passphrase),gt.assert.any([gt.default.string,gt.default.buffer,gt.default.array,gt.default.undefined],r.httpLine truncated
`)[3];return BAt(e)}function Iq(){return typeof IN.default.availableParallelism<"u"?IN.default.availableParallelism():Math.max(1,IN.default.cpus().length)}var IN,gAt,kEe,mAt,yAt,REe,TEe,wAt,CAt,wN=tt(()=>{Mt();IN=st(Ae("os"));CN();Au();gAt=Number(process.versions.node.split(".")[0]),kEe=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),mAt=typeof kEe<"u"?async t=>{try{return await wq(kEe,[t],{cwd:Y.cwd()}),!0}catch{return!1}}:void 0,yAt="/usr/bin/ldd";wAt=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,CAt=/\((\S*)(?::(\d+))(?::(\d+))\)/});function Dq(t,e,r,s,a){let n=ob(r);if(s.isArray||s.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((l,f)=>Cq(t,`${e}[${f}]`,l,s,a)):String(n).split(/,/).map(l=>Cq(t,e,l,s,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Cq(t,e,r,s,a)}function Cq(t,e,r,s,a){let n=ob(r);switch(s.type){case"ANY":return HF(n);case"SHAPE":return PAt(t,e,r,s,a);case"MAP":return xAt(t,e,r,s,a)}if(n===null&&!s.isNullable&&s.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if("values"in s&&s.values?.includes(n))return n;let f=(()=>{if(s.type==="BOOLEAN"&&typeof n!="string")return qS(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let h=$Q(n,{env:t.env});switch(s.type){case"ABSOLUTE_PATH":{let A=a,m=z9(r);return m&&m[0]!=="<"&&(A=Y.dirname(m)),Y.resolve(A,me.toPortablePath(h))}case"LOCATOR_LOOSE":return Op(h,!1);case"NUMBER":return parseInt(h);case"LOCATOR":return Op(h);case"BOOLEAN":return qS(h);case"DURATION":return eF(h,s.unit);default:return h}})();if("values"in s&&s.values&&!s.values.includes(f))throw new Error(`Invalid value, expected one of ${s.values.join(", ")}`);return f}function PAt(t,e,r,s,a){let n=ob(r);if(typeof n!="object"||Array.isArray(n))throw new ht(`Object configuration settings "${e}" must be an object`);let l=Pq(t,s,{ignoreArrays:!0});if(n===null)return l;for(let[f,h]of Object.entries(n)){let A=`${e}.${f}`;if(!s.properties[f])throw new ht(`Unrecognized configuration settings found: ${e}.${f} - run "yarn config" to see the list of settings supported in Yarn`);l.set(f,Dq(t,A,h,s.properties[f],a))}return l}function xAt(t,e,r,s,a){let n=ob(r),l=new Map;if(typeof n!="object"||Array.isArray(n))throw new ht(`Map configuration settings "${e}" must be an object`);if(n===null)return l;for(let[f,h]of Object.entries(n)){let A=s.normalizeKeys?s.normalizeKeys(f):f,m=`${e}['${A}']`,w=s.valueDefinition;l.set(A,Dq(t,m,h,w,a))}return l}function Pq(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let s=new Map;for(let[a,n]of Object.entries(e.properties))s.set(a,Pq(t,n));return s}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(s=>Y.normalize(s)):Y.isAbsolute(e.default)?Y.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(s=>Y.resolve(t.projectCwd,s)):Y.resolve(t.projectCwd,e.default);case"DURATION":return eF(e.default,e.unit);default:return e.default}}function vN(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return DAt;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return me.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let s=[];for(let a of t)s.push(vN(a,e,r));return s}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let s=new Map;for(let[a,n]of t.entries()){let l=vN(n,e.valueDefinition,r);typeof l<"u"&&s.set(a,l)}return s}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let s=new Map;for(let[a,n]of t.entries()){let l=e.properties[a],f=vN(n,l,r);typeof f<"u"&&s.set(a,f)}return s}return t}function kAt(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(SN)&&(e=(0,FEe.default)(e.slice(SN.length)),t[e]=r);return t}function vq(){let t=`${SN}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return Sq}async function QEe(t){try{return await fe.readFilePromise(t)}catch{return Buffer.of()}}async function RAt(t,e){return Buffer.compare(...await Promise.all([QEe(t),QEe(e)]))===0}async function TAt(t,e){let[r,s]=await Promise.all([fe.statPromise(t),fe.statPromise(e)]);return r.dev===s.dev&&r.ino===s.ino}async function FAt({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await QAt(r,e)?null:r}var FEe,jp,NEe,OEe,LEe,Bq,SAt,wb,bAt,Gp,SN,Sq,DAt,hC,_Ee,bq,bN,BN,QAt,$e,Cb=tt(()=>{Mt();au();FEe=st(aue()),jp=st(ly());sr();NEe=st(efe()),OEe=Ae("module"),LEe=st(hy()),Bq=Ae("stream");Tge();Jw();H9();j9();G9();qge();q9();by();zge();GF();pu();G0();EN();Au();wN();_p();Ea();SAt=function(){if(!jp.GITHUB_ACTIONS||!process.env.GITHUB_EVE Line truncated
`);return{stdout:n,stderr:l}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let s of r.resolvers||[])e.push(new s);return new Dy([new UF,new Gi,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let s of r.fetchers||[])e.push(new s);return new Zw([new Xw,new $w,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let s of r.linkers||[])e.push(new s);return e}getSupportedArchitectures(){let e=Ib(),r=this.get("supportedArchitectures"),s=r.get("os");s!==null&&(s=s.map(l=>l==="current"?e.os:l));let a=r.get("cpu");a!==null&&(a=a.map(l=>l==="current"?e.cpu:l));let n=r.get("libc");return n!==null&&(n=kl(n,l=>l==="current"?e.libc??kl.skip:l)),{os:s,cpu:a,libc:n}}isInteractive({interactive:e,stdout:r}){return r.isTTY?e??this.get("preferInteractive"):!1}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(s,a,{userProvided:n=!1}={})=>{if(!Vc(s.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let l=new nr;l.load(a,{yamlCompatibilityMode:!0});let f=GS(e,s.identHash),h=[];f.push([s.range,h]);let A={status:"inactive",userProvided:n,parentDescriptor:s};for(let m of l.dependencies.values())h.push({...A,type:"Dependency",descriptor:m});for(let m of l.peerDependencies.values())h.push({...A,type:"PeerDependency",descriptor:m});for(let[m,w]of l.peerDependenciesMeta)for(let[v,D]of Object.entries(w))h.push({...A,type:"PeerDependencyMeta",selector:m,key:v,value:D})};await this.triggerHook(s=>s.registerPackageExtensions,this,r);for(let[s,a]of this.get("packageExtensions"))r(q0(s,!0),XQ(a),{userProvided:!0});return e}normalizeLocator(e){return Vc(e.reference)?mo(e,`${this.get("defaultProtocol")}${e.reference}`):Gp.test(e.reference)?mo(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return Vc(e.range)?oi(e,`${this.get("defaultProtocol")}${e.range}`):Gp.test(e.range)?oi(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,s])=>[r,this.normalizeDependency(s)]))}normalizePackage(e,{packageExtensions:r}){let s=ZS(e),a=r.get(e.identHash);if(typeof a<"u"){let l=e.version;if(l!==null){for(let[f,h]of a)if(Wh(l,f))for(let A of h)switch(A.status==="inactive"&&(A.status="redundant"),A.type){case"Dependency":typeof s.dependencies.get(A.descriptor.identHash)>"u"&&(A.status="active",s.dependencies.set(A.descriptor.identHash,this.normalizeDependency(A.descriptor)));break;case"PeerDependency":typeof s.peerDependencies.get(A.descriptor.identHash)>"u"&&(A.status="active",s.peerDependencies.set(A.descriptor.identHash,A.descriptor));break;case"PeerDependencyMeta":{let m=s.peerDependenciesMeta.get(A.selector);(typeof m>"u"||!Object.hasOwn(m,A.key)||m[A.key]!==A.value)&&(A.status="active",Rl(s.peerDependenciesMeta,A.selector,()=>({}))[A.key]=A.value)}break;default:z5(A)}}}let n=l=>l.scope?`${l.scope}__${l.name}`:`${l.name}`;for(let l of s.peerDependenciesMeta.keys()){let f=nc(l);s.peerDependencies.has(f.identHash)||s.peerDependencies.set(f.identHash,oi(f,"*"))}for(let l of s.peerDependencies.values()){if(l.scope==="types")continue;let f=n(l),h=ic("types",f),A=Qn(h);s.peerDependencies.has(h.identHash)||s.peerDependenciesMeta.has(A)||s.dependencies.has(h.identHash)||(s.peerDependencies.set(h.identHash,oi(h,"*")),s.peerDependenciesMeta.set(A,{optional:!0}))}return s.dependencies=new Map(go(s.dependencies,([,l])=>Gc(l))),s.peerDependencies=new Map(go(s.peerDependencies,([,l])=>Gc(l))),s}getLimit(e){return Rl(this.limits,e,()=>(0,LEe.default)(this.get(e)))}async triggerHook(e,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=e(a);n&&await n(...r)}}async triggerMultipleHooks(e,r){for(let s of r)await this.triggerHook(e,...s)}async reduceHook(e,r,...s){let a=r;for(let n of this.plugins.values()){let l=n.hooks;if(!l)continue;let f=e(l);f&&(a=await f(a,...s))}return a}async firstHook(e,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=e(a);if(!n)continue;let l=await n(...r);if(typeof l<"u")return l}return null}}});var un={};lr(un,{EndStrategy:()=>Tq,ExecError:()=>DN,PipeError:()=>Bb,execvp:()=>wq,pipevp:()=>Tf});function Ry(t){return t!==null&&typeof t.fd=="number"}function xq(){}function kq(){for(let t of Ty)t.kill()}async function Tf(t,e,{cwd:r,env:s=process.env,strict:a=!1,stdin:n=null,stdout:l,stderr:f,end:h=2}){let A=["pipe","pipe","pipe"];n===null?A[0]="ignore":Ry(n)&&(A[0]=n),Ry(l)&&(A[1]=l),Ry(f)&&(A[2]=f);let m=(0,Rq.default)(t,e,{cwd:me.fromPortablePath(r),env:{...s,PWD:me.fromPortablePath(r)},stdio:A});Ty.add(m),Ty.size===1&&(process.on("SIGINT",xq),process.on("SIGTERM",kq)),!Ry(n)&&n!==null&&n.pipe(m.stdin),Ry(l)||m.stdout.pipe(l,{end:!1}),Ry(f)||m.stderr.pipe(f,{end:!1});let w=()=>{for(let v of new Set([l,f]))Ry(v)||v.end()};return new Promise((v,D)=>{m.on("error",I=>{Ty.delete(m),Ty.size===0&&(process.off("SIGINT",xq),pro Line truncated
This command will run a command using Yarn's portable shell.
Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell.
Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell.
Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used.
For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md.
`,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await pC(r,[],{cwd:me.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}}});var Tl,tIe=tt(()=>{Tl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var FN={};lr(FN,{fastGlobOptions:()=>iIe,isBraceExpansion:()=>Wq,isGlobPattern:()=>HAt,match:()=>jAt,micromatchOptions:()=>QN});function HAt(t){if(!TN.default.scan(t,QN).isGlob)return!1;try{TN.default.parse(t,QN)}catch{return!1}return!0}function jAt(t,{cwd:e,baseFs:r}){return(0,rIe.default)(t,{...iIe,cwd:me.fromPortablePath(e),fs:vT(nIe.default,new B0(r))})}function Wq(t){return TN.default.scan(t,QN).isBrace}var rIe,nIe,TN,QN,iIe,sIe=tt(()=>{Mt();rIe=st(xF()),nIe=st(Ae("fs")),TN=st(ma()),QN={strictBrackets:!0},iIe={onlyDirectories:!1,onlyFiles:!1}});function Yq(){}function Kq(){for(let t of Fy)t.kill()}function lIe(t,e,r,s){return a=>{let n=a[0]instanceof zh.Transform?"pipe":a[0],l=a[1]instanceof zh.Transform?"pipe":a[1],f=a[2]instanceof zh.Transform?"pipe":a[2],h=(0,aIe.default)(t,e,{...s,stdio:[n,l,f]});return Fy.add(h),Fy.size===1&&(process.on("SIGINT",Yq),process.on("SIGTERM",Kq)),a[0]instanceof zh.Transform&&a[0].pipe(h.stdin),a[1]instanceof zh.Transform&&h.stdout.pipe(a[1],{end:!1}),a[2]instanceof zh.Transform&&h.stderr.pipe(a[2],{end:!1}),{stdin:h.stdin,promise:new Promise(A=>{h.on("error",m=>{switch(Fy.delete(h),Fy.size===0&&(process.off("SIGINT",Yq),process.off("SIGTERM",Kq)),m.code){case"ENOENT":a[2].write(`command not found: ${t}
`),A(127);break;case"EACCES":a[2].write(`permission denied: ${t}
`),A(128);break;default:a[2].write(`uncaught error: ${m.message}
`),A(1);break}}),h.on("close",m=>{Fy.delete(h),Fy.size===0&&(process.off("SIGINT",Yq),process.off("SIGTERM",Kq)),A(m!==null?m:129)})})}}}function uIe(t){return e=>{let r=e[0]==="pipe"?new zh.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function NN(t,e){return Jq.start(t,e)}function oIe(t,e=null){let r=new zh.PassThrough,s=new cIe.StringDecoder,a="";return r.on("data",n=>{let l=s.write(n),f;do if(f=l.indexOf(`
`),f!==-1){let h=a+l.substring(0,f);l=l.substring(f+1),a="",t(e!==null?`${e} ${h}`:h)}while(f!==-1);a+=l}),r.on("end",()=>{let n=s.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function fIe(t,{prefix:e}){return{stdout:oIe(r=>t.stdout.write(`${r}
`),t.stdout.isTTY?e:null),stderr:oIe(r=>t.stderr.write(`${r}
`),t.stderr.isTTY?e:null)}}var aIe,zh,cIe,Fy,wu,zq,Jq,Zq=tt(()=>{aIe=st(O6()),zh=Ae("stream"),cIe=Ae("string_decoder"),Fy=new Set;wu=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},zq=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Jq=class t{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:s,stderr:a}){let n=new t(null,e);return n.stdin=r,n.stdout=s,n.stderr=a,n}pipeTo(e,r=1){let s=new t(this,e),a=new zq;return s.pipe=a,s.stdout=this.stdout,s.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),s}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let s;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");s=this.stderr,e[2]=s.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),s.close(),n))}async run(){let e=[];for(let s=this;s;s=s.ancestor)e.push(s.exec());return(await Promise.all(e))[0]}}});var Tb={};lr(Tb,{EntryCommand:()=>Db,ShellError:()=>Tl,execute:()=>pC,globUtils:()=>FN});function hIe(t,e,r){let s=new Ql.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(s,{end:!1}),(e&2)===2&&r.stdin instanceof Ql.Writable&&s.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(s,{end:!1}),(e&2)===2&&s.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(s,{end:!1}),(e&2)===2&&s.pipe(r.stderr,{end:!1});break;default:throw new Tl(`Bad file descriptor: "${t}"`)}return s}function LN(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function qAt(t,e,r){let s=[],a=new Ql.PassThrough;return a.on("data",n=>s.push(n)),await _N(t,e,LN(r,{stdout:a})),Buffer.concat(s).toString().replace(/[\r\n]+$/,"")}async function AIe(t,e,r){let s=t.map(async n=>{let l=await Ny(n.args,e,r);return{name:n.name,value:l.join(" ")}});return(await Promise.all(s)).reduce((n,l)=>(n[l.name]=l.value,n),{})}function ON(t){return t.match(/[^ \r\n\t]+/g)||[]}async function EIe(t,e,r,s,a=s){switch(t.name){case"$":s(String(process.pid));break;case"#":s(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let l=ON(n);for(let f=0;f<l.length-1;++f)a(l[f]);s(l[l.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)s(n);else for(let l of ON(n))a(l)}break;case"PPID":s(String(process.ppid));break;case"RANDOM":s(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),l,f=Number.isFinite(n);if(f?n>=0&&n<e.args.length&&(l=e.args[n]):Object.hasOwn(r.variables,t.name)?l=r.variables[t.name]:Object.hasOwn(r.environment,t.name)&&(l=r.environment[t.name]),typeof l<"u"&&t.alternativeValue?l=(await Ny(t.alternativeValue,e,r)).join(" "):typeof l>"u"&&(t.defaultValue?l=(await Ny(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(l="")),typeof l>"u")throw f?new Tl(`Unbound argument #${n}`):new Tl(`Unbound variable "${t.name}"`);if(t.quoted)s(l);else{let h=ON(l);for(let m=0;m<h.length-1;++m)a(h[m]);let A=h[h.length-1];typeof A<"u"&&s(A)}}break}}async function xb(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let s=[];await EIe({...t,quoted:!0},e,r,n=>s.push(n));let a=Number(s.join(" "));return Number.isNaN(a)?xb({type:"variable",name:s.join(" ")},e,r):xb({type:"number",value:a},e,r)}else return VAt[t.type](await xb(t.left,e,r),await xb(t.right,e,r))}async function Ny(t,e,r){let s=new Map,a=[],n=[],l=m=>{n.push(m)},f=()=>{n.length>0&&a.push(n.join("")),n=[]},h=m=>{l(m),f()},A=(m,w,v)=>{let D=JSON.stringify({type:m,fd:w}),I=s.get(D);typeof I>"u"&&s.set(D,I=[]),I.push(v)};for(let m of t){let w=!1;switch(m.type){case"redirection":{let v=await Ny(m.args,e,r);for(let D of v)A(m.subtype,m.fd,D)}break;case"argument":for(let v of m.segments)switch(v.type){case"text":l(v.text);break;case"glob":l(v.pattern),w=!0;break;case"shell":{let D=await qAt(v.shell,e,r);if(v.quoted)l(D);else{let I=ON(D);for(let R=0;R<I.length-1;++R)h(I[R]);l(I[I.length-1])}}break;case"variable":await EIe(v,e,r,l,h);break;case"arithmetic":l(String(await xb(v.arithmetic,e,r)));break}break}if(f(),w){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pa Line truncated
`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${h}, '${l(hw(t))}' has ended
`)})),0}return await dIe(t,e,r)}async function zAt(t,e,r,{background:s=!1}={}){let a,n=f=>{a=f,r.variables["?"]=String(f)},l=async f=>{try{return await KAt(f.chain,e,r,{background:s&&typeof f.then>"u"})}catch(h){if(!(h instanceof Tl))throw h;return r.stderr.write(`${h.message}
`),1}};for(n(await l(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await l(t.then.line));break;case"||":a!==0&&n(await l(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function _N(t,e,r){let s=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:l}of t){if(a=await zAt(n,e,r,{background:l==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=s,a}function IIe(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Rb(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>Rb(e));case"arithmetic":return Xq(t.arithmetic);case"shell":return $q(t.shell);default:return!1}}function Rb(t){switch(t.type){case"redirection":return t.args.some(e=>Rb(e));case"argument":return t.segments.some(e=>IIe(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function Xq(t){switch(t.type){case"variable":return IIe(t);case"number":return!1;default:return Xq(t.left)||Xq(t.right)}}function $q(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let s;switch(r.type){case"subshell":s=$q(r.subshell);break;case"command":s=r.envs.some(a=>a.args.some(n=>Rb(n)))||r.args.some(a=>Rb(a));break}if(s)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function pC(t,e=[],{baseFs:r=new pi,builtins:s={},cwd:a=me.toPortablePath(process.cwd()),env:n=process.env,stdin:l=process.stdin,stdout:f=process.stdout,stderr:h=process.stderr,variables:A={},glob:m=FN}={}){let w={};for(let[I,R]of Object.entries(n))typeof R<"u"&&(w[I]=R);let v=new Map(GAt);for(let[I,R]of Object.entries(s))v.set(I,R);l===null&&(l=new Ql.PassThrough,l.end());let D=DT(t,m);if(!$q(D)&&D.length>0&&e.length>0){let{command:I}=D[D.length-1];for(;I.then;)I=I.then.line;let R=I.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(N=>({type:"argument",segments:[{type:"text",text:N}]}))))}return await _N(D,{args:e,baseFs:r,builtins:v,initialStdin:l,initialStdout:f,initialStderr:h,glob:m},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:l,stdout:f,stderr:h,variables:Object.assign({},A,{"?":0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var gIe,mIe,Ql,yIe,GAt,VAt,Pb=tt(()=>{Mt();au();gIe=st(Cw()),mIe=Ae("os"),Ql=Ae("stream"),yIe=Ae("timers/promises");eIe();tIe();sIe();Zq();Zq();GAt=new Map([["cd",async([t=(0,mIe.homedir)(),...e],r,s)=>{let a=Y.resolve(s.cwd,me.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(l=>{throw l.code==="ENOENT"?new Tl(`cd: no such file or directory: ${t}`):l})).isDirectory())throw new Tl(`cd: not a directory: ${t}`);return s.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${me.fromPortablePath(r.cwd)}
`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,s)=>s.exitCode=parseInt(t??s.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")}
`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new Tl("sleep: missing operand");let s=Number(t);if(Number.isNaN(s))throw new Tl(`sleep: invalid time interval '${t}'`);return await(0,yIe.setTimeout)(1e3*s,0)}],["unset",async(t,e,r)=>{for(let s of t)delete r.environment[s],delete r.variables[s];return 0}],["__ysh_run_procedure",async(t,e,r)=>{let s=r.procedures[t[0]];return await NN(s,{stdin:new wu(r.stdin),stdout:new wu(r.stdout),stderr:new wu(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let s=r.stdin,a=r.stdout,n=r.stderr,l=[],f=[],h=[],A=0;for(;t[A]!=="--";){let w=t[A++],{type:v,fd:D}=JSON.parse(w),I=V=>{switch(D){case null:case 0:l.push(V);break;default:throw new Error(`Unsupported file descriptor: "${D}"`)}},R=V=>{switch(D){case null:case 1:f.push(V);break;case 2:h.push(V);break;default:throw new Error(`Unsupported file descriptor: "${D}"`)}},N=Number(t[A++]),U=A+N;for(let V=A;V<U;++A,++V)switch(v){case"<":I(()=>e.baseFs.createReadStream(Y.resolve(r.cwd,me.toPortablePath(t[V]))));break;case"<<<":I(()=>{let ee=new Ql.PassThrough;return process.nextTick(()=>{ee.write(`${t[V]}
`),ee.end()}),ee});break;case"<&":I(()=>hIe(Number(t[V]),1,r));break;case">":case">>":{let ee=Y.resolve(r.cwd,me.toPortablePath(t[V]));R(ee==="/dev/null"?new Ql.Writable({autoDestroy:!0,emitClose:!0,write(te,ie,ae){setImmediate(ae)}}):e.baseFs.createWriteStream(ee,v===">>"?{flags:"a"}:void 0))}break;case">&":R(hIe(Number(t[V]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(l.length>0){let w=new Ql.PassThrough;s=w;let v=D=>{if(D===l.length)w.end();else{let I=l[D]();I.pipe(w,{end:!1}),I.on("end",()=>{v(D+1)})}};v(0)}if(f.length>0){let w=new Ql.PassThrough;a=w;for(let v of f)w.pipe(v)}if(h.length>0){let w=new Ql.PassThrough;n=w;for(let v of h)w.pipe(v)}let m=await NN(kb(t.slice(A+1),e,r),{stdin:new wu(s),stdout:new wu(a),stderr:new wu(n)}).run();return await Promise.all(f.map(w=>new Promise((v,D)=>{w.on("error",I=>{D(I)}),w.on("close",()=>{v()}),w.end()}))),await Promise.all(h.map(w=>new Promise((v,D)=>{w.on("error",I=>{D(I)}),w.on("close",()=>{v()}),w.end()}))),m}]]);VAt={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var wIe=H((g$t,MN)=>{function JAt(){var t=0,e=1,r=2,s=3,a=4,n=5,l=6,f=7,h=8,A=9,m=10,w=11,v=12,D=13,I=14,R=15,N=16,U=17,V=0,ee=1,te=2,ie=3,ae=4;function ge(d,be){return 55296<=d.charCodeAt(be)&&d.charCodeAt(be)<=56319&&56320<=d.charCodeAt(be+1)&&d.charCodeAt(be+1)<=57343}function de(d,be){be===void 0&&(be=0);var Ce=d.charCodeAt(be);if(55296<=Ce&&Ce<=56319&&be<d.length-1){var Ee=Ce,he=d.charCodeAt(be+1);return 56320<=he&&he<=57343?(Ee-55296)*1024+(he-56320)+65536:Ee}if(56320<=Ce&&Ce<=57343&&be>=1){var Ee=d.charCodeAt(be-1),he=Ce;return 55296<=Ee&&Ee<=56319?(Ee-55296)*1024+(he-56320)+65536:he}return Ce}function xe(d,be,Ce){var Ee=[d].concat(be).concat([Ce]),he=Ee[Ee.length-2],$=Ce,De=Ee.lastIndexOf(I);if(De>1&&Ee.slice(1,De).every(function(j){return j==s})&&[s,D,U].indexOf(d)==-1)return te;var Te=Ee.lastIndexOf(a);if(Te>0&&Ee.slice(1,Te).every(function(j){return j==a})&&[v,a].indexOf(he)==-1)return Ee.filter(function(j){return j==a}).length%2==1?ie:ae;if(he==t&&$==e)return V;if(he==r||he==t||he==e)return $==I&&be.every(function(j){return j==s})?te:ee;if($==r||$==t||$==e)return ee;if(he==l&&($==l||$==f||$==A||$==m))return V;if((he==A||he==f)&&($==f||$==h))return V;if((he==m||he==h)&&$==h)return V;if($==s||$==R)return V;if($==n)return V;if(he==v)return V;var ot=Ee.indexOf(s)!=-1?Ee.lastIndexOf(s)-1:Ee.length-2;return[D,U].indexOf(Ee[ot])!=-1&&Ee.slice(ot+1,-1).every(function(j){return j==s})&&$==I||he==R&&[N,U].indexOf($)!=-1?V:be.indexOf(a)!=-1?te:he==a&&$==a?V:ee}this.nextBreak=function(d,be){if(be===void 0&&(be=0),be<0)return 0;if(be>=d.length-1)return d.length;for(var Ce=we(de(d,be)),Ee=[],he=be+1;he<d.length;he++)if(!ge(d,he-1)){var $=we(de(d,he));if(xe(Ce,Ee,$))return he;Ee.push($)}return d.length},this.splitGraphemes=function(d){for(var be=[],Ce=0,Ee;(Ee=this.nextBreak(d,Ce))<d.length;)be.push(d.slice(Ce,Ee)),Ce=Ee;return Ce<d.length&&be.push(d.slice(Ce)),be},this.iterateGraphemes=function(d){var be=0,Ce={next:function(){var Ee,he;return(he=this.nextBreak(d,be))<d.length?(Ee=d.slice(be,he),be=he,{value:Ee,done:!1}):be<d.length?(Ee=d.slice(be),be=d.length,{value:Ee,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ce[Symbol.iterator]=function(){return Ce}),Ce},this.countGraphemes=function(d){for(var be=0,Ce=0,Ee;(Ee=this.nextBreak(d,Ce))<d.length;)Ce=Ee,be++;return Ce<d.length&&be++,be};function we(d){return 1536<=d&&d<=1541||d==1757||d==1807||d==2274||d==3406||d==69821||70082<=d&&d<=70083||d==72250||72326<=d&&d<=72329||d==73030?v:d==13?t:d==10?e:0<=d&&d<=9||11<=d&&d<=12||14<=d&&d<=31||127<=d&&d<=159||d==173||d==1564||d==6158||d==8203||8206<=d&&d<=8207||d==8232||d==8233||8234<=d&&d<=8238||8288<=d&&d<=8292||d==8293||8294<=d&&d<=8303||55296<=d&&d<=57343||d==65279||65520<=d&&d<=65528||65529<=d&&d<=65531||113824<=d&&d<=113827||119155<=d&&d<=119162||d==917504||d==917505||917506<=d&&d<=917535||917632<=d&&d<=917759||918e3<=d&&d<=921599?r:768<=d&&d<=879||1155<=d&&d<=1159||1160<=d&&d<=1161||1425<=d&&d<=1469||d==1471||1473<=d&&d<=1474||1476<=d&&d<=1477||d==1479||1552<=d&&d<=1562||1611<=d&&d<=1631||d==1648||1750<=d&&d<=1756||1759<=d&&d<=1764||1767<=d&&d<=1768||1770<=d&&d<=1773||d==1809||1840<=d&&d<=1866||1958<=d&&d<=1968||2027<=d&&d<=2035||2070<=d&&d<=2073||2075<=d&&d<=2083||2085<=d&&d<=2087||2089<=d&&d<=2093||2137<=d&&d<=2139||2260<=d&&d<=2273||2275<=d&&d<=2306||d==2362||d==2364||2369<=d&&d<=2376||d==2381||2385<=d&&d<=2391||2402<=d&&d<=2403||d==2433||d==2492||d==2494||2497<=d&&d<=2500||d==2509||d==2519||2530<=d&&d<=2531||2561<=d&&d<=2562||d==2620||2625<=d&&d<=2626||2631<=d&&d<=2632||2635<=d&&d<=2637||d==2641||2672<=d&&d<=2673||d==2677||2689<=d&&d<=2690||d==2748||2753<=d&&d<=2757||2759<=d&&d<=2760||d==2765||2786<=d&&d<=2787||2810<=d&&d<=2815||d==2817||d==2876||d==2878||d==2879||2881<=d&&d<=2884||d==2893||d==2902||d==2903||2914<=d&&d<=2915||d==2946||d==3006|| Line truncated
`,end:t=>`::endgroup::
`}:HN.default.TRAVIS?{start:t=>`travis_fold:start:${t}
`,end:t=>`travis_fold:end:${t}
`}:HN.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t}
`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,PIe=z0!==null,bIe=new Date,ept=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,tpt=t=>t,jN=tpt({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),rpt=ept&&Object.keys(jN).find(t=>{let e=jN[t];return!(e.date&&(e.date[0]!==bIe.getDate()||e.date[1]!==bIe.getMonth()+1))})||"default";Wt=class extends jo{constructor({configuration:r,stdout:s,json:a=!1,forceSectionAlignment:n=!1,includeNames:l=!0,includePrefix:f=!0,includeFooter:h=!0,includeLogs:A=!a,includeInfos:m=A,includeWarnings:w=A}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(YS(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=l,this.includePrefix=f,this.includeFooter=h,this.includeInfos=m,this.includeWarnings=w,this.json=a,this.stdout=s,r.get("enableProgressBars")&&!a&&s.isTTY&&s.columns>22){let v=r.get("progressBarStyle")||rpt;if(!Object.hasOwn(jN,v))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=jN[v];let D=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*D/80)}}static async start(r,s){let a=new this(r),n=process.emitWarning;process.emitWarning=(l,f)=>{if(typeof l!="string"){let A=l;l=A.message,f=f??A.name}let h=typeof f<"u"?`${f}: ${l}`:l;a.reportWarning(0,h)},r.includeVersion&&a.reportInfo(0,wy(r.configuration,`Yarn ${Fn}`,2));try{await s(a)}catch(l){a.reportExceptionOnce(l)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let s=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,s-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let l={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(l):(l.action(),l.committed=!0);let f=Date.now();try{return n()}catch(h){throw this.reportExceptionOnce(h),h}finally{let h=Date.now();this.uncommitted.delete(l),l.committed&&s?.(h-f)}}async startSectionPromise({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let l={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(l):(l.action(),l.committed=!0);let f=Date.now();try{return await n()}catch(h){throw this.reportExceptionOnce(h),h}finally{let h=Date.now();this.uncommitted.delete(l),l.committed&&s?.(h-f)}}startTimerImpl(r,s,a){return{cb:typeof s=="function"?s:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,z0!==null&&!this.json&&this.includeInfos&&this.stdout.write(z0.start(r))},reportFooter:f=>{if(this.indent-=1,z0!==null&&!this.json&&this.includeInfos){this.stdout.write(z0.end(r));for(let h of this.timerFooter)h()}this.configuration.get("enableTimers")&&f>200?this.reportInfo(null,`\u2514 Completed in ${or(this.configuration,f,Ct.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof s=="function"?{}:s).skipIfEmpty}}startTimerSync(r,s,a){let{cb:n,...l}=this.startTimerImpl(r,s,a);return this.startSectionSync(l,n)}async startTimerPromise(r,s,a){let{cb:n,...l}=this.startTimerImpl(r,s,a);return this.startSectionPromise(l,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,s){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",l=`${this.formatPrefix(n,"blueBright")}${s}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(l)}reportWarning(r,s){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${s}`)}reportError(r,s){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,s)),this.reportErrorImpl(r,s)}reportErrorImpl(r,s){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"redBright")}${s}`,{truncate:!1})}reportFold(r,s){if(!z0)return;let a=`${z0.start(r)}${s}${z0.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)ret Line truncated
`),this.writeProgress()}writeLines(r,{truncate:s}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:s})}
`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let s of r)s.committed=!0,s.action()}clearProgress({delta:r=0,clear:s=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||s)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>SIe&&(this.progressFrame=(this.progressFrame+1)%vIe.length,this.progressTime=r);let s=vIe[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let A=this.progressStyle.chars[0].repeat(a.lastScaledSize),m=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${A}${m}`}let l=this.formatName(null),f=l?`${l}: `:"",h=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${or(this.configuration,"\u27A4","blueBright")} ${f}${s}${n}${h}
`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},SIe)}refreshProgress({delta:r=0,force:s=!1}={}){let a=!1,n=!1;if(s||this.progress.size===0)a=!0;else for(let l of this.progress.values()){let f=typeof l.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*l.definition.progress):void 0,h=l.lastScaledSize;l.lastScaledSize=f;let A=l.lastTitle;if(l.lastTitle=l.definition.title,f!==h||(n=A!==l.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:s}={}){return this.progressStyle===null&&(s=!1),typeof s>"u"&&(s=this.configuration.get("preferTruncatedLines")),s&&(r=(0,DIe.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?xIe(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,s){return this.includePrefix?`${or(this.configuration,"\u27A4",s)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?e7(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${$At} `}}});var qn={};lr(qn,{PackageManager:()=>RIe,detectPackageManager:()=>TIe,executePackageAccessibleBinary:()=>LIe,executePackageScript:()=>GN,executePackageShellcode:()=>t7,executeWorkspaceAccessibleBinary:()=>lpt,executeWorkspaceLifecycleScript:()=>NIe,executeWorkspaceScript:()=>FIe,getPackageAccessibleBinaries:()=>qN,getWorkspaceAccessibleBinaries:()=>OIe,hasPackageScript:()=>opt,hasWorkspaceScript:()=>r7,isNodeScript:()=>n7,makeScriptEnv:()=>Nb,maybeExecuteWorkspaceLifecycleScript:()=>cpt,prepareExternalProject:()=>spt});async function J0(t,e,r,s=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${s.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await fe.writeFilePromise(Y.format({dir:t,name:e,ext:".cmd"}),a)}await fe.writeFilePromise(Y.join(t,e),`#!/bin/sh
exec "${r}" ${s.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@"
`,{mode:493})}async function TIe(t){let e=await nr.tryFind(t);if(e?.packageManager){let s=NF(e.packageManager);if(s?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=s.reference.split(".");switch(s.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await fe.readFilePromise(Y.join(t,Or.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:fe.existsSync(Y.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:fe.existsSync(Y.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Nb({project:t,locator:e,binFolder:r,ignoreCorepack:s,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let l={};for(let[m,w]of Object.entries(n))typeof w<"u"&&(l[m.toLowerCase()!=="path"?m:"PATH"]=w);let f=me.fromPortablePath(r);l.BERRY_BIN_FOLDER=me.fromPortablePath(f);let h=process.env.COREPACK_ROOT&&!s?me.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([J0(r,"node",process.execPath),...Fn!==null?[J0(r,"run",process.execPath,[h,"run"]),J0(r,"yarn",process.execPath,[h]),J0(r,"yarnpkg",process.execPath,[h]),J0(r,"node-gyp",process.execPath,[h,"run","--top-level","node-gyp"])]:[]]),t&&(l.INIT_CWD=me.fromPortablePath(t.configuration.startingCwd),l.PROJECT_CWD=me.fromPortablePath(t.cwd)),l.PATH=l.PATH?`${f}${me.delimiter}${l.PATH}`:`${f}`,l.npm_execpath=`${f}${me.sep}yarn`,l.npm_node_execpath=`${f}${me.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let m=t.tryWorkspaceByLocator(e),w=m?m.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";l.npm_package_name=Qn(e),l.npm_package_version=w;let v;if(m)v=m.cwd;else{let D=t.storedPackages.get(e.locatorHash);if(!D)throw new Error(`Package for ${hn(t.configuration,e)} not found in the project`);let I=t.configuration.getLinkers(),R={project:t,report:new Wt({stdout:new Z0.PassThrough,configuration:t.configuration})},N=I.find(U=>U.supportsPackage(D,R));if(!N)throw new Error(`The package ${hn(t.configuration,D)} isn't supported by any of the available linkers`);v=await N.findPackageLocation(D,R)}l.npm_package_json=me.fromPortablePath(Y.join(v,Or.manifest))}let A=Fn!==null?`yarn/${Fn}`:`yarn/${Qp("@yarnpkg/core").version}-core`;return l.npm_config_user_agent=`${A} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(l.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(m=>m.setupScriptEnvironment,t,l,async(m,w,v)=>await J0(r,m,w,v)),l}async function spt(t,e,{configuration:r,report:s,workspace:a=null,locator:n=null}){await ipt(async()=>{await fe.mktempPromise(async l=>{let f=Y.join(l,"pack.log"),h=null,{stdout:A,stderr:m}=r.getSubprocessStreams(f,{prefix:me.fromPortablePath(t),report:s}),w=n&&kf(n)?Ww(n):n,v=w?qc(w):"an external project";A.write(`Packing ${v} from sources
`);let D=await TIe(t),I;D!==null?(A.write(`Using ${D.packageManager} for bootstrap. Reason: ${D.reason}
`),I=D.packageManager):(A.write(`No package manager configuration detected; defaulting to Yarn
`),I="Yarn");let R=I==="Yarn"&&!D?.packageManagerField;await fe.mktempPromise(async N=>{let U=await Nb({binFolder:N,ignoreCorepack:R,baseEnv:{...process.env,COREPACK_ENABLE_AUTO_PIN:"0"}}),ee=new Map([["Yarn Classic",async()=>{let ie=a!==null?["workspace",a]:[],ae=Y.join(t,Or.manifest),ge=await fe.readFilePromise(ae),de=await Tf(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:h,stdout:A,stderr:m,end:1});if(de.code!==0)return de.code;await fe.writeFilePromise(ae,ge),await fe.appendFilePromise(Y.join(t,".npmignore"),`/.yarn
`),A.write(`
`),delete U.NODE_ENV;let xe=await Tf("yarn",["install"],{cwd:t,env:U,stdin:h,stdout:A,stderr:m,end:1});if(xe.code!==0)return xe.code;A.write(`
`);let we=await Tf("yarn",[...ie,"pack","--filename",me.fromPortablePath(e)],{cwd:t,env:U,stdin:h,stdout:A,stderr:m});return we.code!==0?we.code:0}],["Yarn",async()=>{let ie=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ae=Y.join(t,Or.lockfile);await fe.existsPromise(ae)||await fe.writeFilePromise(ae,"");let ge=await Tf("yarn",[...ie,"pack","--install-if-needed","--filename",me.fromPortablePath(e)],{cwd:t,env:U,stdin:h,stdout:A,stderr:m});return ge.code!==0?ge.code:0}],["npm",async()=>{if(a!==null){let be=new Z0.PassThrough,Ce=Nw(be);be.pipe(A,{end:!1});let Ee=await Tf("npm",["--version"],{cwd:t,env:U,stdin:h,stdout:be,stderr:m,end:0});if(be.end(),Ee.code!==0)return A.end(),m.end(),Ee.code;let he=(await Ce).toString().trim();if(!Wh(he,">=7.x")){let $=ic(null,"npm"),De=oi($,he),Te=oi($,">=7.x");throw new Error(`Workspaces aren't supported by ${xi(r,De)}; please upgrade to ${xi(r,Te)} (npm has been detected as the primary package manager for ${or(r,t,Ct.PATH)})`)}}let ie=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ae=await Tf("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:h,stdout:A,stderr:m,end:1});if(ae.code!==0)return ae.code;let ge=new Z0.PassThrough,de=Nw(ge);ge.pipe(A);let xe=await Tf("npm",["pack","--silent",...ie],{cwd:t,env:U,stdin:h,stdout:ge,stderr:m});if(xe.code!==0)return xe.code;let we=(await de).toString().trim().replace(/^.*\n/s,""),d=Y.resolve(t,me.toPortablePath(we));return await fe.renamePromise(d,e),0}]]).get(I);if(typeof ee>"u")throw new Error("Assertion failed: Unsupported workflow");let te=await ee();if(!(te===0||typeof te>"u"))throw fe.detachTemp(l),new Zt(58,`Packing the package failed (exit code ${te}, logs can be found here: ${or(r,f,Ct.PATH)})`)})})})}async function opt(t,e,{project:r}){let s=r.tryWorkspaceByLocator(t);if(s!==null)return r7(s,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${hn(r.configuration,t)} not found in the project`);return await Yh.openPromise(async n=>{let l=r.configuration,f=r.configuration.getLinkers(),h={project:r,report:new Wt({stdout:new Z0.PassThrough,configuration:l})},A=f.find(D=>D.supportsPackage(a,h));if(!A)throw new Error(`The package ${hn(r.configuration,a)} isn't supported by any of the available linkers`);let m=await A.findPackageLocation(a,h),w=new Jn(m,{baseFs:n});return(await nr.find(Rt.dot,{baseFs:w})).scripts.has(e)})}async function GN(t,e,r,{cwd:s,project:a,stdin:n,stdout:l,stderr:f}){return await fe.mktempPromise(async h=>{let{manifest:A,env:m,cwd:w}=await QIe(t,{project:a,binFolder:h,cwd:s,lifecycleScript:e}),v=A.scripts.get(e);if(typeof v>"u")return 1;let D=async()=>await pC(v,r,{cwd:w,env:m,stdin:n,stdout:l,stderr:f});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,D,a,t,e,{script:v,args:r,cwd:w,env:m,stdin:n,stdout:l,stderr:f}))()})}async function t7(t,e,r,{cwd:s,project:a,stdin:n,stdout:l,stderr:f}){return await fe.mktempPromise(async h=>{let{env:A,cwd:m}=await QIe(t,{project:a,binFolder:h,cwd:s});return await pC(e,r,{cwd:m,env:A,stdin:n,stdout:l,stderr:f})})}async function apt(t,{binFolder:e,cwd:r,lifecycleScript:s}){let a=await Nb({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:s});return await i7(e,await OIe(t)),typeof r>"u"&&(r=Y.dirname(await fe.realpathPromise(Y.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function QIe(t,{project:e,binFolder:r,cwd:s,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return apt(n,{binFolder:r,cwd:s,lifecycleScript:a});let l=e.storedPackages.get(t.locatorHash);if(!l)throw new Error(`Package for ${hn(e.configuration,t)} not found in the project`);return await Yh.openPromise(async f=>{let h=e.configuration,A=e.configuration.getLinkers(),m={project:e,report:new Wt({stdout:new Z0.PassThrough,configuration:h})},w=A.find(N=>N.supportsPackage(l,m));if(!w)throw new Error(`The package ${hn(e.configuration,l)} isn't supported by any of the available linkers`);let v=await Nb({project:e,locator:t,binFolder:r,lifecycleScript:a});await i7(r,await qN(t,{project:e}));let D=await w.findPackageLocation(l,m),I=new Jn(D,{baseFs:f}),R=await nr.find(Rt.dot,{baseFs:I});return typeof s>"u"&&(s=D),{manifest:R,binFolder:r,env:v,cwd:s}})}async function FIe(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:l}){return await GN(t.anchoredLocator,e,r,{cwd:s,project:t.project,stdin:a,stdout:n,stderr:l})}function r7(t,e){return t.manifest.scripts.has(e)}async function NIe(t,e,{cwd:r,report:s}){let{configuration:a}=t.project,n=null;await fe.mktempPromise(async l=>{let f=Y.join(l,`${e}.log`),h=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${me.fromPortablePath(t.cwd)}")
`,{stdout:A,stderr:m}=a.getSubprocessStreams(f,{report:s,prefix:hn(a,t.anchoredLocator),header:h});s.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await FIe(t,e,[],{cwd:r,stdin:n,stdout:A,stderr:m});if(A.end(),m.end(),w!==0)throw fe.detachTemp(l),new Zt(36,`${HS(e)} script failed (exit code ${or(a,w,Ct.NUMBER)}, logs can be found here: ${or(a,f,Ct.PATH)}); run ${or(a,`yarn ${e}`,Ct.CODE)} to investigate`)})}async function cpt(t,e,r){r7(t,e)&&await NIe(t,e,r)}function n7(t){let e=Y.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),s;try{s=fe.openSync(t,"r")}catch{return!0}try{fe.readSync(s,r,0,r.length,0)}finally{fe.closeSync(s)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function qN(t,{project:e}){let r=e.configuration,s=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${hn(r,t)} not found in the project`);let n=new Z0.Writable,l=r.getLinkers(),f={project:e,report:new Wt({configuration:r,stdout:n})},h=new Set([t.locatorHash]);for(let m of a.dependencies.values()){let w=e.storedResolutions.get(m.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${xi(r,m)}) should have been registered`);h.add(w)}let A=await Promise.all(Array.from(h,async m=>{let w=e.storedPackages.get(m);if(!w)throw new Error(`Assertion failed: The package (${m}) should have been registered`);if(w.bin.size===0)return kl.skip;let v=l.find(I=>I.supportsPackage(w,f));if(!v)return kl.skip;let D=null;try{D=await v.findPackageLocation(w,f)}catch(I){if(I.code==="LOCATOR_NOT_INSTALLED")return kl.skip;throw I}return{dependency:w,packageLocation:D}}));for(let m of A){if(m===kl.skip)continue;let{dependency:w,packageLocation:v}=m;for(let[D,I]of w.bin){let R=Y.resolve(v,I);s.set(D,[w,me.fromPortablePath(R),n7(R)])}}return s}async function OIe(t){return await qN(t.anchoredLocator,{project:t.project})}async function i7(t,e){await Promise.all(Array.from(e,([r,[,s,a]])=>a?J0(t,r,process.execPath,[s]):J0(t,r,s,[])))}async function LIe(t,e,r,{cwd:s,project:a,stdin:n,stdout:l,stderr:f,nodeArgs:h=[],packageAccessibleBinaries:A}){A??=await qN(t,{project:a});let m=A.get(e);if(!m)throw new Error(`Binary not found (${e}) for ${hn(a.configuration,t)}`);return await fe.mktempPromise(async w=>{let[,v]=m,D=await Nb({project:a,locator:t,binFolder:w});await i7(D.BERRY_BIN_FOLDER,A);let I=n7(me.toPortablePath(v))?Tf(process.execPath,[...h,v,...r],{cwd:s,env:D,stdin:n,stdout:l,stderr:f}):Tf(v,r,{cwd:s,env:D,stdin:n,stdout:l,stderr:f}),R;try{R=await I}finally{await fe.removePromise(D.BERRY_BIN_FOLDER)}return R.code})}async function lpt(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:l,packageAccessibleBinaries:f}){return await LIe(t.anchoredLocator,e,r,{project:t.project,cwd:s,stdin:a,stdout:n,stderr:l,packageAccessibleBinaries:f})}var kIe,Z0,RIe,npt,ipt,s7=tt(()=>{Mt();Mt();Kh();Pb();xl();kIe=st(hy()),Z0=Ae("stream");Jw();mu();Fb();Qb();CN();pu();Au();_p();Ea();RIe=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(RIe||{});npt=2,ipt=(0,kIe.default)(npt)});function Cdt(t,e,r){let s=e,a=e?e.next:t.head,n=new lV(r,s,a,t);return n.next===void 0&&(t.tail=n),n.prev===void 0&&(t.head=n),t.length++,n}function Bdt(t,e){t.tail=new lV(e,t.tail,void 0,t),t.head||(t.head=t.tail),t.length++}function vdt(t,e){t.head=new lV(e,void 0,t.head,t),t.tail||(t.tail=t.head),t.length++}var pwe,lc,IO,tV,dwe,nV,Wy,CO,ywe,gO,og,jIe,Ewe,Vy,Swe,nD,Of,L7,kwe,V7,fV,Owe,hV,Vn,Us,AV,oD,SC,Yc,Hwe,iD,pV,Wc,gV,upt,fpt,_Ie,hpt,Apt,ppt,Vp,Wp,X0,VN,Ob,WN,MIe,YN,UIe,Qf,gC,yo,Lb,IC,Eo,cc,Io,o7,KN,Ba,Ss,a7,c7,HIe,l7,Jh,u7,zN,_b,Oy,Fl,Mb,dpt,gpt,mpt,ypt,gwe,Ept,Ipt,wpt,Zy,Cpt,cg,_f,Ub,di,f7,Jp,h7,Q7,F7,Jb,JN,vC,bC,A7,wC,lg,Lf,rg,Zh,CC,p7,zp,Hb,d7,sO,Ly,oO,Yy,rV,Bpt,wO,mwe,vpt,Spt,bpt,Dpt,Ppt,xpt,kpt,iV,sD,Rpt,eA,Tpt,GIe,Qpt,g7,Ky,ZN,m7,sV,Iwe,Fpt,Npt,wwe,Opt,Lpt,Cwe,_pt,Mpt,Upt,Hpt,jpt,Gpt,qpt,Vpt,Bwe,vwe,Wpt,aO,Ypt,BO,oV,zy,Kpt,_y,y7,zpt,ng,Jpt,Zpt,Xpt,ig,$pt,edt,tdt,E7,rdt,My,mO,ndt,idt,sdt,odt,xn,Dwe,vO,adt,N7,O7,cdt,Cu,Uy,Yp,I7,qIe,Xh,jb,$0,VIe,qi,Kp,eg,w7,Hy,Ms,XN,$N,C7,WIe,YIe,Gb,B7,eO,mC,tg,tO,jy,rO,nO,KIe,ldt,Jy,Zb,udt,Pwe,fdt,hdt,SO,xwe,Adt,zIe,aV,bO,cV,pdt,ddt,JIe,gdt,Rwe,mdt,ZIe,XIe,$Ie,_7,ewe,qb,cO,M7,lO,U7,H7,j7,G7,sg,yO,q7,v7,$h,Twe,ydt,Edt,Idt,wdt,lV,twe,rwe,uO,Vb,Ff,Gy,qy,Wb,S7,Nf,b7,fO,nwe,W7,Y7,hO,AO,iwe,D7,pO,Qwe,P7,DO,uV,Sdt,bdt,Fwe,Nwe,Ddt,Pdt,M$t,xdt,kdt,Rdt,Tdt,Qdt,Lwe,Fdt,Ndt,Odt,_we,K7,EO,Ldt,Mwe,_dt,Uwe,jwe,PO,Mdt,Udt,z7,Gwe,Hdt,jdt,x7,swe,yC,Gdt,qdt,Vdt,Wdt,Ydt,Kdt,owe,J7,awe,Z7,Bu,X7,$7,dO,cwe,lwe,zb,uwe,fwe,k7,ag,wo,iO,hwe,EC,R7,T7,eV,Xb,$b,eD,tD,zdt,rD,Jdt,Zdt,Xdt,Awe,dV,Yb,qwe,$dt,e0t,U$t,t0t,r0t,n0t,i0t,s0t,Kb,H$t,o0t,Vwe=tt(()=>{pwe=st(Ae("events"),1),lc=st(Ae("fs"),1),IO=Ae("node:events"),tV=st(Ae("node:stream"),1),dwe=Ae("node:string_decoder"),nV=st(Ae("node:path"),1),Wy=st(Ae("node:fs"),1),CO=Ae("path"),ywe=Ae("events"),gO=st(Ae("assert"),1),og=Ae("buffer"),jIe=st(Ae("zlib"),1), Line truncated
`,n=Buffer.byteLength(a),l=Math.floor(Math.log(n)/Math.log(10))+1;return n+l>=Math.pow(10,l)&&(l+=1),l+n+a}static parse(e,r,s=!1){return new bwe(ndt(idt(e),r),s)}},ndt=(t,e)=>e?Object.assign({},e,t):t,idt=t=>t.replace(/\n$/,"").split(`
`).reduce(sdt,Object.create(null)),sdt=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.slice((r+" ").length);let s=e.split("="),a=s.shift();if(!a)return t;let n=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),l=s.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(Number(l)*1e3):/^[0-9]+$/.test(l)?+l:l,t},odt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,xn=odt!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/"),Dwe=class extends Zy{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,e,r){switch(super({}),this.pause(),this.extended=e,this.globalExtended=r,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=xn(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?xn(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,e&&this.#e(e),r&&this.#e(r,!0)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error("writing more to entry than is appropriate");let r=this.remain,s=this.blockRemain;return this.remain=Math.max(0,r-e),this.blockRemain=Math.max(0,s-e),this.ignore?!0:r>=e?super.write(t):super.write(t.subarray(0,r))}#e(t,e=!1){t.path&&(t.path=xn(t.path)),t.linkpath&&(t.linkpath=xn(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([r,s])=>!(s==null||r==="path"&&e))))}},vO=(t,e,r,s={})=>{t.file&&(s.file=t.file),t.cwd&&(s.cwd=t.cwd),s.code=r instanceof Error&&r.code||e,s.tarCode=e,!t.strict&&s.recoverable!==!1?(r instanceof Error&&(s=Object.assign(r,s),r=r.message),t.emit("warn",e,r,s)):r instanceof Error?t.emit("error",Object.assign(r,s)):t.emit("error",Object.assign(new Error(`${e}: ${r}`),s))},adt=1024*1024,N7=Buffer.from([31,139]),O7=Buffer.from([40,181,47,253]),cdt=Math.max(N7.length,O7.length),Cu=Symbol("state"),Uy=Symbol("writeEntry"),Yp=Symbol("readEntry"),I7=Symbol("nextEntry"),qIe=Symbol("processEntry"),Xh=Symbol("extendedHeader"),jb=Symbol("globalExtendedHeader"),$0=Symbol("meta"),VIe=Symbol("emitMeta"),qi=Symbol("buffer"),Kp=Symbol("queue"),eg=Symbol("ended"),w7=Symbol("emittedEnd"),Hy=Symbol("emit"),Ms=Symbol("unzip"),XN=Symbol("consumeChunk"),$N=Symbol("consumeChunkSub"),C7=Symbol("consumeBody"),WIe=Symbol("consumeMeta"),YIe=Symbol("consumeHeader"),Gb=Symbol("consuming"),B7=Symbol("bufferConcat"),eO=Symbol("maybeEnd"),mC=Symbol("writing"),tg=Symbol("aborted"),tO=Symbol("onDone"),jy=Symbol("sawValidEntry"),rO=Symbol("sawNullBlock"),nO=Symbol("sawEOF"),KIe=Symbol("closeStream"),ldt=()=>!0,Jy=class extends ywe.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[Kp]=[];[qi];[Yp];[Uy];[Cu]="begin";[$0]="";[Xh];[jb];[eg]=!1;[Ms];[tg]=!1;[jy];[rO]=!1;[nO]=!1;[mC]=!1;[Gb]=!1;[w7]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(tO,()=>{(this[Cu]==="begin"||this[jy]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(tO,t.ondone):this.on(tO,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||adt,this.filter=typeof t.filter=="function"?t.filter:ldt;let e=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:e?void 0:!1;let r=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:r?!0:void 0,this.on("end",()=>this[KIe]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,e,r={}){vO(this,t,e,r)}[YIe](t,e){this[jy]===void 0&&(this[jy]=!1);let r;try{r=new zy(t,e,this[Xh],this[jb])}catch(s){return this.warn("TAR_ENTRY_INVALID",s)}if(r.nullBlock)this[rO]?(this[nO]=!0,this[Cu]==="begin"&&(this[Cu]="header"),this[Hy]("eof")):(this[rO]=!0,this[Hy]("nullBlock"));else if(this[rO]=!1,!r.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:r});else if(!r.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:r});else{let s=r.type;if(/^(Symbolic)?Link$/.test(s)&&!r.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:r});else if(!/^(Symbolic)?Link$/.test(s)&&!/^(Global)?ExtendedHeader$/.test Line truncated
`}),f},s})});var bs={};lr(bs,{emitList:()=>A0t,emitTree:()=>oCe,treeNodeToJson:()=>sCe,treeNodeToTreeify:()=>iCe});function iCe(t,{configuration:e}){let r={},s=0,a=(n,l)=>{let f=Array.isArray(n)?n.entries():Object.entries(n);for(let[h,A]of f){if(!A)continue;let{label:m,value:w,children:v}=A,D=[];typeof m<"u"&&D.push(wy(e,m,2)),typeof w<"u"&&D.push(or(e,w[0],w[1])),D.length===0&&D.push(wy(e,`${h}`,2));let I=D.join(": ").trim(),R=`\0${s++}\0`,N=l[`${R}${I}`]={};typeof v<"u"&&a(v,N)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function sCe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Cy(r.value[0],r.value[1])}let s=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,l]of s)l&&(a[p0t(n)]=e(l));return typeof r.value>"u"?a:{value:Cy(r.value[0],r.value[1]),children:a}};return e(t)}function A0t(t,{configuration:e,stdout:r,json:s}){let a=t.map(n=>({value:n}));oCe({children:a},{configuration:e,stdout:r,json:s})}function oCe(t,{configuration:e,stdout:r,json:s,separators:a=0}){if(s){let l=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let f of l)f&&r.write(`${JSON.stringify(sCe(f))}
`);return}let n=(0,nCe.asTree)(iCe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502
$1`).replace(/^│\n/,"")),a>=2)for(let l=0;l<2;++l)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502
$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function p0t(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var nCe,aCe=tt(()=>{nCe=st(rCe());pu()});var xO,cCe=tt(()=>{xO=class{constructor(e){this.releaseFunction=e;this.map=new Map}addOrCreate(e,r){let s=this.map.get(e);if(typeof s<"u"){if(s.refCount<=0)throw new Error(`Race condition in RefCountedMap. While adding a new key the refCount is: ${s.refCount} for ${JSON.stringify(e)}`);return s.refCount++,{value:s.value,release:()=>this.release(e)}}else{let a=r();return this.map.set(e,{refCount:1,value:a}),{value:a,release:()=>this.release(e)}}}release(e){let r=this.map.get(e);if(!r)throw new Error(`Unbalanced calls to release. No known instances of: ${JSON.stringify(e)}`);let s=r.refCount;if(s<=0)throw new Error(`Unbalanced calls to release. Too many release vs alloc refcount would become: ${s-1} of ${JSON.stringify(e)}`);s==1?(this.map.delete(e),this.releaseFunction(r.value)):r.refCount--}}});function lD(t){let e=t.match(d0t);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var lCe,BV,vV,kO,gn,d0t,SV=tt(()=>{We();Mt();Mt();Kh();lCe=Ae("crypto"),BV=st(Ae("fs"));cCe();mu();G0();Au();Ea();vV=Ow(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),kO=Ow(process.env.YARN_CACHE_VERSION_OVERRIDE??10),gn=class t{constructor(e,{configuration:r,immutable:s=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.refCountedZipFsCache=new xO(e=>{e.discardAndClose()});this.cacheId=`-${(0,lCe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=s,this.check=a;let{cacheSpec:n,cacheKey:l}=t.getCacheKey(r);this.cacheSpec=n,this.cacheKey=l}static async find(e,{immutable:r,check:s}={}){let a=new t(e.get("cacheFolder"),{configuration:e,immutable:r,check:s});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),s=r!=="mixed"?`c${r}`:"";return{cacheKey:[kO,s].join(""),cacheSpec:s}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Yw(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=lD(r).hash.slice(0,10);return`${Yw(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:s}=lD(e);if(r===null||r<vV)return!1;let a=this.configuration.get("cacheMigrationMode");return!(r<kO&&a==="always"||s!==this.cacheSpec&&a!=="required-only")}getLocatorPath(e,r){return this.mirrorCwd===null?Y.resolve(this.cwd,this.getVersionFilename(e)):r===null?Y.resolve(this.cwd,this.getVersionFilename(e)):Y.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?Y.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await fe.existsPromise(this.cwd))throw new Zt(56,"Cache path does not exist.")}else{await fe.mkdirPromise(this.cwd,{recursive:!0});let e=Y.resolve(this.cwd,".gitignore");await fe.changeFilePromise(e,`/.gitignore
*.flock
*.tmp
`)}(this.mirrorCwd||!this.immutable)&&await fe.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:s,onMiss:a,loader:n,...l}){let f=this.getLocatorMirrorPath(e),h=new pi,A=()=>{let de=new _s,xe=Y.join(Rt.root,L9(e));return de.mkdirSync(xe,{recursive:!0}),de.writeJsonSync(Y.join(xe,Or.manifest),{name:Qn(e),mocked:!0}),de},m=async(de,{isColdHit:xe,controlPath:we=null})=>{if(we===null&&l.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let d=r&&!xe?lD(r).cacheKey:this.cacheKey,be=!l.skipIntegrityCheck||!r?`${d}/${await RF(de)}`:r;if(we!==null){let Ee=!l.skipIntegrityCheck||!r?`${this.cacheKey}/${await RF(we)}`:r;if(be!==Ee)throw new Zt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Ce=null;switch(r!==null&&be!==r&&(this.check?Ce="throw":lD(r).cacheKey!==lD(be).cacheKey?Ce="update":Ce=this.configuration.get("checksumBehavior")),Ce){case null:case"update":return{isValid:!0,hash:be};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Zt(18,"The remote archive doesn't match the expected checksum")}},w=async de=>{if(!n)throw new Error(`Cache check required but no loader configured for ${hn(this.configuration,e)}`);let xe=await n(),we=xe.getRealPath();xe.saveAndClose(),await fe.chmodPromise(we,420);let d=await m(de,{controlPath:we,isColdHit:!1});if(!d.isValid)throw new Error("Assertion failed: Expected a valid checksum");return d.hash},v=async()=>{if(f===null||!await fe.existsPromise(f)){let de=await n(),xe=de.getRealPath();return de.saveAndClose(),{source:"loader",path:xe}}return{source:"mirror",path:f}},D=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${hn(this.configuration,e)}`);if(this.immutable)throw new Zt(56,`Cache entry required but missing for ${hn(this.configuration,e)}`);let{path:de,source:xe}=await v(),{hash:we}=await m(de,{isColdHit:!0}),d=this.getLocatorPath(e,we),be=[];xe!=="mirror"&&f!==null&&be.push(async()=>{let Ee=`${f}${this.cacheId}`;await fe.copyFilePromise(de,Ee,BV.default.constants.COPYFILE_FICLONE),await fe.chmodPromise(Ee,420),await fe.renamePromise(Ee,f)}),(!l.mirrorWriteOnly||f===null)&&be.push(async()=>{let Ee=`${d}${this.cacheId}`;await fe.copyFilePromise(de,Ee,BV.default.constants.COPYFILE_FICLONE),await fe.chmodPromise(Ee,420),await fe.renamePromise(Ee,d)});let Ce=l.mirrorWriteOnly?f??d:d;return await Promise.all(be.map(Ee=>Ee())),[!1,Ce,we]},I=async()=>{let xe=(async()=>{let we=l.unstablePackages?.has(e.locatorHash),d=we||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,be=d!==null?this.markedFiles.has(d)||await h.existsPromise(d):!1,Ce=!!l.mockedPackages?.has(e.locatorHash)&&(!this.check||!be),Ee=Ce||be,he=Ee?s:a;if(he&&he(),Ee){let $=null,De=d;if(!Ce)if(this.check)$=await w(De);else{let Te=await m(De,{isColdHit:!1});if(Te.isValid)$=Te.hash;else return D()}return[Ce,De,$]}else{if(this.immutable&&we)throw new Zt(56,`Cache entry required but missing for ${hn(this.configuration,e)}; consider defining ${pe.pretty(this.configuration,"supportedArchitectures",pe.Type.CODE)} to cache packages for multiple systems`);return D()}})();this.mutexes.set(e.locatorHash,xe);try{return await xe}finally{this.mutexes.delete(e.locatorHash)}};for(let de;de=this.mutexes.get(e.locatorHash);)await de;let[R,N,U]=await I();R||this.markedFiles.add(N);let V=()=>this.refCountedZipFsCache.addOrCreate(N,()=>R?A():new _s(N,{baseFs:h,readOnly:!0})),ee,te=new ow(()=>Z5(()=>(ee=V(),ee.value),de=>`Failed to open the cache entry for ${hn(this.configuration,e)}: ${de}`),Y),ie=new Qh(N,{baseFs:te,pathUtils:Y}),ae=()=>{ee?.release()},ge=l.unstablePackages?.has(e.locatorHash)?null:U;return[ie,ae,ge]}},d0t=/^(?:(?<cacheKey>(?<cacheVersion>[0-9]+)(?<cacheSpec>.*))\/)?(?<hash>.*)$/});var RO,uCe=tt(()=>{RO=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(RO||{})});var g0t,DC,bV=tt(()=>{Mt();au();_p();Ea();g0t=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,s)=>`${r}#commit=${s}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>OF({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],DC=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let s=Y.join(e.cwd,Or Line truncated
`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,s){}async finalize(){this.errorCount>0&&(this.stdout.write(`
`),this.stdout.write(`${or(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command.
`),this.suggestInstall&&this.stdout.write(`${or(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.
`))}formatNameWithHyperlink(r){return e7(r,{configuration:this.configuration,json:!1})}}});var PC,DV=tt(()=>{Ea();PC=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(QF(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,s){let a=s.project.storedResolutions.get(e.descriptorHash);if(a){let l=s.project.originalPackages.get(a);if(l)return[l]}let n=s.project.originalPackages.get(QF(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(l=>l.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let s=r.project.originalPackages.get(e.locatorHash);if(!s)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return s}}});function Zp(){}function m0t(t,e,r,s,a){for(var n=0,l=e.length,f=0,h=0;n<l;n++){var A=e[n];if(A.removed){if(A.value=t.join(s.slice(h,h+A.count)),h+=A.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!A.added&&a){var m=r.slice(f,f+A.count);m=m.map(function(D,I){var R=s[h+I];return R.length>D.length?R:D}),A.value=t.join(m)}else A.value=t.join(r.slice(f,f+A.count));f+=A.count,A.added||(h+=A.count)}}var v=e[l-1];return l>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[l-2].value+=v.value,e.pop()),e}function y0t(t){return{newPos:t.newPos,components:t.components.slice(0)}}function E0t(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function pCe(t,e,r){return r=E0t(r,{ignoreWhitespace:!0}),TV.diff(t,e,r)}function I0t(t,e,r){return QV.diff(t,e,r)}function TO(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?TO=function(e){return typeof e}:TO=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},TO(t)}function PV(t){return B0t(t)||v0t(t)||S0t(t)||b0t()}function B0t(t){if(Array.isArray(t))return xV(t)}function v0t(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function S0t(t,e){if(t){if(typeof t=="string")return xV(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xV(t,e)}}function xV(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,s=new Array(e);r<e;r++)s[r]=t[r];return s}function b0t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kV(t,e,r,s,a){e=e||[],r=r||[],s&&(t=s(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var l;if(D0t.call(t)==="[object Array]"){for(e.push(t),l=new Array(t.length),r.push(l),n=0;n<t.length;n+=1)l[n]=kV(t[n],e,r,s,a);return e.pop(),r.pop(),l}if(t&&t.toJSON&&(t=t.toJSON()),TO(t)==="object"&&t!==null){e.push(t),l={},r.push(l);var f=[],h;for(h in t)t.hasOwnProperty(h)&&f.push(h);for(f.sort(),n=0;n<f.length;n+=1)h=f[n],l[h]=kV(t[h],e,r,s,h);e.pop(),r.pop()}else l=t;return l}function dCe(t,e,r,s,a,n,l){l||(l={}),typeof l.context>"u"&&(l.context=4);var f=I0t(r,s,l);if(!f)return;f.push({value:"",lines:[]});function h(U){return U.map(function(V){return" "+V})}for(var A=[],m=0,w=0,v=[],D=1,I=1,R=function(V){var ee=f[V],te=ee.lines||ee.value.replace(/\n$/,"").split(`
`);if(ee.lines=te,ee.added||ee.removed){var ie;if(!m){var ae=f[V-1];m=D,w=I,ae&&(v=l.context>0?h(ae.lines.slice(-l.context)):[],m-=v.length,w-=v.length)}(ie=v).push.apply(ie,PV(te.map(function(Ee){return(ee.added?"+":"-")+Ee}))),ee.added?I+=te.length:D+=te.length}else{if(m)if(te.length<=l.context*2&&V<f.length-2){var ge;(ge=v).push.apply(ge,PV(h(te)))}else{var de,xe=Math.min(te.length,l.context);(de=v).push.apply(de,PV(h(te.slice(0,xe))));var we={oldStart:m,oldLines:D-m+xe,newStart:w,newLines:I-w+xe,lines:v};if(V>=f.length-2&&te.length<=l.context){var d=/\n$/.test(r),be=/\n$/.test(s),Ce=te.length==0&&v.length>we.oldLines;!d&&Ce&&r.length>0&&v.splice(we.oldLines,0,"\\ No newline at end of file"),(!d&&!Ce||!be)&&v.push("\\ No newline at end of file")}A.push(we),m=0,w=0,v=[]}D+=te.length,I+=te.length}},N=0;N<f.length;N++)R(N);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:A}}var $er,hCe,ACe,TV,QV,w0t,C0t,D0t,uD,RV,FV=tt(()=>{Zp.prototype={diff:function(e,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=s.callback;typeof s=="function"&&(a=s,s={}),this.options=s;var n=this;function l(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var f=r.length,h=e.length,A=1,m=f+h;s.maxEditLength&&(m=Math.min(m,s.maxEditLength));var w=[{newPos:-1,components:[]}],v=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=f&&v+1>=h)return l([{value:this.join(r),count:r.length}]);function D(){for(var R=-1*A;R<=A;R+=2){var N=void 0,U=w[R-1],V=w[R+1],ee=(V?V.newPos:0)-R;U&&(w[R-1]=void 0);var te=U&&U.newPos+1<f,ie=V&&0<=ee&&ee<h;if(!te&&!ie){w[R]=void 0;continue}if(!te||ie&&U.newPos<V.newPos?(N=y0t(V),n.pushComponent(N.components,void 0,!0)):(N=U,N.newPos++,n.pushComponent(N.components,!0,void 0)),ee=n.extractCommon(N,r,e,R),N.newPos+1>=f&&ee+1>=h)return l(m0t(n,N.components,r,e,n.useLongestToken));w[R]=N}A++}if(a)(function R(){setTimeout(function(){if(A>m)return a();D()||R()},0)})();else for(;A<=m;){var I=D();if(I)return I}},pushComponent:function(e,r,s){var a=e[e.length-1];a&&a.added===r&&a.removed===s?e[e.length-1]={count:a.count+1,added:r,removed:s}:e.push({count:1,added:r,removed:s})},extractCommon:function(e,r,s,a){for(var n=r.length,l=s.length,f=e.newPos,h=f-a,A=0;f+1<n&&h+1<l&&this.equals(r[f+1],s[h+1]);)f++,h++,A++;return A&&e.components.push({count:A}),e.newPos=f,h},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],s=0;s<e.length;s++)e[s]&&r.push(e[s]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};$er=new Zp;hCe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,ACe=/\S/,TV=new Zp;TV.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!ACe.test(t)&&!ACe.test(e)};TV.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&hCe.test(e[r])&&hCe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};QV=new Zp;QV.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var s=0;s<r.length;s++){var a=r[s];s%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};w0t=new Zp;w0t.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};C0t=new Zp;C0t.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};D0t=Object.prototype.toString,uD=new Zp;uD.useLongestToken=!0;uD.tokenize=QV.tokenize;uD.castInput=function(t){var e=this.options,r=e.undefinedReplacement,s=e.stringifyReplacer,a=s===void 0?function(n,l){return typeof l>"u"?r:l}:s;return typeof t=="string"?t:JSON.stringify(kV(t,null,null,a),a," ")};uD.equals=function(t,e){return Zp.prototype.equals.call(uD,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};RV=new Zp;RV.tokenize=function(t){return t.slice()};RV.join=RV.removeEmpty=function(t){return t}});var QO,gCe=tt(()=>{mu();QO=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,s){return this.resolver.bindDescriptor(e,r,s)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,s){throw new Zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,s,a){throw new Zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfLine truncated
`;await fe.changeFilePromise(r,s,{automaticNewlines:!0}),this.manifest.raw=e}}});function Q0t({project:t,allDescriptors:e,allResolutions:r,allPackages:s,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:l=new Map,peerWarnings:f=[],peerRequirementNodes:h=new Map,volatileDescriptors:A=new Set}){let m=new Map,w=[],v=new Map,D=new Map,I=new Map,R=new Map,N=new Map,U=new Map(t.workspaces.map(ae=>{let ge=ae.anchoredLocator.locatorHash,de=s.get(ge);if(typeof de>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[ge,ZS(de)]})),V=()=>{let ae=fe.mktempSync(),ge=Y.join(ae,"stacktrace.log"),de=String(w.length+1).length,xe=w.map((we,d)=>`${`${d+1}.`.padStart(de," ")} ${qc(we)}
`).join("");throw fe.writeFileSync(ge,xe),fe.detachTemp(ae),new Zt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${me.fromPortablePath(ge)}`)},ee=ae=>{let ge=r.get(ae.descriptorHash);if(typeof ge>"u")throw new Error("Assertion failed: The resolution should have been registered");let de=s.get(ge);if(!de)throw new Error("Assertion failed: The package could not be found");return de},te=(ae,ge,de,{top:xe,optional:we})=>{w.length>1e3&&V(),w.push(ge);let d=ie(ae,ge,de,{top:xe,optional:we});return w.pop(),d},ie=(ae,ge,de,{top:xe,optional:we})=>{if(we||n.delete(ge.locatorHash),a.has(ge.locatorHash))return;a.add(ge.locatorHash);let d=s.get(ge.locatorHash);if(!d)throw new Error(`Assertion failed: The package (${hn(t.configuration,ge)}) should have been registered`);let be=new Set,Ce=new Map,Ee=[],he=[],$=[],De=[];for(let Te of Array.from(d.dependencies.values())){if(d.peerDependencies.has(Te.identHash)&&d.locatorHash!==xe)continue;if(Np(Te))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");A.delete(Te.descriptorHash);let ot=we;if(!ot){let Qe=d.dependenciesMeta.get(Qn(Te));if(typeof Qe<"u"){let ft=Qe.get(null);typeof ft<"u"&&ft.optional&&(ot=!0)}}let j=r.get(Te.descriptorHash);if(!j)throw new Error(`Assertion failed: The resolution (${xi(t.configuration,Te)}) should have been registered`);let rt=U.get(j)||s.get(j);if(!rt)throw new Error(`Assertion failed: The package (${j}, resolved from ${xi(t.configuration,Te)}) should have been registered`);if(rt.peerDependencies.size===0){te(Te,rt,new Map,{top:xe,optional:ot});continue}let Ne,Fe,Pe=new Set,He=new Map;Ee.push(()=>{Ne=N9(Te,ge.locatorHash),Fe=O9(rt,ge.locatorHash),d.dependencies.set(Te.identHash,Ne),r.set(Ne.descriptorHash,Fe.locatorHash),e.set(Ne.descriptorHash,Ne),s.set(Fe.locatorHash,Fe),Tp(R,Fe.locatorHash).add(Ne.descriptorHash),be.add(Fe.locatorHash)}),he.push(()=>{N.set(Fe.locatorHash,He);for(let Qe of Fe.peerDependencies.values()){let Me=Rl(Ce,Qe.identHash,()=>{let x=de.get(Qe.identHash)??null,C=d.dependencies.get(Qe.identHash);return!C&&$S(ge,Qe)&&(ae.identHash===ge.identHash?C=ae:(C=oi(ge,ae.range),e.set(C.descriptorHash,C),r.set(C.descriptorHash,ge.locatorHash),A.delete(C.descriptorHash),x=null)),C||(C=oi(Qe,"missing:")),{subject:ge,ident:Qe,provided:C,root:!x,requests:new Map,hash:`p${Os(ge.locatorHash,Qe.identHash).slice(0,6)}`}}).provided;if(Me.range==="missing:"&&Fe.dependencies.has(Qe.identHash)){Fe.peerDependencies.delete(Qe.identHash);continue}if(He.set(Qe.identHash,{requester:Fe,descriptor:Qe,meta:Fe.peerDependenciesMeta.get(Qn(Qe)),children:new Map}),Fe.dependencies.set(Qe.identHash,Me),Np(Me)){let x=r.get(Me.descriptorHash);Tp(I,x).add(Fe.locatorHash)}v.set(Me.identHash,Me),Me.range==="missing:"&&Pe.add(Me.identHash)}Fe.dependencies=new Map(go(Fe.dependencies,([Qe,ft])=>Qn(ft)))}),$.push(()=>{if(!s.has(Fe.locatorHash))return;let Qe=m.get(rt.locatorHash);typeof Qe=="number"&&Qe>=2&&V();let ft=m.get(rt.locatorHash),Me=typeof ft<"u"?ft+1:1;m.set(rt.locatorHash,Me),te(Ne,Fe,He,{top:xe,optional:ot}),m.set(rt.locatorHash,Me-1)}),De.push(()=>{let Qe=r.get(Ne.descriptorHash);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let ft=N.get(Qe);if(typeof ft>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let Me of Ce.values()){let x=ft.get(Me.ident.identHash);x&&(Me.requests.set(Ne.descriptorHash,x),h.set(Me.hash,Me),Me.root||de.get(Me.ident.identHash)?.children.set(Ne.descriptorHash,x))}if(s.has(Fe.locatorHash))for(let Me of Pe)Fe.dependencies.delete(Me)})}for(let Te of[...Ee,...he])Te();for(let Te of be){be.delete(Te);let ot=s.get(Te),j=Os(Ww(ot).locatorHash,...Array.from(ot.dependencies.values(),Pe=>{let He=Pe.range!=="missing:"?r.get(Pe.descriptorHash):"missing:";if(typeof He>"u")throw new Error(`Assertion failed: Expected the resolution for ${xi(t.configuration,Pe)} to have been registered`);return He===xe?`${He} (top)`:He})),rt=D.get(j);if(typeof rt>"u"){D.set(j,ot);continue}let Ne=Tp(R,rt.locatorHash);for(let Pe of R.get(ot.locatorHash)??[])r.set(Pe,rt.locatorHash),Ne.add(Pe);s.delete(ot.locatorHash),a.delete(ot.locatorHash),be.delete(ot.locatorHash);let Fe=I.get(ot.locatorHash);if(Fe!==void 0){let Pe=Tp(I,rt.locatorHash);for(let He of Fe)Pe.add(He),be.add(He)}}for(let Te of[...$,...De])Te()};for(let ae of t.workspaces){let ge=ae.anchoredLocator;A.delete(ae.anchoredDescriptor.descriptorHash),te(ae.anchoredDescriptor,ge,new Map,{top:ge.locatorHash,optional:!1})}for(let ae of h.values()){if(!ae.root)continue;let ge=s.get(ae.subject.locatorHash);if(typeof ge>"u")continue;for(let xe of ae.requests.values()){let we=`p${Os(ae.subject.locatorHash,Qn(ae.ident),xe.requester.locatorHash).slice(0,6)}`;l.set(we,{subject:ae.subject.locatorHash,requested:ae.ident,rootRequester:xe.requester.locatorHash,allRequesters:Array.from(ib(xe),d=>d.requester.locatorHash)})}let de=[...ib(ae)];if(ae.provided.rang Line truncated
${[w,v,D].join(`
`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=Y.join(this.cwd,Or.lockfile),r=this.configuration.get("defaultLanguageName");if(fe.existsSync(e)){let s=await fe.readFilePromise(e,"utf8");this.lockFileChecksum=ECe(s);let a=Fs(s);if(a.__metadata){let n=a.__metadata.version,l=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n<OO;for(let f of Object.keys(a)){if(f==="__metadata")continue;let h=a[f];if(typeof h.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${f})`);let A=Op(h.resolution,!0),m=new nr;m.load(h,{yamlCompatibilityMode:!0});let w=m.version,v=m.languageName||r,D=h.linkType.toUpperCase(),I=h.conditions??null,R=m.dependencies,N=m.peerDependencies,U=m.dependenciesMeta,V=m.peerDependenciesMeta,ee=m.bin;if(h.checksum!=null){let ie=typeof l<"u"&&!h.checksum.includes("/")?`${l}/${h.checksum}`:h.checksum;this.storedChecksums.set(A.locatorHash,ie)}let te={...A,version:w,languageName:v,linkType:D,conditions:I,dependencies:R,peerDependencies:N,dependenciesMeta:U,peerDependenciesMeta:V,bin:ee};this.originalPackages.set(te.locatorHash,te);for(let ie of f.split(x0t)){let ae=q0(ie);n<=6&&(ae=this.configuration.normalizeDependency(ae),ae=oi(ae,ae.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ae.descriptorHash,ae),this.storedResolutions.set(ae.descriptorHash,A.locatorHash)}}}else s.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,NO.default)(4),s=async(a,n)=>{if(e.has(n))return a;e.add(n);let l=new xC(n,{project:this});await r(()=>l.setup());let f=a.then(()=>{this.addWorkspace(l)});return Array.from(l.workspacesCwds).reduce(s,f)};await s(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${vs(this.configuration,e.anchoredLocator)}: ${me.fromPortablePath(e.cwd)} conflicts with ${me.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){Y.isAbsolute(e)||(e=Y.resolve(this.cwd,e)),e=Y.normalize(e).replace(/\/+$/,"")||Rt.root;let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let s of this.workspaces)Y.relative(s.cwd,e).startsWith("../")||r&&r.cwd.length>=s.cwd.length||(r=s);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${vs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Gi.protocol)){let s=e.range.slice(Gi.protocol.length);if(s!=="^"&&s!=="~"&&s!=="*"&&!Vc(s))return this.tryWorkspaceByCwd(s)}let r=this.tryWorkspaceByIdent(e);return r===null||(Np(e)&&(e=XS(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${xi(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(kf(e)&&(e=Ww(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${hn(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof r<"u"&&!s.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,s]of this.storedResolutions)s===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[s,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(s)}for(let s of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(s,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(s.locatorHash);let n=r.get(s.locatorHash);if(n){r.delete(s.locatorHash);for(let l of n)this.deleteDescriptor(l)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,s]of e.dependencies)NLine truncated
`;switch(rt.type){case 0:Ne+=`# Script name: ${rt.script}
`;break;case 1:Ne+=`# Script code: ${rt.script}
`;break}let Fe=null;if(!await fe.mktempPromise(async He=>{let Qe=Y.join(He,"build.log"),{stdout:ft,stderr:Me}=this.configuration.getSubprocessStreams(Qe,{header:Ne,prefix:hn(this.configuration,$),report:r}),x;try{switch(rt.type){case 0:x=await GN($,rt.script,[],{cwd:j,project:this,stdin:Fe,stdout:ft,stderr:Me});break;case 1:x=await t7($,rt.script,[],{cwd:j,project:this,stdin:Fe,stdout:ft,stderr:Me});break}}catch(E){Me.write(E.stack),x=1}if(ft.end(),Me.end(),x===0)return!0;fe.detachTemp(He);let C=`${hn(this.configuration,$)} couldn't be built successfully (exit code ${or(this.configuration,x,Ct.NUMBER)}, logs can be found here: ${or(this.configuration,Qe,Ct.PATH)})`,P=this.optionalBuilds.has($.locatorHash);return P?r.reportInfo(9,C):r.reportError(9,C),PIe&&r.reportFold(me.fromPortablePath(Qe),fe.readFileSync(Qe,"utf8")),P}))return!1}return!0});Ee.push(...ot,Promise.allSettled(ot).then(j=>{te.delete(he),j.every(rt=>rt.status==="fulfilled"&&rt.value===!0)&&we.set($.locatorHash,Te)}))}if(await bf(Ee),Ce===te.size){let he=Array.from(te).map($=>{let De=this.storedPackages.get($);if(!De)throw new Error("Assertion failed: The package should have been registered");return hn(this.configuration,De)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${he})`);break}}this.storedBuildState=we,this.skippedBuilds=N}async installWithNewReport(e,r){return(await Wt.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");$e.telemetry?.reportInstall(r);let s=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(m=>m.validateProject,this,{reportWarning:(m,w)=>{e.report.reportWarning(m,w)},reportError:(m,w)=>{e.report.reportError(m,w),s=!0}})}),s)return;let a=await this.configuration.getPackageExtensions();for(let m of a.values())for(let[,w]of m)for(let v of w)v.status="inactive";let n=Y.join(this.cwd,Or.lockfile),l=null;if(e.immutable)try{l=await fe.readFilePromise(n,"utf8")}catch(m){throw m.code==="ENOENT"?new Zt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):m}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{N0t(this,e.report);for(let[,m]of a)for(let[,w]of m)for(let v of w)if(v.userProvided){let D=or(this.configuration,v,Ct.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${D}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${D}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(l!==null){let m=ty(l,this.generateLockfile());if(m!==l){let w=dCe(n,n,l,m,void 0,void 0,{maxEditLength:100});if(w){e.report.reportSeparator();for(let v of w.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let D of v.lines)D.startsWith("+")?e.report.reportError(28,or(this.configuration,D,Ct.ADDED)):D.startsWith("-")?e.report.reportError(28,or(this.configuration,D,Ct.REMOVED)):e.report.reportInfo(null,or(this.configuration,D,"grey"))}e.report.reportSeparator()}throw new Zt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let m of a.values())for(let[,w]of m)for(let v of w)v.userProvided&&v.status==="active"&&$e.telemetry?.reportPackageExtension(Cy(v,Ct.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let f=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],h=await Promise.all(f.map(async m=>TF(m,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${or(this.configuration,"mode=update-lockfile",Ct.CODE)}`);return}await this.linkEverything(e);let m=await Promise.all(f.map(async w=>TF(w,{cwd:this.cwd})));for(let w=0;w<f.length;++w)h[w]!==m[w]&&e.report.reportError(64,`The checksum for ${f[w]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile();let A=!1;await e.report.startTimerPromise("Post-install validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(m=>m.validateProjectAfterInstall,this,{reportWarning:(m,w)=>{e.report.r Line truncated
`,`# Manual changes might be lost - proceed with caution!
`].join("")}
`+Uc(r)}async persistLockfile(){let e=Y.join(this.cwd,Or.lockfile),r="";try{r=await fe.readFilePromise(e,"utf8")}catch{}let s=this.generateLockfile(),a=ty(r,s);a!==r&&(await fe.writeFilePromise(e,a),this.lockFileChecksum=ECe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let l of Object.values(LV))e.push(...l);let r=Iy(this,e),s=_V.default.serialize(r),a=Os(s);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await fe.mkdirPromise(Y.dirname(n),{recursive:!0}),await fe.writeFilePromise(n,await R0t(s)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:s=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let l=await T0t(await fe.readFilePromise(a));n=_V.default.deserialize(l),this.installStateChecksum=Os(l)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),s&&Object.assign(this,Iy(n,LV.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,Iy(n,LV.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new rs}),await this.persistInstallStateFile()}async persist(){let e=(0,NO.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let s=new Set([".gitignore"]);if(!X9(e.cwd,this.cwd)||!await fe.existsPromise(e.cwd))return null;let a=[];for(let l of await fe.readdirPromise(e.cwd)){if(s.has(l))continue;let f=Y.resolve(e.cwd,l);e.markedFiles.has(f)||(e.immutable?r.reportError(56,`${or(this.configuration,Y.basename(f),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(fe.lstatPromise(f).then(async h=>(await fe.removePromise(f),h.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((l,f)=>l+f,0)}}}});function O0t(t){let s=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),l=n+a,f=t.state.lastTips??s*864e5,h=f+864e5+8*36e5-t.timeZone,A=l<=t.timeNow,m=h<=t.timeNow,w=null;return(A||m||!t.state.lastUpdate||!t.state.lastTips)&&(w={},w.lastUpdate=A?t.timeNow:n,w.lastTips=f,w.blocks=A?{}:t.state.blocks,w.displayedTips=t.state.displayedTips),{nextState:w,triggerUpdate:A,triggerTips:m,nextTips:m?s*864e5:f}}var kC,CCe=tt(()=>{Mt();Qb();G0();EN();Au();_p();kC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let s=this.getRegistryPath();this.isNew=!fe.existsSync(s),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),s=f=>f&&Fn?Wh(Fn,f):!1,a=e.map((f,h)=>h).filter(f=>e[f]&&s(e[f]?.selector));if(a.length===0)return null;let n=a.filter(f=>!r.has(f));if(n.length===0){let f=Math.floor(a.length*.2);this.displayedTips=f>0?this.displayedTips.slice(-f):[],n=a.filter(h=>!r.has(h))}let l=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(l),this.commitTips(),e[l]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){Tp(this.values,e).add(r)}reportEnumerator(e,r){Tp(this.enumerators,e).add(Os(r))}reportHit(e,r="*"){let s=J5(this.hits,e),a=Rl(s,r,()=>0);s.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return Y.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),s;try{s=fe.readJsonSync(r)}catch{s={}}let{nextState:a,triggerUpdate:n,triggerTips:l,nextTips:f}=O0t({state:s,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=f,this.displayedTips=s.displayedTips??[],a!==null)try{fe.mkdirSync(Y.dirname(r),{recursive:!0}),fe.writeJsonSync(r,a)}catch{return!1}if(l&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let h=s.blocks??{};if(Object.keys(h).length===0){let A=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,m=w=>yq(A,w,{configuration:this.configuration}).catch(()=>{});for(let[w,v]of Object.entries(s.blocks??{})){if(Object.keys(v).length===0)continue;let D=v;D Line truncated
`),A=l.length;for(A>0&&l.includes("unstyle")&&(l=[...new Set(["unstyle",...l])].reverse());A-- >0;)f=r(t.styles[l[A]],f,h);return f},a=(n,l,f)=>{t.styles[n]=e({name:n,codes:l}),(t.keys[f]||(t.keys[f]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(A){t.alias(n,A)},get(){let A=m=>s(m,A.stack);return Reflect.setPrototypeOf(A,t),A.stack=this.stack?this.stack.concat(n):[n],A}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=H0t,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,l)=>{let f=typeof l=="string"?t[l]:l;if(typeof f!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");f.stack||(Reflect.defineProperty(f,"name",{value:n}),t.styles[n]=f,f.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=A=>s(A,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(f.stack):f.stack,h}})},t.theme=n=>{if(!U0t(n))throw new TypeError("Expected theme to be an object");for(let l of Object.keys(n))t.alias(l,n[l]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=PCe(),t.define=a,t};jV.exports=xCe();jV.exports.create=xCe});var va=H(On=>{"use strict";var j0t=Object.prototype.toString,vu=Mf(),kCe=!1,GV=[],RCe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};On.longest=(t,e)=>t.reduce((r,s)=>Math.max(r,e?s[e].length:s.length),0);On.hasColor=t=>!!t&&vu.hasColor(t);var MO=On.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);On.nativeType=t=>j0t.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");On.isAsyncFn=t=>On.nativeType(t)==="asyncfunction";On.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";On.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;On.scrollDown=(t=[])=>[...t.slice(1),t[0]];On.scrollUp=(t=[])=>[t.pop(),...t];On.reorder=(t=[])=>{let e=t.slice();return e.sort((r,s)=>r.index>s.index?1:r.index<s.index?-1:0),e};On.swap=(t,e,r)=>{let s=t.length,a=r===s?0:r<0?s-1:r,n=t[e];t[e]=t[a],t[a]=n};On.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};On.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};On.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:s=`
`+r,width:a=80}=e,n=(s+r).match(/[^\S\n]/g)||[];a-=n.length;let l=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,f=t.trim(),h=new RegExp(l,"g"),A=f.match(h)||[];return A=A.map(m=>m.replace(/\n$/,"")),e.padEnd&&(A=A.map(m=>m.padEnd(a," "))),e.padStart&&(A=A.map(m=>m.padStart(a," "))),r+A.join(s)};On.unmute=t=>{let e=t.stack.find(s=>vu.keys.color.includes(s));return e?vu[e]:t.stack.find(s=>s.slice(2)==="bg")?vu[e.slice(2)]:s=>s};On.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";On.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(s=>vu.keys.color.includes(s));if(e){let s=vu["bg"+On.pascal(e)];return s?s.black:t}let r=t.stack.find(s=>s.slice(0,2)==="bg");return r?vu[r.slice(2).toLowerCase()]||t:vu.none};On.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(s=>vu.keys.color.includes(s)),r=t.stack.find(s=>s.slice(0,2)==="bg");if(e&&!r)return vu[RCe[e]||e];if(r){let s=r.slice(2).toLowerCase(),a=RCe[s];return a&&vu["bg"+On.pascal(a)]||t}return vu.none};On.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),s=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+s};On.set=(t={},e="",r)=>e.split(".").reduce((s,a,n,l)=>{let f=l.length-1>n?s[a]||{}:r;return!On.isObject(f)&&n<l.length-1&&(f={}),s[a]=f},t);On.get=(t={},e="",r)=>{let s=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return s??r};On.mixin=(t,e)=>{if(!MO(t))return e;if(!MO(e))return t;for(let r of Object.keys(e)){let s=Object.getOwnPropertyDescriptor(e,r);if(s.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&MO(s.value)){let a=Object.getOwnPropertyDescriptor(t,r);MO(a.value)?t[r]=On.merge({},t[r],e[r]):Reflect.defineProperty(t,r,s)}else Reflect.defineProperty(t,r,s);else Reflect.defineProperty(t,r,s)}return t};On.merge=(...t)=>{let e={};for(let r of t)On.mixin(e,r);return e};On.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let s of Object.keys(r)){let a=r[s];typeof a=="function"?On.define(t,s,a.bind(e)):On.define(t,s,a)}};On.onExit=t=>{let e=(r,s)=>{kCe||(kCe=!0,GV.forEach(a=>a()),r===!0&&process.exit(128+s))};GV.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),GV.push(t)};On.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};On.defineExport=(t,e,r)=>{let s;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){s=a},get(){return s?s():r()}})}});var TCe=H(FC=>{"use strict";FC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};FC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};FC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};FC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};FC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var NCe=H((krr,FCe)=>{"use strict";var QCe=Ae("readline"),G0t=TCe(),q0t=/^(?:\x1b)([a-zA-Z0-9])$/,V0t=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,W0t={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Y0t(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function K0t(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var UO=(t="",e={})=>{let r,s={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=s.sequence||""),s.sequence=s.sequence||t||s.name,t==="\r")s.raw=void 0,s.name="return";else if(t===`
`)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(r=q0t.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(r[1]);else if(r=V0t.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),l=(r[3]||r[5]||1)-1;s.ctrl=!!(l&4),s.meta=!!(l&10),s.shift=!!(l&1),s.code=n,s.name=W0t[n],s.shift=Y0t(n)||s.shift,s.ctrl=K0t(n)||s.ctrl}return s};UO.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let s=QCe.createInterface({terminal:!0,input:r});QCe.emitKeypressEvents(r,s);let a=(f,h)=>e(f,UO(f,h),s),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),s.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),s.pause(),s.close()}};UO.action=(t,e,r)=>{let s={...G0t,...r};return e.ctrl?(e.action=s.ctrl[e.name],e):e.option&&s.option?(e.action=s.option[e.name],e):e.shift?(e.action=s.shift[e.name],e):(e.action=s.keys[e.name],e)};FCe.exports=UO});var LCe=H((Rrr,OCe)=>{"use strict";OCe.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(e)for(let r of Object.keys(e)){let s=e[r];typeof s=="number"&&(s={interval:s}),z0t(t,r,s)}};function z0t(t,e,r={}){let s=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;s.frames=r.frames||[],s.loading=!0;let n=setInterval(()=>{s.ms=Date.now()-s.start,s.tick++,t.render()},a);return s.stop=()=>{s.loading=!1,clearInterval(n)},Reflect.defineProperty(s,"interval",{value:n}),t.once("close",()=>s.stop()),s.stop}});var MCe=H((Trr,_Ce)=>{"use strict";var{define:J0t,width:Z0t}=va(),qV=class{constructor(e){let r=e.options;J0t(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=Z0t(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};_Ce.exports=qV});var HCe=H((Qrr,UCe)=>{"use strict";var VV=va(),qo=Mf(),WV={default:qo.noop,noop:qo.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||VV.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||VV.complement(this.primary)},primary:qo.cyan,success:qo.green,danger:qo.magenta,strong:qo.bold,warning:qo.yellow,muted:qo.dim,disabled:qo.gray,dark:qo.dim.gray,underline:qo.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};WV.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(qo.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(qo.visible=t.styles.visible);let e=VV.merge({},WV,t.styles);delete e.merge;for(let r of Object.keys(qo))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>qo[r]});for(let r of Object.keys(qo.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>qo[r]});return e};UCe.exports=WV});var GCe=H((Frr,jCe)=>{"use strict";var YV=process.platform==="win32",Xp=Mf(),X0t=va(),KV={...Xp.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301", Line truncated
`),A=h[0],m=h[h.length-1],v=(s+(r?" "+r:"")).length,D=v<A.length?A.slice(v+1):"";return{header:l,prompt:A,after:D,rest:h.slice(1),last:m}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=`
`+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=`
`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write($y.cursor.down(e.rest.length)),this.write(`
`.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=XV.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:s}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>s.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,s){let{options:a,state:n,symbols:l,timers:f}=this,h=f&&f[e];n.timer=h;let A=a[e]||n[e]||l[e],m=r&&r[e]!=null?r[e]:await A;if(m==="")return m;let w=await this.resolve(m,n,r,s);return!w&&r&&r[e]?this.resolve(A,n,r,s):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,s=this.state;return s.timer=r,Kc.isObject(e)&&(e=e[s.status]||e.pending),Kc.hasColor(e)?e:(this.styles[s.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Kc.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,s=this.state;s.timer=r;let a=e[s.status]||e.pending||s.separator,n=await this.resolve(a,s);return Kc.isObject(n)&&(n=n[s.status]||n.pending),Kc.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let s=await this.element("pointer",e,r);if(typeof s=="string"&&Kc.hasColor(s))return s;if(s){let a=this.styles,n=this.index===r,l=n?a.primary:A=>A,f=await this.resolve(s[n?"on":"off"]||s,this.state),h=Kc.hasColor(f)?f:l(f);return n?h:" ".repeat(f.length)}}async indicator(e,r){let s=await this.element("indicator",e,r);if(typeof s=="string"&&Kc.hasColor(s))return s;if(s){let a=this.styles,n=e.enabled===!0,l=n?a.success:a.dark,f=s[n?"on":"off"]||s;return Kc.hasColor(f)?f:l(f)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Kc.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Kc.resolve(this,e,...r)}get base(){return t.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Kc.height(this.stdout,25)}get width(){return this.options.columns||Kc.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,s=[r,e].find(this.isValue.bind(this));return this.isValue(s)?s:this.initial}static get prompt(){return e=>new this(e).run()}};function agt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],s=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?s.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function cgt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?`
`:" ",s=[];for(let a=0;a<4;a++){let n=r(a);e[a]?s.push(n.repeat(e[a])):s.push("")}return s}XCe.exports=$V});var t1e=H((Lrr,e1e)=>{"use strict";var lgt=va(),$Ce={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return $Ce.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};e1e.exports=(t,e={})=>{let r=lgt.merge({},$Ce,e.roles);return r[t]||r.default}});var pD=H((_rr,i1e)=>{"use strict";var ugt=Mf(),fgt=NC(),hgt=t1e(),HO=va(),{reorder:eW,scrollUp:Agt,scrollDown:pgt,isObject:r1e,swap:dgt}=HO,tW=class extends fgt{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:s,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");r1e(r)&&(r=Object.keys(r)),Array.isArray(r)?(s!=null&&(this.index=this.findIndex(s)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(s!=null&&(r=s),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let s=[],a=0,n=async(l,f)=>{typeof l=="function"&&(l=await l.call(this)),l instanceof Promise&&(l=await l);for(let h=0;h<l.length;h++){let A=l[h]=await this.toChoice(l[h],a++,f);s.push(A),A.choices&&await n(A.choices,A)}return s};return n(e,r).then(l=>(this.state.loadingChoices=!1,l))}async toChoice(e,r,s){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=hgt(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,HO.define(e,"parent",s),e.level=s?s.level+1:1,e.indent==null&&(e.indent=s?s.indent+" ":e.indent||""),e.path=s?s.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,ugt.unstyle(e.message).length));let l={...e};return e.reset=(f=l.input,h=l.value)=>{for(let A of Object.keys(l))e[A]=l[A];e.input=f,e.value=h},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,s){let a=await this.toChoice(e,r,s);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,s){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,s);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e. Line truncated
`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,s].filter(Boolean).join(`
`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,s="",a=await this.header(),n=await this.prefix(),l=await this.separator(),f=await this.message();this.options.promptLine!==!1&&(s=[n,f,l,""].join(" "),this.state.prompt=s);let h=await this.format(),A=await this.error()||await this.hint(),m=await this.renderChoices(),w=await this.footer();h&&(s+=h),A&&!s.includes(A)&&(s+=" "+A),e&&!h&&!m.trim()&&this.multiple&&this.emptyError!=null&&(s+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,s,m,w].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};s1e.exports=nW});var a1e=H((Urr,o1e)=>{"use strict";var mgt=hg(),ygt=(t,e)=>{let r=t.toLowerCase();return s=>{let n=s.toLowerCase().indexOf(r),l=e(s.slice(n,n+r.length));return n>=0?s.slice(0,n)+l+s.slice(n+r.length):s}},iW=class extends mgt{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:s}=this.state;return this.input=s.slice(0,r)+e+s.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let s=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(s))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=ygt(this.input,e),s=this.choices;this.choices=s.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=s}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};o1e.exports=iW});var oW=H((Hrr,c1e)=>{"use strict";var sW=va();c1e.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:s="",pos:a,showCursor:n=!0,color:l}=e,f=l||t.styles.placeholder,h=sW.inverse(t.styles.primary),A=R=>h(t.styles.black(R)),m=r,w=" ",v=A(w);if(t.blink&&t.blink.off===!0&&(A=R=>R,v=""),n&&a===0&&s===""&&r==="")return A(w);if(n&&a===0&&(r===s||r===""))return A(s[0])+f(s.slice(1));s=sW.isPrimitive(s)?`${s}`:"",r=sW.isPrimitive(r)?`${r}`:"";let D=s&&s.startsWith(r)&&s!==r,I=D?A(s[r.length]):v;if(a!==r.length&&n===!0&&(m=r.slice(0,a)+A(r[a])+r.slice(a+1),I=""),n===!1&&(I=""),D){let R=t.styles.unstyle(m+I);return m+I+f(s.slice(R.length))}return m+I}});var jO=H((jrr,l1e)=>{"use strict";var Egt=Mf(),Igt=hg(),wgt=oW(),aW=class extends Igt{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:s,input:a}=r;return r.value=r.input=a.slice(0,s)+e+a.slice(s),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:s}=e;return e.value=e.input=s.slice(0,r-1)+s.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:s}=e;if(s[r]===void 0)return this.alert();let a=`${s}`.slice(0,r)+`${s}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:s}=e;return r&&r.startsWith(s)&&s!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let s=await this.resolve(e.separator,this.state,e,r)||":";return s?" "+this.styles.disabled(s):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:s,styles:a}=this,{cursor:n,initial:l="",name:f,hint:h,input:A=""}=e,{muted:m,submitted:w,primary:v,danger:D}=a,I=h,R=this.index===r,N=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),V=e.message;this.align==="right"&&(V=V.padStart(this.longest+1," ")),this.align==="left"&&(V=V.padEnd(this.longest+1," "));let ee=this.values[f]=A||l,te=A?"success":"dark";await N.call(e,ee,thi Line truncated
`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};d1e.exports=lW});var m1e=H((Wrr,g1e)=>{"use strict";var xgt=GO(),uW=class extends xgt{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};g1e.exports=uW});var E1e=H((Yrr,y1e)=>{"use strict";var kgt=hg(),Rgt=jO(),OC=Rgt.prototype,fW=class extends kgt{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let s=this.focused,a=s.parent||{};return!s.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():OC.dispatch.call(this,e,r)}append(e,r){return OC.append.call(this,e,r)}delete(e,r){return OC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?OC.next.call(this):super.next()}prev(){return this.focused.editable?OC.prev.call(this):super.prev()}async indicator(e,r){let s=e.indicator||"",a=e.editable?s:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?OC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let s=r.parent?this.value[r.parent.name]:this.value;if(r.editable?s=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(s=r.enabled===!0),e=await r.validate(s,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};y1e.exports=fW});var eE=H((Krr,I1e)=>{"use strict";var Tgt=NC(),Qgt=oW(),{isPrimitive:Fgt}=va(),hW=class extends Tgt{constructor(e){super(e),this.initial=Fgt(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let s=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!s||s.name!=="return")?this.append(`
`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:s}=this.state;this.input=`${s}`.slice(0,r)+e+`${s}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),s=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=s,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Qgt(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),s=await this.separator(),a=await this.message(),n=[r,a,s].filter(Boolean).join(" ");this.state.prompt=n;let l=await this.header(),f=await this.format(),h=await this.error()||await this.hint(),A=await this.footer();h&&!f.includes(h)&&(f+=" "+h),n+=" "+f,this.clear(e),this.write([l,n,A].filter(Boolean).join(`
`)),this.restore()}};I1e.exports=hW});var C1e=H((zrr,w1e)=>{"use strict";var Ngt=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),qO=t=>Ngt(t).filter(Boolean);w1e.exports=(t,e={},r="")=>{let{past:s=[],present:a=""}=e,n,l;switch(t){case"prev":case"undo":return n=s.slice(0,s.length-1),l=s[s.length-1]||"",{past:qO([r,...n]),present:l};case"next":case"redo":return n=s.slice(1),l=s[0]||"",{past:qO([...n,r]),present:l};case"save":return{past:qO([...s,r]),present:""};case"remove":return l=qO(s.filter(f=>f!==r)),a="",l.length&&(a=l.pop()),{past:l,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var pW=H((Jrr,v1e)=>{"use strict";var Ogt=eE(),B1e=C1e(),AW=class extends Ogt{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let s=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:s},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=B1e(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=B1e("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};v1e.exports=AW});var b1e=H((Zrr,S1e)=>{"use strict";var Lgt=eE(),dW=class extends Lgt{format(){return""}};S1e.exports=dW});var P1e=H((Xrr,D1e)=>{"use strict";var _gt=eE(),gW=class extends _gt{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};D1e.exports=gW});var k1e=H(($rr,x1e)=>{"use strict";var Mgt=hg(),mW=class extends Mgt{constructor(e){super({...e,multiple:!0})}};x1e.exports=mW});var EW=H((enr,R1e)=>{"use strict";var Ugt=eE(),yW=class extends Ugt{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,s=this.toNumber(this.input);return s>this.max+r?this.alert():(this.input=`${s+r}`,this.render())}down(e){let r=e||this.minor,s=this.toNumber(this.input);return s<this.min-r?this.alert():(this.input=`${s-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};R1e.exports=yW});var Q1e=H((tnr,T1e)=>{T1e.exports=EW()});var N1e=H((rnr,F1e)=>{"use strict";var Hgt=eE(),IW=class extends Hgt{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};F1e.exports=IW});var _1e=H((nnr,L1e)=>{"use strict";var jgt=Mf(),Ggt=pD(),O1e=va(),wW=class extends Ggt{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`
`;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((s,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let s=0;s<this.scale.length;s++)r.scale.push({index:s})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,s){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(s=>` ${s.name} - ${s.message}`)].map(s=>this.styles.muted(s)).join(`
`)}renderScaleHeading(e){let r=this.scale.map(h=>h.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let s=this.scaleLength-r.join("").length,a=Math.round(s/(r.length-1)),l=r.map(h=>this.styles.strong(h)).join(" ".repeat(a)),f=" ".repeat(this.widths[0]);return this.margin[3]+f+this.margin[1]+l}scaleIndicator(e,r,s){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,s);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let s=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return s.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let s=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!O1e.hasColor(n)&&(n=this.styles.muted(n));let l=I=>this.margin[3]+I.replace(/\s+$/,"").padEnd(this.widths[0]," "),f=this.newline,h=this.indent(e),A=await this.resolve(e.message,this.state,e,r),m=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=jgt.unstyle(m).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let D=O1e.wordWrap(A,{width:this.widths[0],newline:f}).split(`
`).map(I=>l(I)+this.margin[1]);return s&&(m=this.styles.info(m),D=D.map(I=>this.styles.info(I))),D[0]+=m,this.linebreak&&D.push(""),[h+a,D.join(`
`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),s=await this.renderScaleHeading();return this.margin[0]+[s,...r.map(a=>a.join(" "))].join(`
`)}async render(){let{submitted:e,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),l="";this.options.promptLine!==!1&&(l=[s,n,a,""].join(" "),this.state.prompt=l);let f=await this.header(),h=await this.format(),A=await this.renderScaleKey(),m=await this.error()||await this.hint(),w=await this.renderChoices(),v=await this.footer(),D=this.emptyError;h&&(l+=h),m&&!l.includes(m)&&(l+=" "+m),e&&!h&&!w.trim()&&this.multiple&&D!=null&&(l+=this.styles.danger(D)),this.clear(r),this.write([f,l,A,w,v].filter(Boolean).join(`
`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};L1e.exports=wW});var H1e=H((inr,U1e)=>{"use strict";var M1e=Mf(),qgt=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",BW=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=qgt(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Vgt=async(t={},e={},r=s=>s)=>{let s=new Set,a=t.fields||[],n=t.template,l=[],f=[],h=[],A=1;typeof n=="function"&&(n=await n());let m=-1,w=()=>n[++m],v=()=>n[m+1],D=I=>{I.line=A,l.push(I)};for(D({type:"bos",value:""});m<n.length-1;){let I=w();if(/^[^\S\n ]$/.test(I)){D({type:"text",value:I});continue}if(I===`
`){D({type:"newline",value:I}),A++;continue}if(I==="\\"){I+=w(),D({type:"text",value:I});continue}if((I==="$"||I==="#"||I==="{")&&v()==="{"){let N=w();I+=N;let U={type:"template",open:I,inner:"",close:"",value:I},V;for(;V=w();){if(V==="}"){v()==="}"&&(V+=w()),U.value+=V,U.close=V;break}V===":"?(U.initial="",U.key=U.inner):U.initial!==void 0&&(U.initial+=V),U.value+=V,U.inner+=V}U.template=U.open+(U.initial||U.inner)+U.close,U.key=U.key||U.inner,e.hasOwnProperty(U.key)&&(U.initial=e[U.key]),U=r(U),D(U),h.push(U.key),s.add(U.key);let ee=f.find(te=>te.name===U.key);U.field=a.find(te=>te.name===U.key),ee||(ee=new BW(U),f.push(ee)),ee.lines.push(U.line-1);continue}let R=l[l.length-1];R.type==="text"&&R.line===A?R.value+=I:D({type:"text",value:I})}return D({type:"eos",value:""}),{input:n,tabstops:l,unique:s,keys:h,items:f}};U1e.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),s={...e.values,...e.initial},{tabstops:a,items:n,keys:l}=await Vgt(e,s),f=CW("result",t,e),h=CW("format",t,e),A=CW("validate",t,e,!0),m=t.isValue.bind(t);return async(w={},v=!1)=>{let D=0;w.required=r,w.items=n,w.keys=l,w.output="";let I=async(V,ee,te,ie)=>{let ae=await A(V,ee,te,ie);return ae===!1?"Invalid field "+te.name:ae};for(let V of a){let ee=V.value,te=V.key;if(V.type!=="template"){ee&&(w.output+=ee);continue}if(V.type==="template"){let ie=n.find(we=>we.name===te);e.required===!0&&w.required.add(ie.name);let ae=[ie.input,w.values[ie.value],ie.value,ee].find(m),de=(ie.field||{}).message||V.inner;if(v){let we=await I(w.values[te],w,ie,D);if(we&&typeof we=="string"||we===!1){w.invalid.set(te,we);continue}w.invalid.delete(te);let d=await f(w.values[te],w,ie,D);w.output+=M1e.unstyle(d);continue}ie.placeholder=!1;let xe=ee;ee=await h(ee,w,ie,D),ae!==ee?(w.values[te]=ae,ee=t.styles.typing(ae),w.missing.delete(de)):(w.values[te]=void 0,ae=`<${de}>`,ee=t.styles.primary(ae),ie.placeholder=!0,w.required.has(te)&&w.missing.add(de)),w.missing.has(de)&&w.validating&&(ee=t.styles.warning(ae)),w.invalid.has(te)&&w.validating&&(ee=t.styles.danger(ae)),D===w.index&&(xe!==ee?ee=t.styles.underline(ee):ee=t.styles.heading(M1e.unstyle(ee))),D++}ee&&(w.output+=ee)}let R=w.output.split(`
`).map(V=>" "+V),N=n.length,U=0;for(let V of n)w.invalid.has(V.name)&&V.lines.forEach(ee=>{R[ee][0]===" "&&(R[ee]=w.styles.danger(w.symbols.bullet)+R[ee].slice(1))}),t.isValue(w.values[V.name])&&U++;return w.completed=(U/N*100).toFixed(0),w.output=R.join(`
`),w.output}};function CW(t,e,r,s){return(a,n,l,f)=>typeof l.field[t]=="function"?l.field[t].call(e,a,n,l,f):[s,a].find(h=>e.isValue(h))}});var G1e=H((snr,j1e)=>{"use strict";var Wgt=Mf(),Ygt=H1e(),Kgt=NC(),vW=class extends Kgt{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Ygt(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let s=this.getItem(),a=s.input.slice(0,this.cursor),n=s.input.slice(this.cursor);this.input=s.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),s=e.input.slice(0,this.cursor-1);this.input=e.input=`${s}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:s,size:a}=this.state,n=[this.options.newline,`
`].find(V=>V!=null),l=await this.prefix(),f=await this.separator(),h=await this.message(),A=[l,h,f].filter(Boolean).join(" ");this.state.prompt=A;let m=await this.header(),w=await this.error()||"",v=await this.hint()||"",D=s?"":await this.interpolate(this.state),I=this.state.key=r[e]||"",R=await this.format(I),N=await this.footer();R&&(A+=" "+R),v&&!R&&this.state.completed===0&&(A+=" "+v),this.clear(a);let U=[m,A,D,N,w.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:s,index:a}=this.state,n=r.find(l=>l.name===s[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:s,values:a}=this.state;if(e.size){let f="";for(let[h,A]of e)f+=`Invalid ${h}: ${A}
`;return this.state.error=f,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let l=Wgt.unstyle(s).split(`
`).map(f=>f.slice(1)).join(`
`);return this.value={values:a,result:l},super.submit()}};j1e.exports=vW});var V1e=H((onr,q1e)=>{"use strict";var zgt="(Use <shift>+<up/down> to sort)",Jgt=hg(),SW=class extends Jgt{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,zgt].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let s=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+s:n+s}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};q1e.exports=SW});var Y1e=H((anr,W1e)=>{"use strict";var Zgt=pD(),bW=class extends Zgt{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(s=>this.styles.muted(s)),this.state.header=r.join(`
`)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let s of r)s.scale=Xgt(5,this.options),s.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],s=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!s,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let s=this.index===r,a=this.term==="Hyper",n=a?9:8,l=a?"":" ",f=this.symbols.line.repeat(n),h=" ".repeat(n+(a?0:1)),A=ee=>(ee?this.styles.success("\u25C9"):"\u25EF")+l,m=r+1+".",w=s?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),D=this.indent(e),I=D+e.scale.map((ee,te)=>A(te===e.scaleIdx)).join(f),R=ee=>ee===e.scaleIdx?w(ee):ee,N=D+e.scale.map((ee,te)=>R(te)).join(h),U=()=>[m,v].filter(Boolean).join(" "),V=()=>[U(),I,N," "].filter(Boolean).join(`
`);return s&&(I=this.styles.cyan(I),N=this.styles.cyan(N)),V()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(s,a)=>await this.renderChoice(s,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(`
`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),l=[s,n,a].filter(Boolean).join(" ");this.state.prompt=l;let f=await this.header(),h=await this.format(),A=await this.error()||await this.hint(),m=await this.renderChoices(),w=await this.footer();(h||!A)&&(l+=" "+h),A&&!l.includes(A)&&(l+=" "+A),e&&!h&&!m&&this.multiple&&this.type!=="form"&&(l+=this.styles.danger(this.emptyError)),this.clear(r),this.write([l,f,m,w].filter(Boolean).join(`
`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function Xgt(t,e={}){if(Array.isArray(e.scale))return e.scale.map(s=>({...s}));let r=[];for(let s=1;s<t+1;s++)r.push({i:s,selected:!1});return r}W1e.exports=bW});var z1e=H((cnr,K1e)=>{K1e.exports=pW()});var Z1e=H((lnr,J1e)=>{"use strict";var $gt=GO(),DW=class extends $gt{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=s=>this.styles.primary.underline(s);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),s=await this.prefix(),a=await this.separator(),n=await this.message(),l=await this.format(),f=await this.error()||await this.hint(),h=await this.footer(),A=[s,n,a,l].join(" ");this.state.prompt=A,f&&!A.includes(f)&&(A+=" "+f),this.clear(e),this.write([r,A,h].filter(Boolean).join(`
`)),this.write(this.margin[2]),this.restore()}};J1e.exports=DW});var $1e=H((unr,X1e)=>{"use strict";var emt=hg(),PW=class extends emt{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let s=await super.toChoices(e,r);if(s.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>s.length)throw new Error("Please specify the index of the correct answer from the list of choices");return s}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};X1e.exports=PW});var t2e=H(xW=>{"use strict";var e2e=va(),ro=(t,e)=>{e2e.defineExport(xW,t,e),e2e.defineExport(xW,t.toLowerCase(),e)};ro("AutoComplete",()=>a1e());ro("BasicAuth",()=>p1e());ro("Confirm",()=>m1e());ro("Editable",()=>E1e());ro("Form",()=>jO());ro("Input",()=>pW());ro("Invisible",()=>b1e());ro("List",()=>P1e());ro("MultiSelect",()=>k1e());ro("Numeral",()=>Q1e());ro("Password",()=>N1e());ro("Scale",()=>_1e());ro("Select",()=>hg());ro("Snippet",()=>G1e());ro("Sort",()=>V1e());ro("Survey",()=>Y1e());ro("Text",()=>z1e());ro("Toggle",()=>Z1e());ro("Quiz",()=>$1e())});var n2e=H((hnr,r2e)=>{r2e.exports={ArrayPrompt:pD(),AuthPrompt:cW(),BooleanPrompt:GO(),NumberPrompt:EW(),StringPrompt:eE()}});var gD=H((Anr,s2e)=>{"use strict";var i2e=Ae("assert"),RW=Ae("events"),Ag=va(),Hf=class extends RW{constructor(e,r){super(),this.options=Ag.merge({},e),this.answers={...r}}register(e,r){if(Ag.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}i2e.equal(typeof r,"function","expected a function");let s=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[s]=r:this.prompts[s]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(Ag.merge({},this.options,r))}catch(s){return Promise.reject(s)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=Ag.merge({},this.options,e),{type:s,name:a}=e,{set:n,get:l}=Ag;if(typeof s=="function"&&(s=await s.call(this,e,this.answers)),!s)return this.answers[a];i2e(this.prompts[s],`Prompt "${s}" is not registered`);let f=new this.prompts[s](r),h=l(this.answers,a);f.state.answers=this.answers,f.enquirer=this,a&&f.on("submit",m=>{this.emit("answer",a,m,f),n(this.answers,a,m)});let A=f.emit.bind(f);return f.emit=(...m)=>(this.emit.call(this,...m),A(...m)),this.emit("prompt",f,this),r.autofill&&h!=null?(f.value=f.input=h,r.autofill==="show"&&await f.submit()):h=f.value=await f.run(),h}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||NC()}static get prompts(){return t2e()}static get types(){return n2e()}static get prompt(){let e=(r,...s)=>{let a=new this(...s),n=a.emit.bind(a);return a.emit=(...l)=>(e.emit(...l),n(...l)),a.prompt(r)};return Ag.mixinEmitter(e,new RW),e}};Ag.mixinEmitter(Hf,new RW);var kW=Hf.prompts;for(let t of Object.keys(kW)){let e=t.toLowerCase(),r=s=>new kW[t](s).run();Hf.prompt[e]=r,Hf[e]=r,Hf[t]||Reflect.defineProperty(Hf,t,{get:()=>kW[t]})}var dD=t=>{Ag.defineExport(Hf,t,()=>Hf.types[t])};dD("ArrayPrompt");dD("AuthPrompt");dD("BooleanPrompt");dD("NumberPrompt");dD("StringPrompt");s2e.exports=Hf});var A2e=H((Oir,lmt)=>{lmt.exports={name:"@yarnpkg/cli",version:"4.18.0",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-catalog":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-jsr":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspa Line truncated
${V} at ${ee}`:`
${V}`}).join("");A.push({text:`Conflict detected in constraint targeting ${pe.pretty(t.configuration,D,pe.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=I,N=rc(v,D);if(JSON.stringify(N)===JSON.stringify(R))continue;if(!s){let U=typeof N>"u"?`Missing field ${pe.pretty(t.configuration,D,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,R,pe.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${pe.pretty(t.configuration,D,pe.Type.CODE)} currently set to ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`:`Invalid field ${pe.pretty(t.configuration,D,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,R,pe.Type.INSPECT)}, found ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`;A.push({text:U,fixable:!0});continue}typeof R>"u"?N0(v,D):Ey(v,D,R),m=!0}m&&a.set(w,v)}A.length>0&&n.set(w,A)}return{changedWorkspaces:a,remainingErrors:n}}function $2e(t,{configuration:e}){let r={children:[]};for(let[s,a]of t){let n=[];for(let f of a){let h=f.text.split(/\n/);f.fixable&&(h[0]=`${pe.pretty(e,"\u2699","gray")} ${h[0]}`),n.push({value:pe.tuple(pe.Type.NO_HINT,h[0]),children:h.slice(1).map(A=>({value:pe.tuple(pe.Type.NO_HINT,A)}))})}let l={value:pe.tuple(pe.Type.LOCATOR,s.anchoredLocator),children:Ye.sortMap(n,f=>f.value[1])};r.children.push(l)}return r.children=Ye.sortMap(r.children,s=>s.value[1]),r}var v1,iyt,syt,oyt,DD=tt(()=>{We();xl();v1=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let s=Object.hasOwn(e,r)?e[r]:void 0;if(typeof s>"u")continue;Ye.getArrayWithDefault(this.indexes[r],s).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let s=[],a;for(let[l,f]of r){let h=l,A=Object.hasOwn(this.indexes,h)?this.indexes[h]:void 0;if(typeof A>"u"){s.push([h,f]);continue}let m=new Set(A.get(f)??[]);if(m.size===0)return[];if(typeof a>"u")a=m;else for(let w of a)m.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return s.length>0&&(n=n.filter(l=>{for(let[f,h]of s)if(!(typeof h<"u"?Object.hasOwn(l,f)&&l[f]===h:Object.hasOwn(l,f)===!1))return!1;return!0})),n}},iyt=/^[0-9]+$/,syt=/^[a-zA-Z0-9_]+$/,oyt=new Set(["scripts",...nr.allDependencies])});var eBe=H((wur,AY)=>{var lyt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Ter Line truncated
`+h:"")),l.error.method="_execFileSync",l.error.program=a,l.error.args=n,l.error.extMessage=h,l.error.exitCode=+f),ki.unlinkSync(A),ki.unlinkSync(m),ki.unlinkSync(w),ki.unlinkSync(v),l}function Ayt(t){var e,r={},s,a={env:process.env,encoding:t.encoding};if(pg||(nE?process.env.PSModulePath?(pg="powershell.exe",ZO=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(pg="cscript.exe",ZO=["//nologo",__dirname+"\\read.cs.js"]):(pg="/bin/sh",ZO=[__dirname+"/read.sh"])),nE&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),gY.execFileSync){e=sBe(t),PD&&PD("execFileSync",e);try{r.input=gY.execFileSync(pg,e,a)}catch(n){s=n.stderr?(n.stderr+"").trim():"",r.error=new Error(nBe+(s?`
`+s:"")),r.error.method="execFileSync",r.error.program=pg,r.error.args=e,r.error.extMessage=s,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=hyt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function EY(t){var e="",r=t.display,s=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=Ayt(t);if(n.error)throw n.error;return n.input}return yY&&yY(t),function(){var n,l,f;function h(){return n||(n=process.binding("fs"),l=process.binding("constants")),n}if(typeof ed=="string")if(ed=null,nE){if(f=function(A){var m=A.replace(/^\D+/,"").split("."),w=0;return(m[0]=+m[0])&&(w+=m[0]*1e4),(m[1]=+m[1])&&(w+=m[1]*100),(m[2]=+m[2])&&(w+=m[2]),w}(process.version),!(f>=20302&&f<40204||f>=5e4&&f<50100||f>=50600&&f<60200)&&process.stdin.isTTY)process.stdin.pause(),ed=process.stdin.fd,b1=process.stdin._handle;else try{ed=h().open("CONIN$",l.O_RDWR,parseInt("0666",8)),b1=new tBe(ed,!0)}catch{}if(process.stdout.isTTY)Gf=process.stdout.fd;else{try{Gf=ki.openSync("\\\\.\\CON","w")}catch{}if(typeof Gf!="number")try{Gf=h().open("CONOUT$",l.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{ed=ki.openSync("/dev/tty","r"),b1=process.stdin._handle}catch{}}else try{ed=ki.openSync("/dev/tty","r"),b1=new tBe(ed,!1)}catch{}if(process.stdout.isTTY)Gf=process.stdout.fd;else try{Gf=ki.openSync("/dev/tty","w")}catch{}}}(),function(){var n,l,f=!t.hideEchoBack&&!t.keyIn,h,A,m,w,v;XO="";function D(I){return I===rBe?!0:b1.setRawMode(I)!==0?!1:(rBe=I,!0)}if(iBe||!b1||typeof Gf!="number"&&(t.display||!f)){e=a();return}if(t.display&&(ki.writeSync(Gf,t.display),t.display=""),!t.displayOnly){if(!D(!f)){e=a();return}for(A=t.keyIn?1:t.bufferSize,h=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(A):new Buffer(A),t.keyIn&&t.limit&&(l=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){m=0;try{m=ki.readSync(ed,h,0,A)}catch(I){if(I.code!=="EOF"){D(!1),e+=a();return}}if(m>0?(w=h.toString(t.encoding,0,m),XO+=w):(w=`
`,XO+="\0"),w&&typeof(v=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=v,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&l&&(w=w.replace(l,"")),w&&(f||(t.hideEchoBack?t.mask&&ki.writeSync(Gf,new Array(w.length+1).join(t.mask)):ki.writeSync(Gf,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=A)break}!f&&!s&&ki.writeSync(Gf,`
`),D(!1)}}(),t.print&&!s&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+`
`),t.encoding),t.displayOnly?"":CY=t.keepWhitespace||t.keyIn?e:e.trim()}function pyt(t,e){var r=[];function s(a){a!=null&&(Array.isArray(a)?a.forEach(s):(!e||e(a))&&r.push(a))}return s(t),r}function BY(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Co(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(mY),t.unshift(mY))),t.reduce(function(s,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var l;if(a.hasOwnProperty(n))switch(l=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":l=l!=null?l+"":"",l&&n!=="limitMessage"&&(l=l.replace(/[\r\n]/g,"")),s[n]=l;break;case"bufferSize":!isNaN(l=parseInt(l,10))&&typeof l=="number"&&(s[n]=l);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":s[n]=!!l;break;case"limit":case"trueValue":case"falseValue":s[n]=pyt(l,function(f){var h=typeof f;return h==="string"||h==="number"||h==="function"||f instanceof RegExp}).map(function(f){return typeof f=="string"?f.replace(/[\r\n]/g,""):f});break;case"print":case"phContent":case"preCheck":s[n]=typeof l=="function"?l:void 0;break;case"prompt":case"display":s[n]=l??"";break}})),s},{})}function IY(t,e,r){return e.some(function(s){var a=typeof s;return a==="string"?r?t===s:t.toLowerCase()===s.toLowerCase():a==="number"?parseFloat(t)===s:a==="function"?s(t):s instanceof RegExp?s.test(t):!1})}function vY(t,e){var r=dg.normalize(nE?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=dg.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+BY(r)+"(?=\\/|\\\\|$)",nE?"i":""),"~")}function D1(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",s=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(l,f,h,A,m,w){var v;return f||typeof(v=e(m))!="string"?h:v?(A||"")+v+(w||""):""}return t.replace(s,n).replace(a,n)}function oBe(t,e,r){var s,a=[],n=-1,l=0,f="",h;function A(m,w){return w.length>3?(m.push(w[0]+"..."+w[w.length-1]),h=!0):w.length&&(m=m.concat(w)),m}return s=t.reduce(function(m,w){return m.concat((w+"").split(""))},[]).reduce(function(m,w){var v,D;return e||(w=w.toLowerCase()),v=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&v===0?f+=w:(D=w.charCodeAt(0),v&&v===n&&D===l+1?a.push(w):(m=A(m,a),a=[w],n=v),l=D),m},[]),s=A(s,a),f&&(s.push(f),h=!0),{values:s,suppressed:h}}function aBe(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function cBe(t,e){var r,s,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":s=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=oBe(s,e.caseSensitive),s=a.values):s=s.filter(function(l){var f=typeof l;return f==="string"||f==="number"}),r=aBe(s,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=CY;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=dg.basename(r):t==="cwdHome"&&(r=vY(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(l){return l.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=rE[rE.length-n]||"")}return r}function lBe(t){var e=/^(.)-(.)$/.exec(t),r="",s,a,n,l;if(!e)return null;for(s=e[1].charCodeAt(0),a=e[2].charCodeAt(0),l=s<a?1:-1,n=s;n!==a+l;n+=l)r+=String.fromCharCode(n);return r}function wY(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,s="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(s),s=""),s+=n;return s&&a.push(s),a}function uBe(t,e){return e.trueValue.length&&IY(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&IY(t,e.falseValue,e.caseSensitive)?!1:t}function fBe(t){var e,r,s,a,n,l,f;function h(m){return cBe(m,t)}function A(m){t.display+=(/[^\r\n]$/.test(t.display)?`
`:"")+m}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=D1(t.display+"",h);;){if(e=EY(t),r=!1,s="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=rE[0]||"",a[1]?r=!0:e=n,A(n+`
`),r||(t.displayOnly=!0,EY(t),t.displayOnly=!1)):e&&e!==rE[rE.length-1]&&(rE=[e])),!r&&t.cd&&e)switch(l=wY(e),l[0].toLowerCase()){case"cd":if(l[1])try{process.chdir(vY(l[1],!0))}catch(m){A(m+"")}r=!0;break;case"pwd":A(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(f=t.preCheck(e,t),e=f.res,f.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||IY(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(s=D1(t.limitMessage,h))}A((s?s+`
`:"")+D1(t.displaySrc+"",h))}return uBe(e,t)}wn._DBG_set_useExt=function(t){iBe=t};wn._DBG_set_checkOptions=function(t){yY=t};wn._DBG_set_checkMethod=function(t){PD=t};wn._DBG_clearHistory=function(){CY="",rE=[]};wn.setDefaultOptions=function(t){return mY=Co(!0,t),Co(!0)};wn.question=function(t,e){return fBe(Co(Co(!0,e),{display:t}))};wn.prompt=function(t){var e=Co(!0,t);return e.display=e.prompt,fBe(e)};wn.keyIn=function(t,e){var r=Co(Co(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(s){var a=typeof s;return a==="string"||a==="number"}).map(function(s){return D1(s+"",lBe)}),r.limit=BY(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(s){r[s]=r[s].reduce(function(a,n){var l=typeof n;return l==="string"||l==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=D1(r.display+"",function(s){return cBe(s,r)}),uBe(EY(r),r)};wn.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),wn.question(t,Co({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};wn.questionNewPassword=function(t,e){var r,s,a,n=Co({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist>
And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(D){return D==="charlist"?r.text:D==="length"?s+"..."+a:null}}),l,f,h,A,m,w,v;for(e=e||{},l=D1(e.charlist?e.charlist+"":"$<!-~>",lBe),(isNaN(s=parseInt(e.min,10))||typeof s!="number")&&(s=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),A=new RegExp("^["+BY(l)+"]{"+s+","+a+"}$"),r=oBe([l],n.caseSensitive,!0),r.text=aBe(r.values,r.suppressed),f=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",h=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),m=n.limitMessage;!v;)n.limit=A,n.limitMessage=m,w=wn.question(t,n),n.limit=[w,""],n.limitMessage=h,v=wn.question(f,n);return w};function hBe(t,e,r){var s;function a(n){return s=r(n),!isNaN(s)&&typeof s=="number"}return wn.question(t,Co({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),s}wn.questionInt=function(t,e){return hBe(t,e,function(r){return parseInt(r,10)})};wn.questionFloat=function(t,e){return hBe(t,e,parseFloat)};wn.questionPath=function(t,e){var r,s="",a=Co({hideEchoBack:!1,limitMessage:`$<error(
)>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var l,f,h;n=vY(n,!0),s="";function A(m){m.split(/\/|\\/).reduce(function(w,v){var D=dg.resolve(w+=v+dg.sep);if(!ki.existsSync(D))ki.mkdirSync(D);else if(!ki.statSync(D).isDirectory())throw new Error("Non directory already exists: "+D);return w},"")}try{if(l=ki.existsSync(n),r=l?ki.realpathSync(n):dg.resolve(n),!e.hasOwnProperty("exists")&&!l||typeof e.exists=="boolean"&&e.exists!==l)return s=(l?"Already exists":"No such file or directory")+": "+r,!1;if(!l&&e.create&&(e.isDirectory?A(r):(A(dg.dirname(r)),ki.closeSync(ki.openSync(r,"w"))),r=ki.realpathSync(r)),l&&(e.min||e.max||e.isFile||e.isDirectory)){if(f=ki.statSync(r),e.isFile&&!f.isFile())return s="Not file: "+r,!1;if(e.isDirectory&&!f.isDirectory())return s="Not directory: "+r,!1;if(e.min&&f.size<+e.min||e.max&&f.size>+e.max)return s="Size "+f.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(h=e.validate(r))!==!0)return typeof h=="string"&&(s=h),!1}catch(m){return s=m+"",!1}return!0},phContent:function(n){return n==="error"?s:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),wn.question(t,a),r};function ABe(t,e){var r={},s={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(s[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=wY(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&s.hasOwnProperty(n)?s[n].apply(a,r.args.slice(1)):s.hasOwnProperty("_")?s._.apply(a,r.args):null,{res:a,forceNext:!1}},s.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),s.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=wY(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}wn.promptCL=function(t,e){var r=Co({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),s=ABe(t,r);return r.limit=s.limit,r.preCheck=s.preCheck,wn.prompt(r),s.args};wn.promptLoop=function(t,e){for(var r=Co({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(wn.prompt(r)););};wn.promptCLLoop=function(t,e){var r=Co({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),s=ABe(t,r);for(r.limit=s.limit,r.preCheck=s.preCheck;wn.prompt(r),!s.hRes;);};wn.promptSimShell=function(t){return wn.prompt(Co({hideEchoBack:!1,history:!0},t,{prompt:function(){return nE?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function pBe(t,e,r){var s;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),s=wn.keyIn(t,Co(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof s=="boolean"?s:""}wn.keyInYN=function(t,e){return pBe(t,e)};wn.keyInYNStrict=function(t,e){return pBe(t,e,"yn")};wn.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),wn.keyIn(t,Co({limit:null},e,{hideEchoBack:!0,mask:""}))};wn.keyInSelect=function(t,e,r){var s=Co({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(h){return h==="itemsCount"?t.length+"":h==="firstItem"?(t[0]+"").trim():h==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},l=49,f=`
`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(h,A){var m=String.fromCharCode(l);a+=m,n[m]=A,f+="["+m+"] "+(h+"").trim()+`
`,l=l===57?97:l+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,f+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+`
`),s.limit=a,f+=`
`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),f+=e),n[wn.keyIn(f,s).toLowerCase()]};wn.getRawInput=function(){return XO};function xD(t,e){var r;return e.length&&(r={},r[t]=e[0]),wn.setDefaultOptions(r)[t]}wn.setPrint=function(){return xD("print",arguments)};wn.setPrompt=function(){return xD("prompt",arguments)};wn.setEncoding=function(){return xD("encoding",arguments)};wn.setMask=function(){return xD("mask",arguments)};wn.setBufferSize=function(){return xD("bufferSize",arguments)}});var SY=H((Bur,Nl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(C,P,E){var F=tau_file_system.files[C];if(!F){if(E==="read")return null;F={path:C,text:"",type:P,get:function(Z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+Z)},put:function(Z,X){return X==="end_of_file"?(this.text+=Z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+Z+this.text.substring(X+Z.length),!0)},get_byte:function(Z){if(Z==="end_of_stream")return-1;var X=Math.floor(Z/2);if(this.text.length<=X)return-1;var re=n(this.text[Math.floor(Z/2)],0);return Z%2===0?re&255:re/256>>>0},put_byte:function(Z,X){var re=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<re)return null;var ce=this.text.length===re?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ce=ce/256>>>0,ce=(ce&255)<<8|Z&255):(ce=ce&255,ce=(Z&255)<<8|ce&255),this.text.length===re?this.text+=l(ce):this.text=this.text.substring(0,re)+l(ce)+this.text.substring(re+1),!0},flush:function(){return!0},close:function(){var Z=tau_file_system.files[this.path];return Z?!0:null}},tau_file_system.files[C]=F}return E==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(C,P){for(var E;tau_user_input.buffer.length<C;)E=window.prompt(),E&&(tau_user_input.buffer+=E);return E=tau_user_input.buffer.substr(0,C),tau_user_input.buffer=tau_user_input.buffer.substr(C),E}},tau_user_output={put:function(C,P){return console.log(C),!0},flush:function(){return!0}},nodejs_file_system={open:function(C,P,E){var F=Ae("fs"),Z=F.openSync(C,E[0]);return E==="read"&&!F.existsSync(C)?null:{get:function(X,re){var ce=new Buffer(X);return F.readSync(Z,ce,0,X,re),ce.toString()},put:function(X,re){var ce=Buffer.from(X);if(re==="end_of_file")F.writeSync(Z,ce);else{if(re==="past_end_of_file")return null;F.writeSync(Z,ce,0,ce.length,re)}return!0},get_byte:function(X){return null},put_byte:function(X,re){return null},flush:function(){return!0},close:function(){return F.closeSync(Z),!0}}}},nodejs_user_input={buffer:"",get:function(C,P){for(var E,F=dBe();nodejs_user_input.buffer.length<C;)nodejs_user_input.buffer+=F.question();return E=nodejs_user_input.buffer.substr(0,C),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(C),E}},nodejs_user_output={put:function(C,P){return process.stdout.write(C),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(C,P){return C.indexOf(P)}:e=function(C,P){for(var E=C.length,F=0;F<E;F++)if(P===C[F])return F;return-1};var r=function(C,P){if(C.length!==0){for(var E=C[0],F=C.length,Z=1;Z<F;Z++)E=P(E,C[Z]);return E}},s;Array.prototype.map?s=function(C,P){return C.map(P)}:s=function(C,P){for(var E=[],F=C.length,Z=0;Z<F;Z++)E.push(P(C[Z]));return E};var a;Array.prototype.filter?a=function(C,P){return C.filter(P)}:a=function(C,P){for(var E=[],F=C.length,Z=0;Z<F;Z++)P(C[Z])&&E.push(C[Z]);return E};var n;String.prototype.codePointAt?n=function(C,P){return C.codePointAt(P)}:n=function(C,P){return C.charCodeAt(P)};var l;String.fromCodePoint?l=function(){return String.fromCodePoint.apply(null,arguments)}:l=function(){return String.fromCharCode.apply(null,arguments)};var f=0,h=1,A=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,m={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(C){var P=[],E=!1;return C.replace(A,function(F,Z,X,re,ce,ke,Le,pt,St,er,ur,Ht,Cn,Ur,kr,_,Ue){switch(!0){case St!==void 0:return P.push(parseInt(St,16)),"";case er!==void 0:return P.push(parseInt(er,8)),"";case ur!==void 0:case Ht!==void 0:case Cn!==void 0:case Ur!==void 0:case kr!==void 0:return P.push(n(F.substr(1),0)),"";case Ue!==void 0:return P.push(n(Ue,0)),"";case _!==void 0:E=!0;default:return P.push(m[F]),""}}),E?null:P}function v(C,P){var E="";if(C.length<2)return C;try{C=C.replace(/\\([0-7]+)\\/g,function(re,ce){return l(parseInt(ce,8))}),C=C.replace(/\\x([0-9a-fA-F]+)\\/g,function(re,ce){return l(parseInt(ce,16))})}catch{return null}for(var F=0;F<C.length;F++){var Z=C.charAt(F),X=C.charAt(F+1);if(Z===P&&X===P)F++,E+=P;else if(Z==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",`
`,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":E+="a";break;case"b":E+="\b";break;case"f":E+="\f";break;case"n":E+=`
`;break;case"r":E+="\r";break;case"t":E+=" ";break;case"v":E+="\v";break;case"'":E+="'";break;case'"':E+='"';break;case"\\":E+="\\";break}else return null;else E+=Z}return E}function D(C){for(var P="",E=0;E<C.length;E++)switch(C.charAt(E)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case`
`:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=C.charAt(E);break}return P}function I(C){var P=C.substr(2);switch(C.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return w(P)[0];default:return parseFloat(C)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function N(C,P){return C.get_flag("char_conversion").id==="on"?P.replace(/./g,function(E){return C.get_char_conversion(E)}):P}function U(C){this.thread=C,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(C){return this.tokens=C},U.prototype.new_text=function(C){this.text=C,this.tokens=[]},U.prototype.get_tokens=function(C){var P,E=0,F=0,Z=0,X=[],re=!1;if(C){var ce=this.tokens[C-1];E=ce.len,P=N(this.thread,this.text.substr(ce.len)),F=ce.line,Z=ce.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var ke=[],Le=!1;if(/^\n/.exec(P)!==null){F++,Z=0,E++,P=P.replace(/\n/,""),re=!0;continue}for(var pt in R)if(R.hasOwnProperty(pt)){var St=R[pt].exec(P);St&&ke.push({value:St[0],name:pt,matches:St})}if(!ke.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:Z}]);var ce=r(ke,function(Ur,kr){return Ur.value.length>=kr.value.length?Ur:kr});switch(ce.start=Z,ce.line=F,P=P.replace(ce.value,""),Z+=ce.value.length,E+=ce.value.length,ce.name){case"atom":ce.raw=ce.value,ce.value.charAt(0)==="'"&&(ce.value=v(ce.value.substr(1,ce.value.length-2),"'"),ce.value===null&&(ce.name="lexical",ce.value="unknown escape sequence"));break;case"number":ce.float=ce.value.substring(0,2)!=="0x"&&ce.value.match(/[.eE]/)!==null&&ce.value!=="0'.",ce.value=I(ce.value),ce.blank=Le;break;case"string":var er=ce.value.charAt(0);ce.value=v(ce.value.substr(1,ce.value.length-2),er),ce.value===null&&(ce.name="lexical",ce.value="unknown escape sequence");break;case"whitespace":var ur=X[X.length-1];ur&&(ur.space=!0),Le=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ce=X.pop(),ce.name="atom",ce.value="{}",ce.raw="{}",ce.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ce=X.pop(),ce.name="atom",ce.value="[]",ce.raw="[]",ce.space=!1);break}ce.len=E,X.push(ce),Le=!1}var Ht=this.set_last_tokens(X);return Ht.length===0?null:Ht};function V(C,P,E,F,Z){if(!P[E])return{type:f,value:x.error.syntax(P[E-1],"expression expected",!0)};var X;if(F==="0"){var re=P[E];switch(re.name){case"number":return{type:h,len:E+1,value:new x.type.Num(re.value,re.float)};case"variable":return{type:h,len:E+1,value:new x.type.Var(re.value)};case"string":var ce;switch(C.get_flag("double_quotes").id){case"atom":ce=new j(re.value,[]);break;case"codes":ce=new j("[]",[]);for(var ke=re.value.length-1;ke>=0;ke--)ce=new j(".",[new x.type.Num(n(re.value,ke),!1),ce]);break;case"chars":ce=new j("[]",[]);for(var ke=re.value.length-1;ke>=0;ke--)ce=new j(".",[new x.type.Term(re.value.charAt(ke),[]),ce]);break}return{type:h,len:E+1,value:ce};case"l_paren":var Ht=V(C,P,E+1,C.__get_max_priority(),!0);return Ht.type!==h?Ht:P[Ht.len]&&P[Ht.len].name==="r_paren"?(Ht.len++,Ht):{type:f,derived:!0,value:x.error.syntax(P[Ht.len]?P[Ht.len]:P[Ht.len-1],") or operator expected",!P[Ht.len])};case"l_bracket":var Ht=V(C,P,E+1,C.__get_max_priority(),!0);return Ht.type!==h?Ht:P[Ht.len]&&P[Ht.len].name==="r_bracket"?(Ht.len++,Ht.value=new j("{}",[Ht.value]),Ht):{type:f,derived:!0,value:x.error.syntax(P[Ht.len]?P[Ht.len]:P[Ht.len-1],"} or operator expected",!P[Ht.len])}}var Le=ee(C,P,E,Z);return Le.type===h||Le.derived||(Le=te(C,P,E),Le.type===h||Le.derived)?Le:{type:f,derived:!1,value:x.error.syntax(P[E],"unexpected token")}}var pt=C.__get_max_priority(),St=C.__get_next_priority(F),er=E;if(P[E].name==="atom"&&P[E+1]&&(P[E].space||P[E+1].name!=="l_paren")){var re=P[E++],ur=C.__lookup_operator_classes(F,re.value);if(ur&&ur.indexOf("fy")>-1){var Ht=V(C,P,E,F,Z);if(Ht.type!==f)return re.value==="-"&&!re.space&&x.type.is_number(Ht.value)?{value:new x.type.Num(-Ht.value.value,Ht.value.is_float),len:Ht.len,type:h}:{value:new x.type.Term(re.value,[Ht.value]),len:Ht.len,type:h};X=Ht}else if(ur&&ur.indexOf("fx")>-1){var Ht=V(C,P,E,St,Z);if(Ht.type!==f)return{value:new x.type.Term(re.value,[Ht.value]),len:Ht.len,type:h};X=Ht}}E=er;var Ht=V(C,P,E,St,Z);if(Ht.type===h){E=Ht.len;var re=P[E];if(P[E]&&(P[E].name==="atom"&&C.__lookup_operator_classes(F,re.value)||P[E].name==="bar"&&C.__lookup_operator_classes(F,"|"))){var Cn=St,Ur=F,ur=C.__lookup_operator_classes(F,re.value);iLine truncated
`;P+=`
`;for(key in this.rules)for(E=0;E<this.rules[key].length;E++)P+=this.rules[key][E].toString(C),P+=`
`;return P},De.prototype.clone=function(){return new De(this.id)},Te.prototype.clone=function(){return new Te(this.value,this.is_float)},j.prototype.clone=function(){return new j(this.id,s(this.args,function(C){return C.clone()}))},Ne.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Fe.prototype.clone=function(){var C={};for(var P in this.links)this.links.hasOwnProperty(P)&&(C[P]=this.links[P].clone());return new Fe(C)},Pe.prototype.clone=function(){return new Pe(this.goal.clone(),this.substitution.clone(),this.parent)},He.prototype.clone=function(){return new He(this.head.clone(),this.body!==null?this.body.clone():null)},De.prototype.equals=function(C){return x.type.is_variable(C)&&this.id===C.id},Te.prototype.equals=function(C){return x.type.is_number(C)&&this.value===C.value&&this.is_float===C.is_float},j.prototype.equals=function(C){if(!x.type.is_term(C)||this.indicator!==C.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(C.args[P]))return!1;return!0},Ne.prototype.equals=function(C){return x.type.is_stream(C)&&this.id===C.id},Fe.prototype.equals=function(C){var P;if(!x.type.is_substitution(C))return!1;for(P in this.links)if(this.links.hasOwnProperty(P)&&(!C.links[P]||!this.links[P].equals(C.links[P])))return!1;for(P in C.links)if(C.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},Pe.prototype.equals=function(C){return x.type.is_state(C)&&this.goal.equals(C.goal)&&this.substitution.equals(C.substitution)&&this.parent===C.parent},He.prototype.equals=function(C){return x.type.is_rule(C)&&this.head.equals(C.head)&&(this.body===null&&C.body===null||this.body!==null&&this.body.equals(C.body))},De.prototype.rename=function(C){return C.get_free_variable(this)},Te.prototype.rename=function(C){return this},j.prototype.rename=function(C){return new j(this.id,s(this.args,function(P){return P.rename(C)}))},Ne.prototype.rename=function(C){return this},He.prototype.rename=function(C){return new He(this.head.rename(C),this.body!==null?this.body.rename(C):null)},De.prototype.variables=function(){return[this.id]},Te.prototype.variables=function(){return[]},j.prototype.variables=function(){return[].concat.apply([],s(this.args,function(C){return C.variables()}))},Ne.prototype.variables=function(){return[]},He.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},De.prototype.apply=function(C){return C.lookup(this.id)?C.lookup(this.id):this},Te.prototype.apply=function(C){return this},j.prototype.apply=function(C){if(this.indicator==="./2"){for(var P=[],E=this;E.indicator==="./2";)P.push(E.args[0].apply(C)),E=E.args[1];for(var F=E.apply(C),Z=P.length-1;Z>=0;Z--)F=new j(".",[P[Z],F]);return F}return new j(this.id,s(this.args,function(X){return X.apply(C)}),this.ref)},Ne.prototype.apply=function(C){return this},He.prototype.apply=function(C){return new He(this.head.apply(C),this.body!==null?this.body.apply(C):null)},Fe.prototype.apply=function(C){var P,E={};for(P in this.links)this.links.hasOwnProperty(P)&&(E[P]=this.links[P].apply(C));return new Fe(E)},j.prototype.select=function(){for(var C=this;C.indicator===",/2";)C=C.args[0];return C},j.prototype.replace=function(C){return this.indicator===",/2"?this.args[0].indicator===",/2"?new j(",",[this.args[0].replace(C),this.args[1]]):C===null?this.args[1]:new j(",",[C,this.args[1]]):C},j.prototype.search=function(C){if(x.type.is_term(C)&&C.ref!==void 0&&this.ref===C.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(C))return!0;return!1},Qe.prototype.get_current_input=function(){return this.current_input},ft.prototype.get_current_input=function(){return this.session.get_current_input()},Qe.prototype.get_current_output=function(){return this.current_output},ft.prototype.get_current_output=function(){return this.session.get_current_output()},Qe.prototype.set_current_input=function(C){this.current_input=C},ft.prototype.set_current_input=function(C){return this.session.set_current_input(C)},Qe.prototype.set_current_output=function(C){this.current_input=C},ft.prototype.set_current_output=function(C){return this.session.set_current_output(C)},Qe.prototype.get_stream_by_alias=function(C){return this.streams[C]},ft.prototype.get_stream_by_alias=function(C){return this.session.get_stream_by_alias(C)},Qe.prototype.file_system_open=function(C,P,E){return this.file_system.open(C,P,E)},ft.prototype.file_system_open=function(C,P,E){return this.session.file_system_open(C,P,E)},Qe.prototype.get_char_conversion=function(C){return this.__char_conversion[C]||C},ft.prototype.get_char_conversion=function(C){return this.session.get_char_conversion(C)},Qe.prototype.parse=function(C){return this.thread.parse(C)},ft.prototype.parse=function(C){var P=new U(this);P.new_text(C);var E=P.get_tokens();if(E===null)return!1;var F=V(this,E,0,this.__get_max_priority(),!1);return F Line truncated
`,[])])])),P.substitution,P)])},"nl/1":function(C,P,E){var F=E.args[0];C.prepend([new Pe(P.goal.replace(new j("put_char",[F,new j(`
`,[])])),P.substitution,P)])},"get_byte/1":function(C,P,E){var F=E.args[0];C.prepend([new Pe(P.goal.replace(new j(",",[new j("current_input",[new De("S")]),new j("get_byte",[new De("S"),F])])),P.substitution,P)])},"get_byte/2":function(C,P,E){var F=E.args[0],Z=E.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(E.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_byte(Z))C.throw_error(x.error.type("in_byte",char,E.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,E.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,E.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,E.indicator));else if(X.type==="text")C.throw_error(x.error.permission("input","text_stream",F,E.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,E.indicator));else{var re;if(X.position==="end_of_stream")re="end_of_file",X.position="past_end_of_stream";else{if(re=X.stream.get_byte(X.position),re===null){C.throw_error(x.error.representation("byte",E.indicator));return}X.position++}C.prepend([new Pe(P.goal.replace(new j("=",[new Te(re,!1),Z])),P.substitution,P)])}},"peek_byte/1":function(C,P,E){var F=E.args[0];C.prepend([new Pe(P.goal.replace(new j(",",[new j("current_input",[new De("S")]),new j("peek_byte",[new De("S"),F])])),P.substitution,P)])},"peek_byte/2":function(C,P,E){var F=E.args[0],Z=E.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F))C.throw_error(x.error.instantiation(E.indicator));else if(!x.type.is_variable(Z)&&!x.type.is_byte(Z))C.throw_error(x.error.type("in_byte",char,E.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,E.indicator));else if(!x.type.is_stream(X)||X.stream===null)C.throw_error(x.error.existence("stream",F,E.indicator));else if(X.output)C.throw_error(x.error.permission("input","stream",F,E.indicator));else if(X.type==="text")C.throw_error(x.error.permission("input","text_stream",F,E.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,E.indicator));else{var re;if(X.position==="end_of_stream")re="end_of_file",X.position="past_end_of_stream";else if(re=X.stream.get_byte(X.position),re===null){C.throw_error(x.error.representation("byte",E.indicator));return}C.prepend([new Pe(P.goal.replace(new j("=",[new Te(re,!1),Z])),P.substitution,P)])}},"put_byte/1":function(C,P,E){var F=E.args[0];C.prepend([new Pe(P.goal.replace(new j(",",[new j("current_output",[new De("S")]),new j("put_byte",[new De("S"),F])])),P.substitution,P)])},"put_byte/2":function(C,P,E){var F=E.args[0],Z=E.args[1],X=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(Z)?C.throw_error(x.error.instantiation(E.indicator)):x.type.is_byte(Z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?C.throw_error(x.error.domain("stream_or_alias",F,E.indicator)):!x.type.is_stream(X)||X.stream===null?C.throw_error(x.error.existence("stream",F,E.indicator)):X.input?C.throw_error(x.error.permission("output","stream",F,E.indicator)):X.type==="text"?C.throw_error(x.error.permission("output","text_stream",F,E.indicator)):X.stream.put_byte(Z.value,X.position)&&(typeof X.position=="number"&&X.position++,C.success(P)):C.throw_error(x.error.type("byte",Z,E.indicator))},"read/1":function(C,P,E){var F=E.args[0];C.prepend([new Pe(P.goal.replace(new j(",",[new j("current_input",[new De("S")]),new j("read_term",[new De("S"),F,new j("[]",[])])])),P.substitution,P)])},"read/2":function(C,P,E){var F=E.args[0],Z=E.args[1];C.prepend([new Pe(P.goal.replace(new j("read_term",[F,Z,new j("[]",[])])),P.substitution,P)])},"read_term/2":function(C,P,E){var F=E.args[0],Z=E.args[1];C.prepend([new Pe(P.goal.replace(new j(",",[new j("current_input",[new De("S")]),new j("read_term",[new De("S"),F,Z])])),P.substitution,P)])},"read_term/3":function(C,P,E){var F=E.args[0],Z=E.args[1],X=E.args[2],re=x.type.is_stream(F)?F:C.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))C.throw_error(x.error.instantiation(E.indicator));else if(!x.type.is_list(X))C.throw_error(x.error.type("list",X,E.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))C.throw_error(x.error.domain("stream_or_alias",F,E.indicator));else if(!x.type.is_stream(re)||re.stream===null)C.throw_error(x.error.existence("stream",F,E.indicator));else if(re.output)C.throw_error(x.error.permission("input","stream",F,E.indicator));else if(re.type==="binary")C.throw_error(x.error.permission("input","binary_stream",F,E.indicator));else if(re.position==="past_end_of_stream"&&re.eof_action==="error")C.throw_error(x.error.permission("input","past_end_of_stream",F,E.indicator));else{for(v Line truncated
`;for(let r of this.project.workspacesByCwd.values()){let s=r.relativeCwd;e+=`workspace(${mg(s)}).
`,e+=`workspace_ident(${mg(s)}, ${mg(G.stringifyIdent(r.anchoredLocator))}).
`,e+=`workspace_version(${mg(s)}, ${mg(r.manifest.version)}).
`;for(let a of wBe)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${mg(s)}, ${mg(G.stringifyIdent(n))}, ${mg(n.range)}, ${a}).
`}return e+=`workspace(_) :- false.
`,e+=`workspace_ident(_, _) :- false.
`,e+=`workspace_version(_, _) :- false.
`,e+=`workspace_has_dependency(_, _, _, _) :- false.
`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false.
`,e+=`gen_enforced_field(_, _, _) :- false.
`,e}get fullSource(){return`${this.getProjectDatabase()}
${this.source}
${this.getDeclarations()}`}createSession(){return new DY(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),s=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:l,dependencyType:f}of e){let h=bD([f,G.stringifyIdent(n)]),A=Ye.getMapWithDefault(s,a.cwd);Ye.getMapWithDefault(A,h).set(l??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:l}of r){let f=bD(n),h=Ye.getMapWithDefault(s,a.cwd);Ye.getMapWithDefault(h,f).set(JSON.parse(l)??void 0,new Set)}return{manifestUpdates:s,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let s of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=Y.resolve(this.project.cwd,iE(s.links.WorkspaceCwd)),n=iE(s.links.DependencyIdent),l=iE(s.links.DependencyRange),f=iE(s.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let h=this.project.getWorkspaceByCwd(a),A=G.parseIdent(n);r.push({workspace:h,dependencyIdent:A,dependencyRange:l,dependencyType:f})}return Ye.sortMap(r,[({dependencyRange:s})=>s!==null?"0":"1",({workspace:s})=>G.stringifyIdent(s.anchoredLocator),({dependencyIdent:s})=>G.stringifyIdent(s)])}async genEnforcedFields(e){let r=[];for await(let s of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=Y.resolve(this.project.cwd,iE(s.links.WorkspaceCwd)),n=iE(s.links.FieldPath),l=yyt(s.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let f=this.project.getWorkspaceByCwd(a);r.push({workspace:f,fieldPath:n,fieldValue:l})}return Ye.sortMap(r,[({workspace:s})=>G.stringifyIdent(s.anchoredLocator),({fieldPath:s})=>s])}async*query(e){let r=this.createSession();for await(let s of r.makeQuery(e)){let a={};for(let[n,l]of Object.entries(s.links))n!=="_"&&(a[n]=iE(l));yield a}}}});var QBe=H(rL=>{"use strict";Object.defineProperty(rL,"__esModule",{value:!0});function WD(t){let e=[...t.caches],r=e.shift();return r===void 0?TBe():{get(s,a,n={miss:()=>Promise.resolve()}){return r.get(s,a,n).catch(()=>WD({caches:e}).get(s,a,n))},set(s,a){return r.set(s,a).catch(()=>WD({caches:e}).set(s,a))},delete(s){return r.delete(s).catch(()=>WD({caches:e}).delete(s))},clear(){return r.clear().catch(()=>WD({caches:e}).clear())}}}function TBe(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}rL.createFallbackableCache=WD;rL.createNullCache=TBe});var NBe=H((oAr,FBe)=>{FBe.exports=QBe()});var OBe=H(jY=>{"use strict";Object.defineProperty(jY,"__esModule",{value:!0});function Lyt(t={serializable:!0}){let e={};return{get(r,s,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let l=s(),f=a&&a.miss||(()=>Promise.resolve());return l.then(h=>f(h)).then(()=>l)},set(r,s){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}jY.createInMemoryCache=Lyt});var _Be=H((cAr,LBe)=>{LBe.exports=OBe()});var UBe=H(qf=>{"use strict";Object.defineProperty(qf,"__esModule",{value:!0});function _yt(t,e,r){let s={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===GY.WithinHeaders?s:{}},queryParameters(){return t===GY.WithinQueryParameters?s:{}}}}function Myt(t){let e=0,r=()=>(e++,new Promise(s=>{setTimeout(()=>{s(t(r))},Math.min(100*e,1e3))}));return t(r)}function MBe(t,e=(r,s)=>Promise.resolve()){return Object.assign(t,{wait(r){return MBe(t.then(s=>Promise.all([e(s,r),s])).then(s=>s[1]))}})}function Uyt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[r],t[r]=s}return t}function Hyt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function jyt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Gyt="4.22.1",qyt=t=>()=>t.transporter.requester.destroy(),GY={WithinQueryParameters:0,WithinHeaders:1};qf.AuthMode=GY;qf.addMethods=Hyt;qf.createAuth=_yt;qf.createRetryablePromise=Myt;qf.createWaitablePromise=MBe;qf.destroy=qyt;qf.encode=jyt;qf.shuffle=Uyt;qf.version=Gyt});var YD=H((uAr,HBe)=>{HBe.exports=UBe()});var jBe=H(qY=>{"use strict";Object.defineProperty(qY,"__esModule",{value:!0});var Vyt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};qY.MethodEnum=Vyt});var KD=H((hAr,GBe)=>{GBe.exports=jBe()});var ive=H(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});var VBe=KD();function VY(t,e){let r=t||{},s=r.data||{};return Object.keys(r).forEach(a=>{["timeout","head Line truncated
`;f!==s&&(s=f,t.write(tbe.default.eraseLines(r)+f),r=f.split(`
`).length)};return n.clear=()=>{t.write(tbe.default.eraseLines(r)),s="",r=0},n.done=()=>{s="",r=0,e||(rbe.default.show(),a=!1)},n};sP.default={create:Mwt}});var sbe=H((epr,Uwt)=>{Uwt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var cbe=H(Ol=>{"use strict";var abe=sbe(),nA=process.env;Object.defineProperty(Ol,"_vendors",{value:abe.map(function(t){return t.constant})});Ol.name=null;Ol.isPR=null;abe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(s){return obe(s)});if(Ol[t.constant]=r,r)switch(Ol.name=t.name,typeof t.pr){case"string":Ol.isPR=!!nA[t.pr];break;case"object":"env"in t.pr?Ol.isPR=t.pr.env in nA&&nA[t.pr.env]!==t.pr.ne:"any"in t.pr?Ol.isPR=t.pr.any.some(function(s){return!!nA[s]}):Ol.isPR=obe(t.pr);break;default:Ol.isPR=null}});Ol.isCI=!!(nA.CI||nA.CONTINUOUS_INTEGRATION||nA.BUILD_NUMBER||nA.RUN_ID||Ol.name);function obe(t){return typeof t=="string"?!!nA[t]:Object.keys(t).every(function(e){return nA[e]===t[e]})}});var ube=H((rpr,lbe)=>{"use strict";lbe.exports=cbe().isCI});var hbe=H((npr,fbe)=>{"use strict";var Hwt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};fbe.exports=(t,{include:e,exclude:r}={})=>{let s=a=>{let n=l=>typeof l=="string"?a===l:l.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Hwt(t.constructor.prototype)){if(n==="constructor"||!s(n))continue;let l=Reflect.getOwnPropertyDescriptor(a,n);l&&typeof l.value=="function"&&(t[n]=t[n].bind(t))}return t}});var ybe=H(gi=>{"use strict";var J1,cP,CL,kK;typeof performance=="object"&&typeof performance.now=="function"?(Abe=performance,gi.unstable_now=function(){return Abe.now()}):(vK=Date,pbe=vK.now(),gi.unstable_now=function(){return vK.now()-pbe});var Abe,vK,pbe;typeof window>"u"||typeof MessageChannel!="function"?(z1=null,SK=null,bK=function(){if(z1!==null)try{var t=gi.unstable_now();z1(!0,t),z1=null}catch(e){throw setTimeout(bK,0),e}},J1=function(t){z1!==null?setTimeout(J1,0,t):(z1=t,setTimeout(bK,0))},cP=function(t,e){SK=setTimeout(t,e)},CL=function(){clearTimeout(SK)},gi.unstable_shouldYield=function(){return!1},kK=gi.unstable_forceFrameRate=function(){}):(dbe=window.setTimeout,gbe=window.clearTimeout,typeof console<"u"&&(mbe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof mbe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),oP=!1,aP=null,EL=-1,DK=5,PK=0,gi.unstable_shouldYield=function(){return gi.unstable_now()>=PK},kK=function(){},gi.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):DK=0<t?Math Line truncated
`+Xu+S}var ve=!1;function Jt(S,b){if(!S||ve)return"";ve=!0;var T=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error()},Object.defineProperty(b.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(b,[])}catch(wt){var q=wt}Reflect.construct(S,[],b)}else{try{b.call()}catch(wt){q=wt}S.call(b.prototype)}else{try{throw Error()}catch(wt){q=wt}S()}}catch(wt){if(wt&&q&&typeof wt.stack=="string"){for(var z=wt.stack.split(`
`),oe=q.stack.split(`
`),Se=z.length-1,qe=oe.length-1;1<=Se&&0<=qe&&z[Se]!==oe[qe];)qe--;for(;1<=Se&&0<=qe;Se--,qe--)if(z[Se]!==oe[qe]){if(Se!==1||qe!==1)do if(Se--,qe--,0>qe||z[Se]!==oe[qe])return`
`+z[Se].replace(" at new "," at ");while(1<=Se&&0<=qe);break}}}finally{ve=!1,Error.prepareStackTrace=T}return(S=S?S.displayName||S.name:"")?Vl(S):""}var Wl=[],as=-1;function To(S){return{current:S}}function Vt(S){0>as||(S.current=Wl[as],Wl[as]=null,as--)}function ei(S,b){as++,Wl[as]=S.current,S.current=b}var Ha={},As=To(Ha),cs=To(!1),Ic=Ha;function Un(S,b){var T=S.type.contextTypes;if(!T)return Ha;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===b)return q.__reactInternalMemoizedMaskedChildContext;var z={},oe;for(oe in T)z[oe]=b[oe];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=b,S.__reactInternalMemoizedMaskedChildContext=z),z}function Ei(S){return S=S.childContextTypes,S!=null}function $u(){Vt(cs),Vt(As)}function Ud(S,b,T){if(As.current!==Ha)throw Error(l(168));ei(As,b),ei(cs,T)}function wc(S,b,T){var q=S.stateNode;if(S=b.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var z in q)if(!(z in S))throw Error(l(108,d(b)||"Unknown",z));return s({},T,q)}function Cc(S){return S=(S=S.stateNode)&&S.__reactInternalMemoizedMergedChildContext||Ha,Ic=As.current,ei(As,S),ei(cs,cs.current),!0}function Bc(S,b,T){var q=S.stateNode;if(!q)throw Error(l(169));T?(S=wc(S,b,Ic),q.__reactInternalMemoizedMergedChildContext=S,Vt(cs),Vt(As),ei(As,S)):Vt(cs),ei(cs,T)}var it=null,vc=null,ah=n.unstable_now;ah();var Yl=0,Yn=8;function ja(S){if(1&S)return Yn=15,1;if(2&S)return Yn=14,2;if(4&S)return Yn=13,4;var b=24&S;return b!==0?(Yn=12,b):S&32?(Yn=11,32):(b=192&S,b!==0?(Yn=10,b):S&256?(Yn=9,256):(b=3584&S,b!==0?(Yn=8,b):S&4096?(Yn=7,4096):(b=4186112&S,b!==0?(Yn=6,b):(b=62914560&S,b!==0?(Yn=5,b):S&67108864?(Yn=4,67108864):S&134217728?(Yn=3,134217728):(b=805306368&S,b!==0?(Yn=2,b):1073741824&S?(Yn=1,1073741824):(Yn=8,S))))))}function VA(S){switch(S){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function WA(S){switch(S){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(l(358,S))}}function Ga(S,b){var T=S.pendingLanes;if(T===0)return Yn=0;var q=0,z=0,oe=S.expiredLanes,Se=S.suspendedLanes,qe=S.pingedLanes;if(oe!==0)q=oe,z=Yn=15;else if(oe=T&134217727,oe!==0){var wt=oe&~Se;wt!==0?(q=ja(wt),z=Yn):(qe&=oe,qe!==0&&(q=ja(qe),z=Yn))}else oe=T&~Se,oe!==0?(q=ja(oe),z=Yn):qe!==0&&(q=ja(qe),z=Yn);if(q===0)return 0;if(q=31-ks(q),q=T&((0>q?0:1<<q)<<1)-1,b!==0&&b!==q&&!(b&Se)){if(ja(b),z<=Yn)return b;Yn=z}if(b=S.entangledLanes,b!==0)for(S=S.entanglements,b&=q;0<b;)T=31-ks(b),z=1<<T,q|=S[T],b&=~z;return q}function ll(S){return S=S.pendingLanes&-1073741825,S!==0?S:S&1073741824?1073741824:0}function rr(S,b){switch(S){case 15:return 1;case 14:return 2;case 12:return S=ti(24&~b),S===0?rr(10,b):S;case 10:return S=ti(192&~b),S===0?rr(8,b):S;case 8:return S=ti(3584&~b),S===0&&(S=ti(4186112&~b),S===0&&(S=512)),S;case 2:return b=ti(805306368&~b),b===0&&(b=268435456),b}throw Error(l(358,S))}function ti(S){return S&-S}function qa(S){for(var b=[],T=0;31>T;T++)b.push(S);return b}function Sc(S,b,T){S.pendingLanes|=b;var q=b-1;S.suspendedLanes&=q,S.pingedLanes&=q,S=S.eventTimes,b=31-ks(b),S[b]=T}var ks=Math.clz32?Math.clz32:zl,Kl=Math.log,ef=Math.LN2;function zl(S){return S===0?32:31-(Kl(S)/ef|0)|0}var bc=n.unstable_runWithPriority,ls=n.unstable_scheduleCallback,Ys=n.unstable_cancelCallback,ul=n.unstable_shouldYield,ch=n.unstable_requestPaint,Jl=n.unstable_now,zi=n.unstable_getCurrentPriorityLevel,ri=n.unstable_ImmediatePriority,Zl=n.unstable_UserBlockingPriority,et=n.unstable_NormalPriority,dt=n.unstable_LowPriority,_t=n.unstable_IdlePriority,Sr={},ne=ch!==void 0?ch:function(){},Be=null,_e=null,bt=!1,xt=Jl(),jt=1e4>xt?Jl:function(){return Jl()-xt};function Ir(){switch(zi()){case ri:return 99;case Zl:return 98;case et:return 97;case dt:return 96;case _t:return 95;default:throw Error(l(332))}}function Nn(S){switch(S){case 99:return ri;case 98:return Zl;case 97:return et;case 96:return dt;case 95:return _t;default:throw Error(l(332))}}function Qi(S,b){return S=Nn(S),bc(S,b)}function ps(S,b,T){return S=Nn(S),ls(S,b,T)}function ni(){if(_e!==null){var S=_e;_e=null,Ys(S)}Dc()}function Dc(){if(!bt&&Be!==null){bt=!0;var S=0;try{var b=Be;Qi(99,function(){for(;S<b.length;S++){var T=b[S];do T=T(!0);while(T!==null)}}),Be=null}catch(T){throw Be!==null&&(Be=Be.slice(S+1)),ls(ri,ni),T}finally{bt=!1}}}var mI=f.ReactCurrentBatchConfig;function Iv(S,b){return S===b&&(S!==0||1/S===1/b)||S!==S&&b!==b}var Xo=typeof Object.is=="function"?Object.is:Iv,yI=Object.prototype.hasOwnProperty;function Hd(S,b){if(Xo(S,b))return!0;if(typeof S!="object"||S===null||typeof b!="object"||b===null)return!1;var T=Object.keys(S),q=Object.keys(b);if(T.length!==q.length)return!1;for(q=0;q<T.length;q++)if(!yI.call(b,T[q])||!Xo(S[T[q]],b[T[q]]))return!1;return!0}function wv(S){switch(S.tag){case 5:return Vl(S.type);case 16:return Vl("Lazy" Line truncated
Error generating stack: `+oe.message+`
`+oe.stack}return{value:S,source:b,stack:z}}function xm(S,b){try{console.error(b.value)}catch(T){setTimeout(function(){throw T})}}var H8=typeof WeakMap=="function"?WeakMap:Map;function bv(S,b,T){T=hl(-1,T),T.tag=3,T.payload={element:null};var q=b.value;return T.callback=function(){UI||(UI=!0,Uv=q),xm(S,b)},T}function km(S,b,T){T=hl(-1,T),T.tag=3;var q=S.type.getDerivedStateFromError;if(typeof q=="function"){var z=b.value;T.payload=function(){return xm(S,b),q(z)}}var oe=S.stateNode;return oe!==null&&typeof oe.componentDidCatch=="function"&&(T.callback=function(){typeof q!="function"&&($l===null?$l=new Set([this]):$l.add(this),xm(S,b));var Se=b.stack;this.componentDidCatch(b.value,{componentStack:Se!==null?Se:""})}),T}var j8=typeof WeakSet=="function"?WeakSet:Set;function Dv(S){var b=S.ref;if(b!==null)if(typeof b=="function")try{b(null)}catch(T){Ch(S,T)}else b.current=null}function xI(S,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&S!==null){var T=S.memoizedProps,q=S.memoizedState;S=b.stateNode,b=S.getSnapshotBeforeUpdate(b.elementType===b.type?T:$o(b.type,T),q),S.__reactInternalSnapshotBeforeUpdate=b}return;case 3:F&&b.flags&256&&Er(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(l(163))}function e0(S,b){if(b=b.updateQueue,b=b!==null?b.lastEffect:null,b!==null){var T=b=b.next;do{if((T.tag&S)===S){var q=T.destroy;T.destroy=void 0,q!==void 0&&q()}T=T.next}while(T!==b)}}function DR(S,b,T){switch(T.tag){case 0:case 11:case 15:case 22:if(b=T.updateQueue,b=b!==null?b.lastEffect:null,b!==null){S=b=b.next;do{if((S.tag&3)===3){var q=S.create;S.destroy=q()}S=S.next}while(S!==b)}if(b=T.updateQueue,b=b!==null?b.lastEffect:null,b!==null){S=b=b.next;do{var z=S;q=z.next,z=z.tag,z&4&&z&1&&(HR(T,S),Z8(T,S)),S=q}while(S!==b)}return;case 1:S=T.stateNode,T.flags&4&&(b===null?S.componentDidMount():(q=T.elementType===T.type?b.memoizedProps:$o(T.type,b.memoizedProps),S.componentDidUpdate(q,b.memoizedState,S.__reactInternalSnapshotBeforeUpdate))),b=T.updateQueue,b!==null&&wI(T,b,S);return;case 3:if(b=T.updateQueue,b!==null){if(S=null,T.child!==null)switch(T.child.tag){case 5:S=Te(T.child.stateNode);break;case 1:S=T.child.stateNode}wI(T,b,S)}return;case 5:S=T.stateNode,b===null&&T.flags&4&&Ft(S,T.type,T.memoizedProps,T);return;case 6:return;case 4:return;case 12:return;case 13:X&&T.memoizedState===null&&(T=T.alternate,T!==null&&(T=T.memoizedState,T!==null&&(T=T.dehydrated,T!==null&&Zu(T))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(l(163))}function PR(S,b){if(F)for(var T=S;;){if(T.tag===5){var q=T.stateNode;b?Nt(q):Xt(T.stateNode,T.memoizedProps)}else if(T.tag===6)q=T.stateNode,b?hr(q):$t(q,T.memoizedProps);else if((T.tag!==23&&T.tag!==24||T.memoizedState===null||T===S)&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===S)break;for(;T.sibling===null;){if(T.return===null||T.return===S)return;T=T.return}T.sibling.return=T.return,T=T.sibling}}function kI(S,b){if(vc&&typeof vc.onCommitFiberUnmount=="function")try{vc.onCommitFiberUnmount(it,b)}catch{}switch(b.tag){case 0:case 11:case 14:case 15:case 22:if(S=b.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var T=S=S.next;do{var q=T,z=q.destroy;if(q=q.tag,z!==void 0)if(q&4)HR(b,T);else{q=b;try{z()}catch(oe){Ch(q,oe)}}T=T.next}while(T!==S)}break;case 1:if(Dv(b),S=b.stateNode,typeof S.componentWillUnmount=="function")try{S.props=b.memoizedProps,S.state=b.memoizedState,S.componentWillUnmount()}catch(oe){Ch(b,oe)}break;case 5:Dv(b);break;case 4:F?TR(S,b):Z&&Z&&(b=b.stateNode.containerInfo,S=Tn(b),La(b,S))}}function xR(S,b){for(var T=b;;)if(kI(S,T),T.child===null||F&&T.tag===4){if(T===b)break;for(;T.sibling===null;){if(T.return===null||T.return===b)return;T=T.return}T.sibling.return=T.return,T=T.sibling}else T.child.return=T,T=T.child}function RI(S){S.alternate=null,S.child=null,S.dependencies=null,S.firstEffect=null,S.lastEffect=null,S.memoizedProps=null,S.memoizedState=null,S.pendingProps=null,S.return=null,S.updateQueue=null}function kR(S){return S.tag===5||S.tag===3||S.tag===4}function RR(S){if(F){e:{for(var b=S.return;b!==null;){if(kR(b))break e;b=b.return}throw Error(l(160))}var T=b;switch(b=T.stateNode,T.tag){case 5:var q=!1;break;case 3:b=b.containerInfo,q=!0;break;case 4:b=b.containerInfo,q=!0;break;default:throw Error(l(161))}T.flags&16&&(Lt(b),T.flags&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||kR(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.flags&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.flags&2)){T=T.stateNode;break e}}q?Pv(S,T,b):xv(S,T,b)}}function Pv(S,b,T){var q=S.tag,z=q===5||q===6;if(z)S=z?S.stateNode:S.stateNode.instance,b?Tt(T,S,b):Bt(T,S);else if(q!==4&&(S=S.child,S!==null))for(Pv(S,b,T),S=S.sibling;S!==null;)Pv(S,b,T),S=S.sibling}function xv(S,b,T){var q=S.tag,z=q===5||q===6;if(z)S=z?S.stateNode:S.stateNode.instance,b?Ze(T,S,b):lt(T,S);els Line truncated
Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`)}zs!==5&&(zs=2),wt=Pm(wt,qe),gr=Se;do{switch(gr.tag){case 3:oe=wt,gr.flags|=4096,b&=-b,gr.lanes|=b;var Bi=bv(gr,oe,b);II(gr,Bi);break e;case 1:oe=wt;var Zr=gr.type,ii=gr.stateNode;if(!(gr.flags&64)&&(typeof Zr.getDerivedStateFromError=="function"||ii!==null&&typeof ii.componentDidCatch=="function"&&($l===null||!$l.has(ii)))){gr.flags|=4096,b&=-b,gr.lanes|=b;var li=km(gr,oe,b);II(gr,li);break e}}gr=gr.return}while(gr!==null)}UR(T)}catch(yn){b=yn,Cs===T&&T!==null&&(Cs=T=T.return);continue}break}while(!0)}function _R(){var S=_I.current;return _I.current=qt,S===null?qt:S}function Um(S,b){var T=Kr;Kr|=16;var q=_R();Fo===S&&oo===b||i0(S,b);do try{Y8();break}catch(z){LR(S,z)}while(!0);if(gm(),Kr=T,_I.current=q,Cs!==null)throw Error(l(261));return Fo=null,oo=0,zs}function Y8(){for(;Cs!==null;)MR(Cs)}function K8(){for(;Cs!==null&&!ul();)MR(Cs)}function MR(S){var b=qR(S.alternate,S,op);S.memoizedProps=S.pendingProps,b===null?UR(S):Cs=b,Qv.current=null}function UR(S){var b=S;do{var T=b.alternate;if(S=b.return,b.flags&2048){if(T=U8(b),T!==null){T.flags&=2047,Cs=T;return}S!==null&&(S.firstEffect=S.lastEffect=null,S.flags|=2048)}else{if(T=M8(T,b,op),T!==null){Cs=T;return}if(T=b,T.tag!==24&&T.tag!==23||T.memoizedState===null||op&1073741824||!(T.mode&4)){for(var q=0,z=T.child;z!==null;)q|=z.lanes|z.childLanes,z=z.sibling;T.childLanes=q}S!==null&&!(S.flags&2048)&&(S.firstEffect===null&&(S.firstEffect=b.firstEffect),b.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=b.firstEffect),S.lastEffect=b.lastEffect),1<b.flags&&(S.lastEffect!==null?S.lastEffect.nextEffect=b:S.firstEffect=b,S.lastEffect=b))}if(b=b.sibling,b!==null){Cs=b;return}Cs=b=S}while(b!==null);zs===0&&(zs=5)}function ap(S){var b=Ir();return Qi(99,z8.bind(null,S,b)),null}function z8(S,b){do hf();while(Nm!==null);if(Kr&48)throw Error(l(327));var T=S.finishedWork;if(T===null)return null;if(S.finishedWork=null,S.finishedLanes=0,T===S.current)throw Error(l(177));S.callbackNode=null;var q=T.lanes|T.childLanes,z=q,oe=S.pendingLanes&~z;S.pendingLanes=z,S.suspendedLanes=0,S.pingedLanes=0,S.expiredLanes&=z,S.mutableReadLanes&=z,S.entangledLanes&=z,z=S.entanglements;for(var Se=S.eventTimes,qe=S.expirationTimes;0<oe;){var wt=31-ks(oe),cr=1<<wt;z[wt]=0,Se[wt]=-1,qe[wt]=-1,oe&=~cr}if(uf!==null&&!(q&24)&&uf.has(S)&&uf.delete(S),S===Fo&&(Cs=Fo=null,oo=0),1<T.flags?T.lastEffect!==null?(T.lastEffect.nextEffect=T,q=T.firstEffect):q=T:q=T.firstEffect,q!==null){z=Kr,Kr|=32,Qv.current=null,_m=rt(S.containerInfo),Mm=!1,Br=q;do try{J8()}catch(Ke){if(Br===null)throw Error(l(330));Ch(Br,Ke),Br=Br.nextEffect}while(Br!==null);_m=null,Br=q;do try{for(Se=S;Br!==null;){var qr=Br.flags;if(qr&16&&F&&Lt(Br.stateNode),qr&128){var rn=Br.alternate;if(rn!==null){var gr=rn.ref;gr!==null&&(typeof gr=="function"?gr(null):gr.current=null)}}switch(qr&1038){case 2:RR(Br),Br.flags&=-3;break;case 6:RR(Br),Br.flags&=-3,kv(Br.alternate,Br);break;case 1024:Br.flags&=-1025;break;case 1028:Br.flags&=-1025,kv(Br.alternate,Br);break;case 4:kv(Br.alternate,Br);break;case 8:qe=Se,oe=Br,F?TR(qe,oe):xR(qe,oe);var Ii=oe.alternate;RI(oe),Ii!==null&&RI(Ii)}Br=Br.nextEffect}}catch(Ke){if(Br===null)throw Error(l(330));Ch(Br,Ke),Br=Br.nextEffect}while(Br!==null);Mm&&pt(),Ne(S.containerInfo),S.current=T,Br=q;do try{for(qr=S;Br!==null;){var ji=Br.flags;if(ji&36&&DR(qr,Br.alternate,Br),ji&128){rn=void 0;var Fc=Br.ref;if(Fc!==null){var at=Br.stateNode;switch(Br.tag){case 5:rn=Te(at);break;default:rn=at}typeof Fc=="function"?Fc(rn):Fc.current=rn}}Br=Br.nextEffect}}catch(Ke){if(Br===null)throw Error(l(330));Ch(Br,Ke),Br=Br.nextEffect}while(Br!==null);Br=null,ne(),Kr=z}else S.current=T;if(wh)wh=!1,Nm=S,Om=b;else for(Br=q;Br!==null;)b=Br.nextEffect,Br.nextEffect=null,Br.flags&8&&(ji=Br,ji.sibling=null,ji.stateNode=null),Br=b;if(q=S.pendingLanes,q===0&&($l=null),q===1?S===Gv?Lm++:(Lm=0,Gv=S):Lm=0,T=T.stateNode,vc&&typeof vc.onCommitFiberRoot=="function")try{vc.onCommitFiberRoot(it,T,void 0,(T.current.flags&64)===64)}catch{}if(Ka(S,jt()),UI)throw UI=!1,S=Uv,Uv=null,S;return Kr&8||ni(),null}function J8(){for(;Br!==null;){var S=Br.alternate;Mm||_m===null||(Br.flags&8?De(Br,_m)&&(Mm=!0,Le()):Br.tag===13&&G8(S,Br)&&De(Br,_m)&&(Mm=!0,Le()));var b=Br.flags;b&256&&xI(S,Br),!(b&512)||wh||(wh=!0,ps(97,function(){return hf(),null})),Br=Br.nextEffect}}function hf(){if(Om!==90){var S=97<Om?97:Om;return Om=90,Qi(S,X8)}return!1}function Z8(S,b){Hv.push(b,S),wh||(wh=!0,ps(97,function(){return hf(),null}))}function HR(S,b){jv.push(b,S),wh||(wh=!0,ps(97,function(){return hf(),null}))}function X8(){if(Nm===null)return!1;var S=Nm;if(Nm=null,Kr&48)throw Error(l(331));var b=Kr;Kr|=32;var T=jv;jv=[];for(var q=0;q<T.length;q+=2){var z=T[q],oe=T[q+1],Se=z.destroy;if(z.destroy=void 0,typeof Se=="function")try{Se()}catch(wt){if(oe===null)throw Error(l(330));Ch(oe,wt)}}for(T=Hv,Hv=[],q=0;q<T.length;q+=2){z=T[q],oe=T[q+1];try{va Line truncated
`+(q.join(" > ")+`
No matching component was found for:
`)+S.join(" > ")}return null},r.getPublicRootInstance=function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return Te(S.child.stateNode);default:return S.child.stateNode}},r.injectIntoDevTools=function(S){if(S={bundleType:S.bundleType,version:S.version,rendererPackageName:S.rendererPackageName,rendererConfig:S.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:f.ReactCurrentDispatcher,findHostInstanceByFiber:n3,findFiberByHostInstance:S.findFiberByHostInstance||i3,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")S=!1;else{var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!b.isDisabled&&b.supportsFiber)try{it=b.inject(S),vc=b}catch{}S=!0}return S},r.observeVisibleRects=function(S,b,T,q){if(!er)throw Error(l(363));S=Tv(S,b);var z=Ue(S,T,q).disconnect;return{disconnect:function(){z()}}},r.registerMutableSourceForHydration=function(S,b){var T=b._getVersion;T=T(b._source),S.mutableSourceEagerHydrationData==null?S.mutableSourceEagerHydrationData=[b,T]:S.mutableSourceEagerHydrationData.push(b,T)},r.runWithPriority=function(S,b){var T=Yl;try{return Yl=S,b()}finally{Yl=T}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(S,b){var T=Kr;Kr&=-2,Kr|=8;try{return S(b)}finally{Kr=T,Kr===0&&(Ih(),ni())}},r.updateContainer=function(S,b,T,q){var z=b.current,oe=ia(),Se=Js(z);e:if(T){T=T._reactInternals;t:{if(be(T)!==T||T.tag!==1)throw Error(l(170));var qe=T;do{switch(qe.tag){case 3:qe=qe.stateNode.context;break t;case 1:if(Ei(qe.type)){qe=qe.stateNode.__reactInternalMemoizedMergedChildContext;break t}}qe=qe.return}while(qe!==null);throw Error(l(171))}if(T.tag===1){var wt=T.type;if(Ei(wt)){T=wc(T,wt,qe);break e}}T=qe}else T=Ha;return b.context===null?b.context=T:b.pendingContext=T,b=hl(oe,Se),b.payload={element:S},q=q===void 0?null:q,q!==null&&(b.callback=q),Al(z,b),yl(z,Se,oe),Se},r}});var Cbe=H((apr,wbe)=>{"use strict";wbe.exports=Ibe()});var vbe=H((cpr,Bbe)=>{"use strict";var qwt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};Bbe.exports=qwt});var Pbe=H((lpr,Dbe)=>{"use strict";var Vwt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},SL=function(){function t(e,r){for(var s=0;s<r.length;s++){var a=r[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,s){return r&&t(e.prototype,r),s&&t(e,s),e}}();function OK(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function LK(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var Wf=vbe(),Wwt=function(){function t(e,r,s,a,n,l){LK(this,t),this.left=e,this.right=r,this.top=s,this.bottom=a,this.width=n,this.height=l}return SL(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),Sbe=function(){SL(t,null,[{key:"fromJS",value:function(r){var s=r.width,a=r.height;return new t(s,a)}}]);function t(e,r){LK(this,t),this.width=e,this.height=r}return SL(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toStri Line truncated
`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var s=r>0?r:lengthBytesUTF8(t)+1,a=new Array(s),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var s=t[r];s>255&&(s&=255),e.push(String.fromCharCode(s))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var s,a;r&&(a=e+lengthBytesUTF8(t),s=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=s)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var s=0;s<t.length;++s)HEAP8[e++>>0]=t.charCodeAt(s);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var s=e>>>16,a=e&65535,n=r>>>16,l=r&65535;return a*l+(s*l+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.cei Line truncated
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(s){r=s(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var uE=H((fpr,kbe)=>{"use strict";var Ywt=Pbe(),Kwt=xbe(),_K=!1,MK=null;Kwt({},function(t,e){if(!_K){if(_K=!0,t)throw t;MK=e}});if(!_K)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");kbe.exports=Ywt(MK.bind,MK.lib)});var HK=H((hpr,UK)=>{"use strict";var Rbe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);UK.exports=Rbe;UK.exports.default=Rbe});var Qbe=H((Apr,Tbe)=>{"use strict";Tbe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E Line truncated
`))e=Math.max(e,Xwt(r));return e};GK.exports=Nbe;GK.exports.default=Nbe});var Obe=H(hP=>{"use strict";var $wt=hP&&hP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hP,"__esModule",{value:!0});var eCt=$wt(qK()),VK={};hP.default=t=>{if(t.length===0)return{width:0,height:0};if(VK[t])return VK[t];let e=eCt.default(t),r=t.split(`
`).length;return VK[t]={width:e,height:r},{width:e,height:r}}});var Lbe=H(AP=>{"use strict";var tCt=AP&&AP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AP,"__esModule",{value:!0});var Xn=tCt(uE()),rCt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?Xn.default.POSITION_TYPE_ABSOLUTE:Xn.default.POSITION_TYPE_RELATIVE)},nCt=(t,e)=>{"marginLeft"in e&&t.setMargin(Xn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(Xn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(Xn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(Xn.default.EDGE_BOTTOM,e.marginBottom||0)},iCt=(t,e)=>{"paddingLeft"in e&&t.setPadding(Xn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(Xn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(Xn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(Xn.default.EDGE_BOTTOM,e.paddingBottom||0)},sCt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(Xn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(Xn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(Xn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(Xn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(Xn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(Xn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(Xn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(Xn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(Xn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(Xn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(Xn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(Xn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(Xn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(Xn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(Xn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(Xn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(Xn.default.JUSTIFY_SPACE_AROUND))},oCt=(t,e)=>{var r,s;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((s=e.minHeight)!==null&&s!==void 0?s:0))},aCt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?Xn.default.DISPLAY_FLEX:Xn.default.DISPLAY_NONE)},cCt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(Xn.default.EDGE_TOP,r),t.setBorder(Xn.default.EDGE_BOTTOM,r),t.setBorder(Xn.default.EDGE_LEFT,r),t.setBorder(Xn.default.EDGE_RIGHT,r)}};AP.default=(t,e={})=>{rCt(t,e),nCt(t,e),iCt(t,e),sCt(t,e),oCt(t,e),aCt(t,e),cCt(t,e)}});var Ube=H((ypr,Mbe)=>{"use strict";var pP=fP(),lCt=CQ(),uCt=fQ(),YK=new Set(["\x1B","\x9B"]),fCt=39,_be=t=>`${YK.values().next().value}[${t}m`,hCt=t=>t.split(" ").map(e=>pP(e)),WK=(t,e,r)=>{let s=[...e],a=!1,n=pP(lCt(t[t.length-1]));for(let[l,f]of s.entries()){let h=pP(f);if(n+h<=r?t[t.length-1]+=f:(t.push(f),n=0),YK.has(f))a=!0;else if(a&&f==="m"){a=!1;continue}a||(n+=h,n===r&&l<s.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},ACt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(pP(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},pCt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let s="",a="",n,l=hCt(t),f=[""];for(let[h,A]of t.split(" ").entries()){r.trim!==!1&&(f[f.length-1]=f[f.length-1].trimLeft());let m=pP(f[f.length-1]);if(h!==0&&(m>=e&&(r.wordWrap===!1||r.trim===!1)&&(f.push(""),m=0),(m>0||r.trim===!1)&&(f[f.length-1]+=" ",m++)),r.hard&&l[h]>e){let w=e-m,v=1+Math.floor((l[h]-w-1)/e);Math.floor((l[h]-1)/e)<v&&f.push(""),WK(f,A,e);continue}if(m+l[h]>e&&m>0&&l[h]>0){if(r.wordWrap===!1&&m<e){WK(f,A,e);continue}f.push("")}if(m+l[h]>e&&r.wordWrap===!1){WK(f,A,e);continue}f[f. Line truncated
`);for(let[h,A]of[...s].entries()){if(a+=A,YK.has(A)){let w=parseFloat(/\d[^m]*/.exec(s.slice(h,h+4)));n=w===fCt?null:w}let m=uCt.codes.get(Number(n));n&&m&&(s[h+1]===`
`?a+=_be(m):A===`
`&&(a+=_be(n)))}return a};Mbe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,`
`).split(`
`).map(s=>pCt(s,e,r)).join(`
`)});var Gbe=H((Epr,jbe)=>{"use strict";var Hbe="[\uD800-\uDBFF][\uDC00-\uDFFF]",dCt=t=>t&&t.exact?new RegExp(`^${Hbe}$`):new RegExp(Hbe,"g");jbe.exports=dCt});var KK=H((Ipr,Ybe)=>{"use strict";var gCt=HK(),mCt=Gbe(),qbe=fQ(),Wbe=["\x1B","\x9B"],bL=t=>`${Wbe[0]}[${t}m`,Vbe=(t,e,r)=>{let s=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let l=qbe.codes.get(parseInt(a,10));if(l){let f=t.indexOf(l.toString());f>=0?t.splice(f,1):s.push(bL(e?l:n))}else if(e){s.push(bL(0));break}else s.push(bL(n))}if(e&&(s=s.filter((a,n)=>s.indexOf(a)===n),r!==void 0)){let a=bL(qbe.codes.get(parseInt(r,10)));s=s.reduce((n,l)=>l===a?[l,...n]:[...n,l],[])}return s.join("")};Ybe.exports=(t,e,r)=>{let s=[...t.normalize()],a=[];r=typeof r=="number"?r:s.length;let n=!1,l,f=0,h="";for(let[A,m]of s.entries()){let w=!1;if(Wbe.includes(m)){let v=/\d[^m]*/.exec(t.slice(A,A+18));l=v&&v.length>0?v[0]:void 0,f<r&&(n=!0,l!==void 0&&a.push(l))}else n&&m==="m"&&(n=!1,w=!0);if(!n&&!w&&++f,!mCt({exact:!0}).test(m)&&gCt(m.codePointAt())&&++f,f>e&&f<=r)h+=m;else if(f===e&&!n&&l!==void 0)h=Vbe(a);else if(f>=r){h+=Vbe(a,!0,l);break}}return h}});var zbe=H((wpr,Kbe)=>{"use strict";var wg=KK(),yCt=fP();function DL(t,e,r){if(t.charAt(e)===" ")return e;for(let s=1;s<=3;s++)if(r){if(t.charAt(e+s)===" ")return e+s}else if(t.charAt(e-s)===" ")return e-s;return e}Kbe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:s,space:a,preferTruncationOnSpace:n}=r,l="\u2026",f=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return l;let h=yCt(t);if(h<=e)return t;if(s==="start"){if(n){let A=DL(t,h-e+1,!0);return l+wg(t,A,h).trim()}return a===!0&&(l+=" ",f=2),l+wg(t,h-e+f,h)}if(s==="middle"){a===!0&&(l=" "+l+" ",f=3);let A=Math.floor(e/2);if(n){let m=DL(t,A),w=DL(t,h-(e-A)+1,!0);return wg(t,0,m)+l+wg(t,w,h).trim()}return wg(t,0,A)+l+wg(t,h-(e-A)+f,h)}if(s==="end"){if(n){let A=DL(t,e-1);return wg(t,0,A)+l}return a===!0&&(l=" "+l,f=2),wg(t,0,e-f)+l}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${s}`)}});var JK=H(dP=>{"use strict";var Jbe=dP&&dP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dP,"__esModule",{value:!0});var ECt=Jbe(Ube()),ICt=Jbe(zbe()),zK={};dP.default=(t,e,r)=>{let s=t+String(e)+String(r);if(zK[s])return zK[s];let a=t;if(r==="wrap"&&(a=ECt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=ICt.default(t,e,{position:n})}return zK[s]=a,a}});var XK=H(ZK=>{"use strict";Object.defineProperty(ZK,"__esModule",{value:!0});var Zbe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let s="";r.nodeName==="#text"?s=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(s=Zbe(r)),s.length>0&&typeof r.internal_transform=="function"&&(s=r.internal_transform(s))),e+=s}return e};ZK.default=Zbe});var $K=H($i=>{"use strict";var gP=$i&&$i.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($i,"__esModule",{value:!0});$i.setTextNodeValue=$i.createTextNode=$i.setStyle=$i.setAttribute=$i.removeChildNode=$i.insertBeforeNode=$i.appendChildNode=$i.createNode=$i.TEXT_NAME=void 0;var wCt=gP(uE()),Xbe=gP(Obe()),CCt=gP(Lbe()),BCt=gP(JK()),vCt=gP(XK());$i.TEXT_NAME="#text";$i.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:wCt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(SCt.bind(null,r))),r};$i.appendChildNode=(t,e)=>{var r;e.parentNode&&$i.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PL(t)};$i.insertBeforeNode=(t,e,r)=>{var s,a;e.parentNode&&$i.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((s=t.yogaNode)===null||s===void 0||s.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PL(t)};$i.removeChildNode=(t,e)=>{var r,s;e.yogaNode&&((s=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||s===void 0||s.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&PL(t)};$i.setAttribute=(t,e,r)=>{t.attributes[e]=r};$i.setStyle=(t,e)=>{t.style=e,t.yogaNode&&CCt.default(t.yogaNode,e)};$i.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaLine truncated
`).repeat(n-2),m=rz.default(f.bottomLeft+f.horizontal.repeat(a-2)+f.bottomRight,l,"foreground");s.write(t,e,h,{transformers:[]}),s.write(t,e+1,A,{transformers:[]}),s.write(t+a-1,e+1,A,{transformers:[]}),s.write(t,e+n-1,m,{transformers:[]})}}});var pDe=H(CP=>{"use strict";var fE=CP&&CP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CP,"__esModule",{value:!0});var QCt=fE(uE()),FCt=fE(qK()),NCt=fE(oDe()),OCt=fE(JK()),LCt=fE(aDe()),_Ct=fE(XK()),MCt=fE(hDe()),UCt=(t,e)=>{var r;let s=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(s){let a=s.getComputedLeft(),n=s.getComputedTop();e=`
`.repeat(n)+NCt.default(e,a)}return e},ADe=(t,e,r)=>{var s;let{offsetX:a=0,offsetY:n=0,transformers:l=[],skipStaticElements:f}=r;if(f&&t.internal_static)return;let{yogaNode:h}=t;if(h){if(h.getDisplay()===QCt.default.DISPLAY_NONE)return;let A=a+h.getComputedLeft(),m=n+h.getComputedTop(),w=l;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...l]),t.nodeName==="ink-text"){let v=_Ct.default(t);if(v.length>0){let D=FCt.default(v),I=LCt.default(h);if(D>I){let R=(s=t.style.textWrap)!==null&&s!==void 0?s:"wrap";v=OCt.default(v,I,R)}v=UCt(t,v),e.write(A,m,v,{transformers:w})}return}if(t.nodeName==="ink-box"&&MCt.default(A,m,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)ADe(v,e,{offsetX:A,offsetY:m,transformers:w,skipStaticElements:f})}};CP.default=ADe});var mDe=H(BP=>{"use strict";var gDe=BP&&BP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BP,"__esModule",{value:!0});var dDe=gDe(KK()),HCt=gDe(fP()),nz=class{constructor(e){this.writes=[];let{width:r,height:s}=e;this.width=r,this.height=s}write(e,r,s,a){let{transformers:n}=a;s&&this.writes.push({x:e,y:r,text:s,transformers:n})}get(){let e=[];for(let s=0;s<this.height;s++)e.push(" ".repeat(this.width));for(let s of this.writes){let{x:a,y:n,text:l,transformers:f}=s,h=l.split(`
`),A=0;for(let m of h){let w=e[n+A];if(!w)continue;let v=HCt.default(m);for(let D of f)m=D(m);e[n+A]=dDe.default(w,0,a)+m+dDe.default(w,a+v),A++}}return{output:e.map(s=>s.trimRight()).join(`
`),height:e.length}}};BP.default=nz});var IDe=H(vP=>{"use strict";var iz=vP&&vP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vP,"__esModule",{value:!0});var jCt=iz(uE()),yDe=iz(pDe()),EDe=iz(mDe());vP.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,jCt.default.DIRECTION_LTR);let s=new EDe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});yDe.default(t,s,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new EDe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),yDe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:l}=s.get();return{output:n,outputHeight:l,staticOutput:a?`${a.get().output}
`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var vDe=H((Npr,BDe)=>{"use strict";var wDe=Ae("stream"),CDe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],sz={},GCt=t=>{let e=new wDe.PassThrough,r=new wDe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let s=new console.Console(e,r);for(let a of CDe)sz[a]=console[a],console[a]=s[a];return()=>{for(let a of CDe)console[a]=sz[a];sz={}}};BDe.exports=GCt});var az=H(oz=>{"use strict";Object.defineProperty(oz,"__esModule",{value:!0});oz.default=new WeakMap});var lz=H(cz=>{"use strict";Object.defineProperty(cz,"__esModule",{value:!0});var qCt=Ln(),SDe=qCt.createContext({exit:()=>{}});SDe.displayName="InternalAppContext";cz.default=SDe});var fz=H(uz=>{"use strict";Object.defineProperty(uz,"__esModule",{value:!0});var VCt=Ln(),bDe=VCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});bDe.displayName="InternalStdinContext";uz.default=bDe});var Az=H(hz=>{"use strict";Object.defineProperty(hz,"__esModule",{value:!0});var WCt=Ln(),DDe=WCt.createContext({stdout:void 0,write:()=>{}});DDe.displayName="InternalStdoutContext";hz.default=DDe});var dz=H(pz=>{"use strict";Object.defineProperty(pz,"__esModule",{value:!0});var YCt=Ln(),PDe=YCt.createContext({stderr:void 0,write:()=>{}});PDe.displayName="InternalStderrContext";pz.default=PDe});var RL=H(gz=>{"use strict";Object.defineProperty(gz,"__esModule",{value:!0});var KCt=Ln(),xDe=KCt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{},focus:()=>{}});xDe.displayName="InternalFocusContext";gz.default=xDe});var RDe=H((jpr,kDe)=>{"use strict";var zCt=/[|\\{}()[\]^$+*?.-]/g;kDe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(zCt,"\\$&")}});var NDe=H((Gpr,FDe)=>{"use strict";var JCt=RDe(),ZCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",QDe=[].concat(Ae("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));QDe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var mz=class t{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=t.nodeInternals()),"cwd"in e||(e.cwd=ZCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,XCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...QDe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(`
`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let s=!1,a=null,n=[];return e.forEach(l=>{if(l=l.replace(/\\/g,"/"),this._internals.some(h=>h.test(l)))return;let f=/^\s*at /.test(l);s?l=l.trimEnd().replace(/^(\s+)at /,"$1"):(l=l.trim(),f&&(l=l.slice(3))),l=l.replace(`${this._cwd}/`,""),l&&(f?(a&&(n.push(a),a=null),n.push(l)):(s=!0,a=l))}),n.map(l=>`${r}${l}
`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:s}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=s,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:s,stackTraceLimit:a}=Error;Error.prepareStackTrace=(f,h)=>this._wrapCallSite?h.map(this._wrapCallSite):h,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:l}=n;return Object.assign(Error,{prepareStackTrace:s,stackTraceLimit:a}),l}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let s={line:r.getLineNumber(),column:r.getColumnNumber()};TDe(s,r.getFileName(),this._cwd),r.isConstructor()&&(s.constructor=!0),r.isEval()&&(s.evalOrigin=r.getEvalOrigin()),r.isNative()&&(s.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(s.type=a);let n=r.getFunctionName();n&&(s.function=n);let l=r.getMethodName();return l&&n!==l&&(s.method=l),s}parseLine(e){let r=e&&e.match($Ct);if(!r)return null;let s=r[1]==="new",a=r[2],n=r[3],l=r[4],f=Number(r[5]),h=Number(r[6]),A=r[7],m=r[8],w=r[9],v=r[10]==="native",D=r[11]===")",I,R={};if(m&&(R.line=Number(m)),w&&(R.column=Number(w)),D&&A){let N=0;for(let U=A.length-1;U>0;U--)if(A.charAt(U)===")")N++;else if(A.charAt(U)==="("&&A.charAt(U-1)===" "&&(N--,N===-1&&A.charAt(U-1)===" ")){let V=A.slice(0,U-1);A=A.slice(U+1),a+=` (${V}`;break}}if(a){let N=a.match(e1t);N&&(a=N[1],I=N[2])}return TDe(R,A,this._cwd),s&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=f,R.evalColumn=h,R.evalFile=l&&l.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),I&&a!==I&&(R.method=I),R}};function TDe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function XCt(t){if(t.length===0)return[];let e=t.map(r=>JCt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var $Ct=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),e1t=/^(.*?) \[as (.*?)\]$/;FDe.exports=mz});var LDe=H((qpr,ODe)=>{"use strict";ODe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var MDe=H((Vpr,_De)=>{"use strict";var t1t=LDe(),r1t=(t,e)=>{let r=[],s=t-e,a=t+e;for(let n=s;n<=a;n++)r.push(n);return r};_De.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=t1t(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},r1t(e,r.around).filter(s=>t[s-1]!==void 0).map(s=>({line:s,value:t[s-1]}))}});var TL=H(Yf=>{"use strict";var n1t=Yf&&Yf.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),i1t=Yf&&Yf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s1t=Yf&&Yf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&n1t(e,t,r);return i1t(e,t),e},o1t=Yf&&Yf.__rest||function(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(t);a<s.length;a++)e.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(t,s[a])&&(r[s[a]]=t[s[a]]);return r};Object.defineProperty(Yf,"__esModule",{value:!0});var UDe=s1t(Ln()),yz=UDe.forwardRef((t,e)=>{var{children:r}=t,s=o1t(t,["children"]);let a=Object.assign(Object.assign({},s),{marginLeft:s.marginLeft||s.marginX||s.margin||0,marginRight:s.marginRight||s.marginX||s.margin||0,marginTop:s.marginTop||s.marginY||s.margin||0,marginBottom:s.marginBottom||s.marginY||s.margin||0,paddingLeft:s.paddingLeft||s.paddingX||s.padding||0,paddingRight:s.paddingRight||s.paddingX||s.padding||0,paddingTop:s.paddingTop||s.paddingY||s.padding||0,paddingBottom:s.paddingBottom||s.paddingY||s.padding||0});return UDe.default.createElement("ink-box",{ref:e,style:a},r)});yz.displayName="Box";yz.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};Yf.default=yz});var wz=H(SP=>{"use strict";var Ez=SP&&SP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SP,"__esModule",{value:!0});var a1t=Ez(Ln()),Z1=Ez(Cw()),HDe=Ez(tz()),Iz=({color:t,backgroundColor:e,dimColor:r,bold:s,italic:a,underline:n,strikethrough:l,inverse:f,wrap:h,children:A})=>{if(A==null)return null;let m=w=>(r&&(w=Z1.default.dim(w)),t&&(w=HDe.default(w,t,"foreground")),e&&(w=HDe.default(w,e,"background")),s&&(w=Z1.default.bold(w)),a&&(w=Z1.default.italic(w)),n&&(w=Z1.default.underline(w)),l&&(w=Z1.default.strikethrough(w)),f&&(w=Z1.default.inverse(w)),w);return a1t.default.createElement("ink-text",{style:{flexGrow:0,flexSLine truncated
`).slice(1):void 0,r=e?qDe.parseLine(e[0]):void 0,s,a=0;if(r?.file&&r?.line&&jDe.existsSync(r.file)){let n=jDe.readFileSync(r.file,"utf8");if(s=f1t.default(n,r.line),s)for(let{line:l}of s)a=Math.max(a,String(l).length)}return no.default.createElement(rd.default,{flexDirection:"column",padding:1},no.default.createElement(rd.default,null,no.default.createElement(sA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),no.default.createElement(sA.default,null," ",t.message)),r&&no.default.createElement(rd.default,{marginTop:1},no.default.createElement(sA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&s&&no.default.createElement(rd.default,{marginTop:1,flexDirection:"column"},s.map(({line:n,value:l})=>no.default.createElement(rd.default,{key:n},no.default.createElement(rd.default,{width:a+1},no.default.createElement(sA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),no.default.createElement(sA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+l)))),t.stack&&no.default.createElement(rd.default,{marginTop:1,flexDirection:"column"},t.stack.split(`
`).slice(1).map(n=>{let l=qDe.parseLine(n);return l?no.default.createElement(rd.default,{key:n},no.default.createElement(sA.default,{dimColor:!0},"- "),no.default.createElement(sA.default,{dimColor:!0,bold:!0},l.function),no.default.createElement(sA.default,{dimColor:!0,color:"gray"}," ","(",l.file,":",l.line,":",l.column,")")):no.default.createElement(rd.default,{key:n},no.default.createElement(sA.default,{dimColor:!0},"- "),no.default.createElement(sA.default,{dimColor:!0,bold:!0},n))})))};Kf.default=h1t});var YDe=H(zf=>{"use strict";var A1t=zf&&zf.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),p1t=zf&&zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),d1t=zf&&zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&A1t(e,t,r);return p1t(e,t),e},AE=zf&&zf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zf,"__esModule",{value:!0});var hE=d1t(Ln()),WDe=AE(BK()),g1t=AE(lz()),m1t=AE(fz()),y1t=AE(Az()),E1t=AE(dz()),I1t=AE(RL()),w1t=AE(VDe()),C1t=" ",B1t="\x1B[Z",v1t="\x1B",QL=class extends hE.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===v1t&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===C1t&&this.focusNext(),e===B1t&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focus=e=>{this.setState(r=>r.focusables.some(a=>a?.id===e)?{activeFocusId:e}:r)},this.focusNext=()=>{this.setState(e=>{var r;let s=(r=e.focusables[0])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findNextFocusable(e)||s}})},this.focusPrevious=()=>{this.setState(e=>{var r;let s=(r=e.focusables[e.focusables.length-1])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findPreviousFocusable(e)||s}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(s=>{let a=s.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...s.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(s=>s.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(s=>s.id!==e?s:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(s=>s.id!==e?s:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{var r;let s=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=s+1;a<e.focusables.length;a++)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id},this.findPreviousFocusable=e=>{var r;let s=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=s-1;a>=0;a--)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return hE.default.createElement(g1t.default.Provider,{value:{exit:this.handleExit}},hE.default.createElement(m1t.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},hE.default.createElement(y1t.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},hE.default.createElement(E1t.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},hE.default.createElement(I1t.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious,focus:this.focus}},this.state.error?hE.default.createElement(w1t.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){WDe.default.hide(this.props.stdout)}componentWillUnmount(){WDe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};zf.default=QL;QL.displayName="InternalApp"});var JDe=H(Jf=>{"use strict";var S1t=Jf&&Jf.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),b1t=Jf&&Jf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),D1t=Jf&&Jf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&S1t(e,t,r);return b1t(e,t),e},Zf=Jf&&Jf.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jf,"__esModule",{value:!0});var P1t=Zf(Ln()),KDe=jSe(),x1t=Zf(ibe()),k1t=Zf(yK()),R1t=Zf(ube()),T1t=Zf(hbe()),Cz=Zf(iDe()),Q1t=Zf(IDe()),F1t=Zf(CK()),N1t=Zf(vDe()),O1t=D1t($K()),L1t=Zf(az()),_1t=Zf(YDe()),X1=process.env.CI==="false"?!1:R1t.default,zDe=()=>{},Bz=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:s,staticOutput:a}=Q1t.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==`
`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(X1){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),s>=this.options.stdout.rows){this.options.stdout.write(k1t.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},T1t.default(this),this.options=e,this.rootNode=O1t.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:KDe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=x1t.default.create(e.stdout),this.throttledLog=e.debug?this.log:KDe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=Cz.default.createContainer(this.rootNode,0,!1,null),this.unsubscribeExit=F1t.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),X1||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=P1t.default.createElement(_1t.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);Cz.default.updateContainer(r,this.container,null,zDe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(X1){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(X1){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),X1?this.options.stdout.write(this.lastOutput+`
`):this.options.debug||this.log.done(),this.isUnmounted=!0,Cz.default.updateContainer(null,this.container,null,zDe),L1t.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!X1&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=N1t.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};Jf.default=Bz});var XDe=H(DP=>{"use strict";var ZDe=DP&&DP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(DP,"__esModule",{value:!0});var M1t=ZDe(JDe()),FL=ZDe(az()),U1t=Ae("stream"),H1t=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},j1t(e)),s=G1t(r.stdout,()=>new M1t.default(r));return s.render(t),{rerender:s.render,unmount:()=>s.unmount(),waitUntilExit:s.waitUntilExit,cleanup:()=>FL.default.delete(r.stdout),clear:s.clear}};DP.default=H1t;var j1t=(t={})=>t instanceof U1t.Stream?{stdout:t,stdin:process.stdin}:t,G1t=(t,e)=>{let r;return FL.default.has(t)?r=FL.default.get(t):(r=e(),FL.default.set(t,r)),r}});var ePe=H(nd=>{"use strict";var q1t=nd&&nd.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),V1t=nd&&nd.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),W1t=nd&&nd.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&q1t(e,t,r);return V1t(e,t),e};Object.defineProperty(nd,"__esModule",{value:!0});var PP=W1t(Ln()),$De=t=>{let{items:e,children:r,style:s}=t,[a,n]=PP.useState(0),l=PP.useMemo(()=>e.slice(a),[e,a]);PP.useLayoutEffect(()=>{n(e.length)},[e.length]);let f=l.map((A,m)=>r(A,a+m)),h=PP.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},s),[s]);return PP.default.createElement("ink-box",{internal_static:!0,style:h},f)};$De.displayName="Static";nd.default=$De});var rPe=H(xP=>{"use strict";var Y1t=xP&&xP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xP,"__esModule",{value:!0});var K1t=Y1t(Ln()),tPe=({children:t,transform:e})=>t==null?null:K1t.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);tPe.displayName="Transform";xP.default=tPe});var iPe=H(kP=>{"use strict";var z1t=kP&&kP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kP,"__esModule",{value:!0});var J1t=z1t(Ln()),nPe=({count:t=1})=>J1t.default.createElement("ink-text",null,`
`.repeat(t));nPe.displayName="Newline";kP.default=nPe});var aPe=H(RP=>{"use strict";var sPe=RP&&RP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RP,"__esModule",{value:!0});var Z1t=sPe(Ln()),X1t=sPe(TL()),oPe=()=>Z1t.default.createElement(X1t.default,{flexGrow:1});oPe.displayName="Spacer";RP.default=oPe});var NL=H(TP=>{"use strict";var $1t=TP&&TP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TP,"__esModule",{value:!0});var e2t=Ln(),t2t=$1t(fz()),r2t=()=>e2t.useContext(t2t.default);TP.default=r2t});var lPe=H(QP=>{"use strict";var n2t=QP&&QP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QP,"__esModule",{value:!0});var cPe=Ln(),i2t=n2t(NL()),s2t=(t,e={})=>{let{stdin:r,setRawMode:s,internal_exitOnCtrlC:a}=i2t.default();cPe.useEffect(()=>{if(e.isActive!==!1)return s(!0),()=>{s(!1)}},[e.isActive,s]),cPe.useEffect(()=>{if(e.isActive===!1)return;let n=l=>{let f=String(l),h={upArrow:f==="\x1B[A",downArrow:f==="\x1B[B",leftArrow:f==="\x1B[D",rightArrow:f==="\x1B[C",pageDown:f==="\x1B[6~",pageUp:f==="\x1B[5~",return:f==="\r",escape:f==="\x1B",ctrl:!1,shift:!1,tab:f===" "||f==="\x1B[Z",backspace:f==="\b",delete:f==="\x7F"||f==="\x1B[3~",meta:!1};f<=""&&!h.return&&(f=String.fromCharCode(f.charCodeAt(0)+97-1),h.ctrl=!0),f.startsWith("\x1B")&&(f=f.slice(1),h.meta=!0);let A=f>="A"&&f<="Z",m=f>="\u0410"&&f<="\u042F";f.length===1&&(A||m)&&(h.shift=!0),h.tab&&f==="[Z"&&(h.shift=!0),(h.tab||h.backspace||h.delete)&&(f=""),(!(f==="c"&&h.ctrl)||!a)&&t(f,h)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};QP.default=s2t});var uPe=H(FP=>{"use strict";var o2t=FP&&FP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FP,"__esModule",{value:!0});var a2t=Ln(),c2t=o2t(lz()),l2t=()=>a2t.useContext(c2t.default);FP.default=l2t});var fPe=H(NP=>{"use strict";var u2t=NP&&NP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NP,"__esModule",{value:!0});var f2t=Ln(),h2t=u2t(Az()),A2t=()=>f2t.useContext(h2t.default);NP.default=A2t});var hPe=H(OP=>{"use strict";var p2t=OP&&OP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OP,"__esModule",{value:!0});var d2t=Ln(),g2t=p2t(dz()),m2t=()=>d2t.useContext(g2t.default);OP.default=m2t});var pPe=H(_P=>{"use strict";var APe=_P&&_P.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_P,"__esModule",{value:!0});var LP=Ln(),y2t=APe(RL()),E2t=APe(NL()),I2t=({isActive:t=!0,autoFocus:e=!1,id:r}={})=>{let{isRawModeSupported:s,setRawMode:a}=E2t.default(),{activeId:n,add:l,remove:f,activate:h,deactivate:A,focus:m}=LP.useContext(y2t.default),w=LP.useMemo(()=>r??Math.random().toString().slice(2,7),[r]);return LP.useEffect(()=>(l(w,{autoFocus:e}),()=>{f(w)}),[w,e]),LP.useEffect(()=>{t?h(w):A(w)},[t,w]),LP.useEffect(()=>{if(!(!s||!t))return a(!0),()=>{a(!1)}},[t]),{isFocused:!!w&&n===w,focus:m}};_P.default=I2t});var dPe=H(MP=>{"use strict";var w2t=MP&&MP.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MP,"__esModule",{value:!0});var C2t=Ln(),B2t=w2t(RL()),v2t=()=>{let t=C2t.useContext(B2t.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious,focus:t.focus}};MP.default=v2t});var gPe=H(vz=>{"use strict";Object.defineProperty(vz,"__esModule",{value:!0});vz.default=t=>{var e,r,s,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(s=t.yogaNode)===null||s===void 0?void 0:s.getComputedHeight())!==null&&a!==void 0?a:0}}});var Du=H(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});var S2t=XDe();Object.defineProperty(Wo,"render",{enumerable:!0,get:function(){return S2t.default}});var b2t=TL();Object.defineProperty(Wo,"Box",{enumerable:!0,get:function(){return b2t.default}});var D2t=wz();Object.defineProperty(Wo,"Text",{enumerable:!0,get:function(){return D2t.default}});var P2t=ePe();Object.defineProperty(Wo,"Static",{enumerable:!0,get:function(){return P2t.default}});var x2t=rPe();Object.defineProperty(Wo,"Transform",{enumerable:!0,get:function(){return x2t.default}});var k2t=iPe();Object.defineProperty(Wo,"Newline",{enumerable:!0,get:function(){return k2t.default}});var R2t=aPe();Object.defineProperty(Wo,"Spacer",{enumerable:!0,get:function(){return R2t.default}});var T2t=lPe();Object.defineProperty(Wo,"useInput",{enumerable:!0,get:function(){return T2t.default}});var Q2t=uPe();Object.defineProperty(Wo,"useApp",{enumerable:!0,get:function(){return Q2t.default}});var F2t=NL();Object.defineProperty(Wo,"useStdin",{enumerable:!0,get:function(){return F2t.default}});var N2t=fPe();Object.defineProperty(Wo,"useStdout",{enumerable:!0,get:function(){return N2t.default}});var O2t=hPe();Object.defineProperty(Wo,"useStderr",{enumerable:!0,get:function(){ Line truncated
`:"";return l?w+=`@IF EXIST ${l} (\r
${l} ${h} ${a} ${m}%*\r
) ELSE (\r
@SETLOCAL\r
@SET PATHEXT=%PATHEXT:;.JS;=;%\r
${f} ${h} ${a} ${m}%*\r
)\r
`:w+=`@${f} ${h} ${a} ${m}%*\r
`,w}function uvt(t,e,r){let s=xu.relative(xu.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;s=s.split("\\").join("/");let l=xu.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,f=r.args||"",h=EJ(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,s=l):(a=l,f="",s="");let A=r.progArgs?`${r.progArgs.join(" ")} `:"",m=`#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
case \`uname\` in
*CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
esac
`,w=r.nodePath?`export NODE_PATH="${h}"
`:"";return n?m+=`${w}if [ -x ${n} ]; then
exec ${n} ${f} ${s} ${A}"$@"
else
exec ${a} ${f} ${s} ${A}"$@"
fi
`:m+=`${w}${a} ${f} ${s} ${A}"$@"
exit $?
`,m}function fvt(t,e,r){let s=xu.relative(xu.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,l;s=s.split("\\").join("/");let f=xu.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,h=r.args||"",A=EJ(r.nodePath),m=A.win32,w=A.posix;n?(l=`"$basedir/${r.prog}$exe"`,s=f):(n=f,h="",s="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",D=`#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
${r.nodePath?`$env_node_path=$env:NODE_PATH
$env:NODE_PATH="${m}"
`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}`;return r.nodePath&&(D+=` else {
$env:NODE_PATH="${w}"
}`),l?D+=`
$ret=0
if (Test-Path ${l}) {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${l} ${h} ${s} ${v}$args
} else {
& ${l} ${h} ${s} ${v}$args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${n} ${h} ${s} ${v}$args
} else {
& ${n} ${h} ${s} ${v}$args
}
$ret=$LASTEXITCODE
}
${r.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $ret
`:D+=`
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
$input | & ${n} ${h} ${s} ${v}$args
} else {
& ${n} ${h} ${s} ${v}$args
}
${r.nodePath?`$env:NODE_PATH=$env_node_path
`:""}exit $LASTEXITCODE
`,D}function hvt(t,e){return e.fs_.chmod(t,493)}function EJ(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(xu.delimiter):Array.from(t),r={};for(let s=0;s<e.length;s++){let a=e[s].split("/").join("\\"),n=kxe()?e[s].split("\\").join("/").replace(/^([^:\\/]*):/,(l,f)=>`/mnt/${f.toLowerCase()}`):e[s];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[s]={win32:a,posix:n}}return r}Txe.exports=yJ});var TJ=H((DEr,eke)=>{eke.exports=Ae("stream")});var ike=H((PEr,nke)=>{"use strict";function tke(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,s)}return r}function zvt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?tke(Object(r),!0).forEach(function(s){Jvt(t,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):tke(Object(r)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(r,s))})}return t}function Jvt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Zvt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rke(t,e){for(var r=0;r<e.length;r++){var s=e[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function Xvt(t,e,r){return e&&rke(t.prototype,e),r&&rke(t,r),t}var $vt=Ae("buffer"),l_=$vt.Buffer,eSt=Ae("util"),QJ=eSt.inspect,tSt=QJ&&QJ.custom||"inspect";function rSt(t,e,r){l_.prototype.copy.call(t,e,r)}nke.exports=function(){function t(){Zvt(this,t),this.head=null,this.tail=null,this.length=0}return Xvt(t,[{key:"push",value:function(r){var s={data:r,next:null};this.length>0?this.tail.next=s:this.head=s,this.tail=s,++this.length}},{key:"unshift",value:function(r){var s={data:r,next:this.head};this.length===0&&(this.tail=s),this.head=s,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var s=this.head,a=""+s.data;s=s.next;)a+=r+s.data;return a}},{key:"concat",value:function(r){if(this.length===0)return l_.alloc(0);for(var s=l_.allocUnsafe(r>>>0),a=this.head,n=0;a;)rSt(a.data,s,n),n+=a.data.length,a=a.next;return s}},{key:"consume",value:function(r,s){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=s?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var s=this.head,a=1,n=s.data;for(r-=n.length;s=s.next;){var l=s.data,f=r>l.length?l.length:r;if(f===l.length?n+=l:n+=l.slice(0,r),r-=f,r===0){f===l.length?(++a,s.next?this.head=s.next:this.head=this.tail=null):(this.head=s,s.data=l.slice(f));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var s=l_.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(s),r-=a.data.length;a=a.next;){var l=a.data,f=r>l.length?l.length:r;if(l.copy(s,s.length-r,0,f),r-=f,r===0){f===l.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=l.slice(f));break}++n}return this.length-=n,s}},{key:tSt,value:function(r,s){return QJ(this,zvt({},s,{depth:0,customInspect:!1}))}}]),t}()});var NJ=H((xEr,oke)=>{"use strict";function nSt(t,e){var r=this,s=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return s||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(FJ,this,t)):process.nextTick(FJ,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(u_,r):(r._writableState.errorEmitted=!0,process.nextTick(ske,r,n)):process.nextTick(ske,r,n):e?(process.nextTick(u_,r),e(n)):process.nextTick(u_,r)}),this)}function ske(t,e){FJ(t,e),u_(t)}function u_(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function iSt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function FJ(t,e){t.emit("error",e)}function sSt(t,e){var r=t._readableState,s=t._writableState;r&& Line truncated
`)),t.linkname&&(e+=lZ(" linkpath="+t.linkname+`
`));var r=t.pax;if(r)for(var s in r)e+=lZ(" "+s+"="+r[s]+`
`);return Buffer.from(e)};E2.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var s=parseInt(t.slice(0,r).toString(),10);if(!s)return e;var a=t.slice(r+1,s-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(s)}return e};E2.encode=function(t){var e=Zbt(512),r=t.name,s="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;s+=s?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(s)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Og(t.mode&nDt,6),100),e.write(Og(t.uid,6),108),e.write(Og(t.gid,6),116),e.write(Og(t.size,11),124),e.write(Og(t.mtime.getTime()/1e3|0,11),136),e[156]=oRe+oDt(t.type),t.linkname&&e.write(t.linkname,157),aRe.copy(e,xx),eDt.copy(e,uZ),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Og(t.devmajor||0,6),329),e.write(Og(t.devminor||0,6),337),s&&e.write(s,345),e.write(Og(lRe(e),6),148),e)};E2.decode=function(t,e,r){var s=t[156]===0?0:t[156]-oRe,a=y2(t,0,100,e),n=Lg(t,100,8),l=Lg(t,108,8),f=Lg(t,116,8),h=Lg(t,124,12),A=Lg(t,136,12),m=sDt(s),w=t[157]===0?null:y2(t,157,100,e),v=y2(t,265,32),D=y2(t,297,32),I=Lg(t,329,8),R=Lg(t,337,8),N=lRe(t);if(N===8*32)return null;if(N!==Lg(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(aRe.compare(t,xx,xx+6)===0)t[345]&&(a=y2(t,345,155,e)+"/"+a);else if(!(tDt.compare(t,xx,xx+6)===0&&rDt.compare(t,uZ,uZ+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return s===0&&a&&a[a.length-1]==="/"&&(s=5),{name:a,mode:n,uid:l,gid:f,size:h,mtime:new Date(1e3*A),type:m,linkname:w,uname:v,gname:D,devmajor:I,devminor:R}}});var gRe=H((zEr,dRe)=>{var fRe=Ae("util"),cDt=sRe(),kx=fZ(),hRe=m2().Writable,ARe=m2().PassThrough,pRe=function(){},uRe=function(t){return t&=511,t&&512-t},lDt=function(t,e){var r=new S_(t,e);return r.end(),r},uDt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},S_=function(t,e){this._parent=t,this.offset=e,ARe.call(this,{autoDestroy:!1})};fRe.inherits(S_,ARe);S_.prototype.destroy=function(t){this._parent.destroy(t)};var fd=function(t){if(!(this instanceof fd))return new fd(t);hRe.call(this,t),t=t||{},this._offset=0,this._buffer=cDt(),this._missing=0,this._partial=!1,this._onparse=pRe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,s=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||s()},n=function(){e._stream=null;var v=uRe(e._header.size);v?e._parse(v,l):e._parse(512,w),e._locked||s()},l=function(){e._buffer.consume(uRe(e._header.size)),e._parse(512,w),s()},f=function(){var v=e._header.size;e._paxGlobal=kx.decodePax(r.slice(0,v)),r.consume(v),n()},h=function(){var v=e._header.size;e._pax=kx.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},A=function(){var v=e._header.size;this._gnuLongPath=kx.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},m=function(){var v=e._header.size;this._gnuLongLinkPath=kx.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},w=function(){var v=e._offset,D;try{D=e._header=kx.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(I){e.emit("error",I)}if(r.consume(512),!D){e._parse(512,w),s();return}if(D.type==="gnu-long-path"){e._parse(D.size,A),s();return}if(D.type==="gnu-long-link-path"){e._parse(D.size,m),s();return}if(D.type==="pax-global-header"){e._parse(D.size,f),s();return}if(D.type==="pax-header"){e._parse(D.size,h),s();return}if(e._gnuLongPath&&(D.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(D.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=D=uDt(D,e._pax),e._pax=null),e._locked=!0,!D.size||D.type==="directory"){e._parse(512,w),e.emit("entry",D,lDt(e,v),a);return}e._stream=new S_(e,v),e.emit("entry",D,e._stream,a),e._parse(D.size,n),s()};this._onheader=w,this._parse(512,w)};fRe.inherits(fd,hRe);fd.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};fd.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};fd.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=pRe,this._overflow?this._write(this._overflow,void 0,t):t()}};fd.prototype._write=function(t,e,r){if(!this._destroyed){var s=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,s?s.write(t,r):(a.append(t), Line truncated
Wanted: ${this.expectedSize}
Found: ${this.size}`);s.code="EBADSIZE",s.found=this.size,s.expected=this.expectedSize,s.sri=this.sri,this.emit("error",s)}else if(this.sri&&!r){let s=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${e}. (${this.size} bytes)`);s.code="EINTEGRITY",s.found=e,s.expected=this.digests,s.algorithm=this.algorithm,s.sri=this.sri,this.emit("error",s)}else this.#t=this.size,this.emit("size",this.size),this.#e=e,this.emit("integrity",e),r&&(this.#r=r,this.emit("verified",r))}},pd=class{get isHash(){return!0}constructor(e,r){let s=r?.strict;this.source=e.trim(),this.digest="",this.algorithm="",this.options=[];let a=this.source.match(s?jDt:HDt);if(!a||s&&!PZ.includes(a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];n&&(this.options=n.slice(1).split("?"))}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}match(e,r){let s=_l(e,r);if(!s)return!1;if(s.isIntegrity){let a=s.pickAlgorithm(r,[this.algorithm]);if(!a)return!1;let n=s[a].find(l=>l.digest===this.digest);return n||!1}return s.digest===this.digest?s:!1}toString(e){return e?.strict&&!(PZ.includes(this.algorithm)&&this.digest.match(UDt)&&this.options.every(r=>r.match(GDt)))?"":`${this.algorithm}-${this.digest}${_x(this.options)}`}};function LRe(t,e,r,s){let a=t!=="",n=!1,l="",f=s.length-1;for(let A=0;A<f;A++){let m=pd.prototype.toString.call(s[A],r);m&&(n=!0,l+=m,l+=e)}let h=pd.prototype.toString.call(s[f],r);return h&&(n=!0,l+=h),a&&n?t+e+l:t+l}var DE=class{get isIntegrity(){return!0}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(e){let r=e?.sep||" ",s="";if(e?.strict){r=r.replace(/\S+/g," ");for(let a of PZ)this[a]&&(s=LRe(s,r,e,this[a]))}else for(let a of Object.keys(this))s=LRe(s,r,e,this[a]);return s}concat(e,r){let s=typeof e=="string"?e:Ox(e,r);return _l(`${this.toString(r)} ${s}`,r)}hexDigest(){return _l(this,{single:!0}).hexDigest()}merge(e,r){let s=_l(e,r);for(let a in s)if(this[a]){if(!this[a].find(n=>s[a].find(l=>n.digest===l.digest)))throw new Error("hashes do not match, cannot update integrity")}else this[a]=s[a]}match(e,r){let s=_l(e,r);if(!s)return!1;let a=s.pickAlgorithm(r,Object.keys(this));return!!a&&this[a]&&s[a]&&this[a].find(n=>s[a].find(l=>n.digest===l.digest))||!1}pickAlgorithm(e,r){let s=e?.pickAlgorithm||ZDt,a=Object.keys(this).filter(n=>r?.length?r.includes(n):!0);return a.length?a.reduce((n,l)=>s(n,l)||n):null}};AA.exports.parse=_l;function _l(t,e){if(!t)return null;if(typeof t=="string")return DZ(t,e);if(t.algorithm&&t.digest){let r=new DE;return r[t.algorithm]=[t],DZ(Ox(r,e),e)}else return DZ(Ox(t,e),e)}function DZ(t,e){if(e?.single)return new pd(t,e);let r=t.trim().split(/\s+/).reduce((s,a)=>{let n=new pd(a,e);if(n.algorithm&&n.digest){let l=n.algorithm;s[l]||(s[l]=[]),s[l].push(n)}return s},new DE);return r.isEmpty()?null:r}AA.exports.stringify=Ox;function Ox(t,e){return t.algorithm&&t.digest?pd.prototype.toString.call(t,e):typeof t=="string"?Ox(_l(t,e),e):DE.prototype.toString.call(t,e)}AA.exports.fromHex=qDt;function qDt(t,e,r){let s=_x(r?.options);return _l(`${e}-${Buffer.from(t,"hex").toString("base64")}${s}`,r)}AA.exports.fromData=VDt;function VDt(t,e){let r=e?.algorithms||[...kZ],s=_x(e?.options);return r.reduce((a,n)=>{let l=Lx.createHash(n).update(t).digest("base64"),f=new pd(`${n}-${l}${s}`,e);if(f.algorithm&&f.digest){let h=f.algorithm;a[h]||(a[h]=[]),a[h].push(f)}return a},new DE)}AA.exports.fromStream=WDt;function WDt(t,e){let r=RZ(e);return new Promise((s,a)=>{t.pipe(r),t.on("error",a),r.on("error",a);let n;r.on("integrity",l=>{n=l}),r.on("end",()=>s(n)),r.resume()})}AA.exports.checkData=YDt;function YDt(t,e,r){if(e=_l(e,r),!e||!Object.keys(e).length){if(r?.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let s=e.pickAlgorithm(r),a=Lx.createHash(s).update(t).digest("base64"),n=_l({algorithm:s,digest:a}),l=n.match(e,r);if(r=r||{},l||!r.error)return l;if(typeof r.size=="number"&&t.length!==r.size){let f=new Error(`data size mismatch when checking ${e}.
Wanted: ${r.size}
Found: ${t.length}`);throw f.code="EBADSIZE",f.found=t.length,f.expected=r.size,f.sri=e,f}else{let f=new Error(`Integrity checksum failed when using ${s}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw f.code="EINTEGRITY",f.found=n,f.expected=e,f.algorithm=s,f.sri=e,f}}AA.exports.checkStream=KDt;function KDt(t,e,r){if(r=r||Object.create(null),r.integrity=e,e=_l(e,r),!e||!Object.keys(e).length)return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}));let s=RZ(r);return new Promise((a,n)=>{t.pipe(s),t.on("error",n),s.on("error",n);let l;s.on("verified",f=>{l=f}),s.on("end",()=>a(l)),s.resume()})}AA.exports.integrityStream=RZ;function RZ(t=Object.create(null)){return new xZ(t)}AA.exports.create=zDt;function zDt(t){let e=t?.algorithms||[...kZ],r=_x(t?.options),s=e.map(Lx.createHash);return{update:function(a,n){return s.forEach(l=>l.update(a,n)),this},digest:function(){return e.reduce((n,l)=>{let f=s.shift().digest("base64"),h=new pd(`${l}-${f}${r}`,t);if(h.algorithm&&h.digest){let A=h.algorithm;n[A]||(n[A]=[]),n[A].push(h)}return n},new DE)}}}var JDt=Lx.getHashes(),_Re=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>JDt.includes(t));function ZDt(t,e){return _Re.indexOf(t.toLowerCase())>=_Re.indexOf(e.toLowerCase())?t:e}});var U_=H(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:!0});Mg.Signature=Mg.Envelope=void 0;Mg.Envelope={fromJSON(t){return{payload:M_(t.payload)?Buffer.from(URe(t.payload)):Buffer.alloc(0),payloadType:M_(t.payloadType)?globalThis.String(t.payloadType):"",signatures:globalThis.Array.isArray(t?.signatures)?t.signatures.map(e=>Mg.Signature.fromJSON(e)):[]}},toJSON(t){let e={};return t.payload.length!==0&&(e.payload=HRe(t.payload)),t.payloadType!==""&&(e.payloadType=t.payloadType),t.signatures?.length&&(e.signatures=t.signatures.map(r=>Mg.Signature.toJSON(r))),e}};Mg.Signature={fromJSON(t){return{sig:M_(t.sig)?Buffer.from(URe(t.sig)):Buffer.alloc(0),keyid:M_(t.keyid)?globalThis.String(t.keyid):""}},toJSON(t){let e={};return t.sig.length!==0&&(e.sig=HRe(t.sig)),t.keyid!==""&&(e.keyid=t.keyid),e}};function URe(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}function HRe(t){return globalThis.Buffer.from(t).toString("base64")}function M_(t){return t!=null}});var GRe=H(H_=>{"use strict";Object.defineProperty(H_,"__esModule",{value:!0});H_.Timestamp=void 0;H_.Timestamp={fromJSON(t){return{seconds:jRe(t.seconds)?globalThis.String(t.seconds):"0",nanos:jRe(t.nanos)?globalThis.Number(t.nanos):0}},toJSON(t){let e={};return t.seconds!=="0"&&(e.seconds=t.seconds),t.nanos!==0&&(e.nanos=Math.round(t.nanos)),e}};function jRe(t){return t!=null}});var dd=H(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.TimeRange=sn.X509CertificateChain=sn.SubjectAlternativeName=sn.X509Certificate=sn.DistinguishedName=sn.ObjectIdentifierValuePair=sn.ObjectIdentifier=sn.PublicKeyIdentifier=sn.PublicKey=sn.RFC3161SignedTimestamp=sn.LogId=sn.MessageSignature=sn.HashOutput=sn.SubjectAlternativeNameType=sn.PublicKeyDetails=sn.HashAlgorithm=void 0;sn.hashAlgorithmFromJSON=VRe;sn.hashAlgorithmToJSON=WRe;sn.publicKeyDetailsFromJSON=YRe;sn.publicKeyDetailsToJSON=KRe;sn.subjectAlternativeNameTypeFromJSON=zRe;sn.subjectAlternativeNameTypeToJSON=JRe;var XDt=GRe(),$c;(function(t){t[t.HASH_ALGORITHM_UNSPECIFIED=0]="HASH_ALGORITHM_UNSPECIFIED",t[t.SHA2_256=1]="SHA2_256",t[t.SHA2_384=2]="SHA2_384",t[t.SHA2_512=3]="SHA2_512",t[t.SHA3_256=4]="SHA3_256",t[t.SHA3_384=5]="SHA3_384"})($c||(sn.HashAlgorithm=$c={}));function VRe(t){switch(t){case 0:case"HASH_ALGORITHM_UNSPECIFIED":return $c.HASH_ALGORITHM_UNSPECIFIED;case 1:case"SHA2_256":return $c.SHA2_256;case 2:case"SHA2_384":return $c.SHA2_384;case 3:case"SHA2_512":return $c.SHA2_512;case 4:case"SHA3_256":return $c.SHA3_256;case 5:case"SHA3_384":return $c.SHA3_384;default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum HashAlgorithm")}}function WRe(t){switch(t){case $c.HASH_ALGORITHM_UNSPECIFIED:return"HASH_ALGORITHM_UNSPECIFIED";case $c.SHA2_256:return"SHA2_256";case $c.SHA2_384:return"SHA2_384";case $c.SHA2_512:return"SHA2_512";case $c.SHA3_256:return"SHA3_256";case $c.SHA3_384:return"SHA3_384";default:throw new globalThis.Error("Unrecognized enum value "+t+" for enum HashAlgorithm")}}var tn;(function(t){t[t.PUBLIC_KEY_DETAILS_UNSPECIFIED=0]="PUBLIC_KEY_DETAILS_UNSPECIFIED",t[t.PKCS1_RSA_PKCS1V5=1]="PKCS1_RSA_PKCS1V5",t[t.PKCS1_RSA_PSS=2]="PKCS1_RSA_PSS",t[t.PKIX_RSA_PKCS1V5=3]="PKIX_RSA_PKCS1V5",t[t.PKIX_RSA_PSS=4]="PKIX_RSA_PSS",t[t.PKIX_RSA_PKCS1V15_2048_SHA256=9]="PKIX_RSA_PKCS1V15_2048_SHA256",t[t.PKIX_RSA_PKCS1V15_3072_SHA256=10]="PKIX_RSA_PKCS1V15_3072_SHA256",t[t.PKIX_RSA_PKCS1V15_4096_SHA256=11]="PKIX_RSA_PKCS1V15_4096_SHA256",t[t.PKIX_RSA_PSS_2048_SHA256=16]="PKIX_RSA_PSS_2048_SHA256",t[t.PKIX_RSA_PSS_3072_SHA256=17]="PKIX_RSA_PSS_3072_SHA256",t[t.PKIX_RS Line truncated
`).forEach(r=>{r.match(qPt)||r.match(VPt)||(e+=r)}),Buffer.from(e,"base64")}function YPt(t,e="CERTIFICATE"){let s=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...s,`-----END ${e}-----`].join(`
`).concat(`
`)}});var cM=H(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:!0});Vg.SHA2_HASH_ALGOS=Vg.RSA_SIGNATURE_ALGOS=Vg.ECDSA_SIGNATURE_ALGOS=void 0;Vg.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};Vg.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};Vg.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var ZZ=H(lM=>{"use strict";Object.defineProperty(lM,"__esModule",{value:!0});lM.RFC3161TimestampVerificationError=void 0;var JZ=class extends Error{};lM.RFC3161TimestampVerificationError=JZ});var PTe=H(yA=>{"use strict";var KPt=yA&&yA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),zPt=yA&&yA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),JPt=yA&&yA.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),a=0;a<s.length;a++)s[a]!=="default"&&KPt(r,e,s[a]);return zPt(r,e),r}}();Object.defineProperty(yA,"__esModule",{value:!0});yA.TSTInfo=void 0;var DTe=JPt(x2()),ZPt=cM(),XPt=ZZ(),XZ=class{root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return ZPt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=DTe.digest(this.messageImprintHashAlgorithm,e);if(!DTe.bufferEqual(r,this.messageImprintHashedMessage))throw new XPt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};yA.TSTInfo=XZ});var kTe=H(EA=>{"use strict";var $Pt=EA&&EA.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),ext=EA&&EA.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),txt=EA&&EA.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),a=0;a<s.length;a++)s[a]!=="default"&&$Pt(r,e,s[a]);return ext(r,e),r}}();Object.defineProperty(EA,"__esModule",{value:!0});EA.RFC3161Timestamp=void 0;var rxt=sM(),$Z=txt(x2()),xTe=cM(),jx=ZZ(),nxt=PTe(),ixt="1.2.840.113549.1.7.2",sxt="1.2.840.113549.1.9.16.1.4",oxt="1.2.840.113549.1.9.4",eX=class t{root;constructor(e){this.root=e}static parse(e){let r=rxt.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return xTe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return xTe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new nxt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new jx.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==ixt)throw new jx.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==sxt)throw new jx.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=$Z.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].value;if(!$Z.bufferEqual(e,r))throw new jx.RFC3161TimestampVerificationError("signed data does not match tstInfo")}verifySignature(e){let r=this.signedAttrsObj.toDER();if(r[0]=49,!$Z.verify( Line truncated
\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041FLine truncated
\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b
\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b
\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b
\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var NQe=H(FQe=>{"use strict";var v$=Bd().Buffer;FQe._dbcs=vd;var zo=-1,QQe=-2,Lu=-10,dc=-1e3,L2=new Array(256),Xx=-1;for(FM=0;FM<256;FM++)L2[FM]=zo;var FM;function vd(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=t.table();this.decodeTables=[],this.decodeTables[0]=L2.slice(0),this.decodeTableSeq=[];for(var s=0;s<r.length;s++)this._addDecodeChunk(r[s]);if(typeof t.gb18030=="function"){this.gb18030=t.gb18030();var a=this.decodeTables.length;this.decodeTables.push(L2.slice(0));var n=this.decodeTables.length;this.decodeTables.push(L2.slice(0));for(var l=this.decodeTables[0],s=129;s<=254;s++)for(var f=this.decodeTables[dc-l[s]],h=48;h<=57;h++){if(f[h]===zo)f[h]=dc-a;else if(f[h]>dc)throw new Error("gb18030 decode tables conflict at byte 2");for(var A=this.decodeTables[dc-f[h]],m=129;m<=254;m++){if(A[m]===zo)A[m]=dc-n;else{if(A[m]===dc-n)continue;if(A[m]>dc)throw new Error("gb18030 decode tables conflict at byte 3")}for(var w=this.decodeTables[dc-A[m]],v=48;v<=57;v++)w[v]===zo&&(w[v]=QQe)}}}this.defaultCharUnicode=e.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var D={};if(t.encodeSkipVals)for(var s=0;s<t.encodeSkipValsLine truncated
Wanted: ${this.expectedSize}
Found: ${this.size}`);s.code="EBADSIZE",s.found=this.size,s.expected=this.expectedSize,s.sri=this.sri,this.emit("error",s)}else if(this.sri&&!r){let s=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${e}. (${this.size} bytes)`);s.code="EINTEGRITY",s.found=e,s.expected=this.digests,s.algorithm=this.algorithm,s.sri=this.sri,this.emit("error",s)}else this.#t=this.size,this.emit("size",this.size),this.#e=e,this.emit("integrity",e),r&&(this.#r=r,this.emit("verified",r))}},Pd=class{get isHash(){return!0}constructor(e,r){let s=r?.strict;this.source=e.trim(),this.digest="",this.algorithm="",this.options=[];let a=this.source.match(s?FRt:QRt);if(!a||s&&!V$.includes(a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];n&&(this.options=n.slice(1).split("?"))}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}match(e,r){let s=Ul(e,r);if(!s)return!1;if(s.isIntegrity){let a=s.pickAlgorithm(r,[this.algorithm]);if(!a)return!1;let n=s[a].find(l=>l.digest===this.digest);return n||!1}return s.digest===this.digest?s:!1}toString(e){return e?.strict&&!(V$.includes(this.algorithm)&&this.digest.match(TRt)&&this.options.every(r=>r.match(NRt)))?"":`${this.algorithm}-${this.digest}${ak(this.options)}`}};function GFe(t,e,r,s){let a=t!=="",n=!1,l="",f=s.length-1;for(let A=0;A<f;A++){let m=Pd.prototype.toString.call(s[A],r);m&&(n=!0,l+=m,l+=e)}let h=Pd.prototype.toString.call(s[f],r);return h&&(n=!0,l+=h),a&&n?t+e+l:t+l}var jE=class{get isIntegrity(){return!0}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(e){let r=e?.sep||" ",s="";if(e?.strict){r=r.replace(/\S+/g," ");for(let a of V$)this[a]&&(s=GFe(s,r,e,this[a]))}else for(let a of Object.keys(this))s=GFe(s,r,e,this[a]);return s}concat(e,r){let s=typeof e=="string"?e:sk(e,r);return Ul(`${this.toString(r)} ${s}`,r)}hexDigest(){return Ul(this,{single:!0}).hexDigest()}merge(e,r){let s=Ul(e,r);for(let a in s)if(this[a]){if(!this[a].find(n=>s[a].find(l=>n.digest===l.digest)))throw new Error("hashes do not match, cannot update integrity")}else this[a]=s[a]}match(e,r){let s=Ul(e,r);if(!s)return!1;let a=s.pickAlgorithm(r,Object.keys(this));return!!a&&this[a]&&s[a]&&this[a].find(n=>s[a].find(l=>n.digest===l.digest))||!1}pickAlgorithm(e,r){let s=e?.pickAlgorithm||GRt,a=Object.keys(this).filter(n=>r?.length?r.includes(n):!0);return a.length?a.reduce((n,l)=>s(n,l)||n):null}};bA.exports.parse=Ul;function Ul(t,e){if(!t)return null;if(typeof t=="string")return q$(t,e);if(t.algorithm&&t.digest){let r=new jE;return r[t.algorithm]=[t],q$(sk(r,e),e)}else return q$(sk(t,e),e)}function q$(t,e){if(e?.single)return new Pd(t,e);let r=t.trim().split(/\s+/).reduce((s,a)=>{let n=new Pd(a,e);if(n.algorithm&&n.digest){let l=n.algorithm;s[l]||(s[l]=[]),s[l].push(n)}return s},new jE);return r.isEmpty()?null:r}bA.exports.stringify=sk;function sk(t,e){return t.algorithm&&t.digest?Pd.prototype.toString.call(t,e):typeof t=="string"?sk(Ul(t,e),e):jE.prototype.toString.call(t,e)}bA.exports.fromHex=ORt;function ORt(t,e,r){let s=ak(r?.options);return Ul(`${e}-${Buffer.from(t,"hex").toString("base64")}${s}`,r)}bA.exports.fromData=LRt;function LRt(t,e){let r=e?.algorithms||[...Y$],s=ak(e?.options);return r.reduce((a,n)=>{let l=ok.createHash(n).update(t).digest("base64"),f=new Pd(`${n}-${l}${s}`,e);if(f.algorithm&&f.digest){let h=f.algorithm;a[h]||(a[h]=[]),a[h].push(f)}return a},new jE)}bA.exports.fromStream=_Rt;function _Rt(t,e){let r=K$(e);return new Promise((s,a)=>{t.pipe(r),t.on("error",a),r.on("error",a);let n;r.on("integrity",l=>{n=l}),r.on("end",()=>s(n)),r.resume()})}bA.exports.checkData=MRt;function MRt(t,e,r){if(e=Ul(e,r),!e||!Object.keys(e).length){if(r?.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let s=e.pickAlgorithm(r),a=ok.createHash(s).update(t).digest("base64"),n=Ul({algorithm:s,digest:a}),l=n.match(e,r);if(r=r||{},l||!r.error)return l;if(typeof r.size=="number"&&t.length!==r.size){let f=new Error(`data size mismatch when checking ${e}.
Wanted: ${r.size}
Found: ${t.length}`);throw f.code="EBADSIZE",f.found=t.length,f.expected=r.size,f.sri=e,f}else{let f=new Error(`Integrity checksum failed when using ${s}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw f.code="EINTEGRITY",f.found=n,f.expected=e,f.algorithm=s,f.sri=e,f}}bA.exports.checkStream=URt;function URt(t,e,r){if(r=r||Object.create(null),r.integrity=e,e=Ul(e,r),!e||!Object.keys(e).length)return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}));let s=K$(r);return new Promise((a,n)=>{t.pipe(s),t.on("error",n),s.on("error",n);let l;s.on("verified",f=>{l=f}),s.on("end",()=>a(l)),s.resume()})}bA.exports.integrityStream=K$;function K$(t=Object.create(null)){return new W$(t)}bA.exports.create=HRt;function HRt(t){let e=t?.algorithms||[...Y$],r=ak(t?.options),s=e.map(ok.createHash);return{update:function(a,n){return s.forEach(l=>l.update(a,n)),this},digest:function(){return e.reduce((n,l)=>{let f=s.shift().digest("base64"),h=new Pd(`${l}-${f}${r}`,t);if(h.algorithm&&h.digest){let A=h.algorithm;n[A]||(n[A]=[]),n[A].push(h)}return n},new jE)}}}var jRt=ok.getHashes(),qFe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>jRt.includes(t));function GRt(t,e){return qFe.indexOf(t.toLowerCase())>=qFe.indexOf(e.toLowerCase())?t:e}});var J$=H((rCr,zFe)=>{var VFe=IG(),WFe=jFe(),qRt=Zg(),YFe={shared:!1,ignoreCargoCult:!0},VRt={status:200,headers:{}},H2=t=>{let e={method:t.method,url:t.url,headers:{},compress:t.compress};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},KFe=t=>{let e={status:t.status,headers:{}};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},z$=class{constructor({entry:e,request:r,response:s,options:a}){this.entry=e,this.request=H2(r),this.response=KFe(s),this.options=a,this.policy=new VFe(this.request,this.response,YFe),this.entry&&(this.policy._responseTime=this.entry.metadata.time)}static storable(e,r){return!r.cachePath||r.cache==="no-store"||!["GET","HEAD"].includes(e.method)?!1:new VFe(H2(e),VRt,YFe).storable()}satisfies(e){let r=H2(e);if(this.request.headers.host!==r.headers.host||this.request.compress!==r.compress)return!1;let s=new WFe(this.request),a=new WFe(r);return JSON.stringify(s.mediaTypes())!==JSON.stringify(a.mediaTypes())||JSON.stringify(s.languages())!==JSON.stringify(a.languages())||JSON.stringify(s.encodings())!==JSON.stringify(a.encodings())?!1:this.options.integrity?qRt.parse(this.options.integrity).match(this.entry.integrity):!0}storable(){return this.policy.storable()}get mustRevalidate(){return!!this.policy._rescc["must-revalidate"]}needsRevalidation(e){let r=H2(e);return r.method="GET",!this.policy.satisfiesWithoutRevalidation(r)}responseHeaders(){return this.policy.responseHeaders()}revalidationHeaders(e){let r=H2(e);return this.policy.revalidationHeaders(r)}revalidated(e,r){let s=H2(e),a=KFe(r);return!this.policy.revalidatedPolicy(s,a).modified}};zFe.exports=z$});var ZFe=H((nCr,JFe)=>{var Z$=class extends Error{constructor(e){super(`request to ${e} failed: cache mode is 'only-if-cached' but no cached response is available.`),this.code="ENOTCACHED"}};JFe.exports={NotCachedError:Z$}});var KM=H((iCr,tNe)=>{var WRt=vM(),XFe=Symbol("_flush"),$Fe=Symbol("_flushed"),eNe=Symbol("_flushing"),X$=class extends WRt{constructor(e={}){if(typeof e=="function"&&(e={flush:e}),super(e),typeof e.flush!="function"&&typeof this.flush!="function")throw new TypeError("must provide flush function in options");this[XFe]=e.flush||this.flush}emit(e,...r){if(e!=="end"&&e!=="finish"||this[$Fe])return super.emit(e,...r);if(this[eNe])return;this[eNe]=!0;let s=n=>{this[$Fe]=!0,n?super.emit("error",n):super.emit("end")},a=this[XFe](s);a&&a.then&&a.then(()=>s(),n=>s(n))}};tNe.exports=X$});var ree=H((sCr,tee)=>{var{Minipass:rNe}=Ko(),j2=Symbol("_data"),G2=Symbol("_length"),$$=class extends rNe{constructor(e){super(e),this[j2]=[],this[G2]=0}write(e,r,s){typeof r=="function"&&(s=r,r="utf8"),r||(r="utf8");let a=Buffer.isBuffer(e)?e:Buffer.from(e,r);return this[j2].push(a),this[G2]+=a.length,s&&s(),!0}end(e,r,s){typeof e=="function"&&(s=e,e=null),typeof r=="function"&&(s=r,r="utf8"),e&&this.write(e,r);let a=Buffer.concat(this[j2],this[G2]);return super.write(a),super.end(s)}};tee.exports=$$;var eee=class extends rNe{constructor(e){super(e),this[j2]=[],this[G2]=0}write(e,r,s){typeof r=="function"&&(s=r,r="utf8"),r||(r="utf8");let a=Buffer.isBuffer(e)?e:Buffer.from(e,r);return this[j2].push(a),this[G2]+=a.length,super.write(e,r,s)}end(e,r,s){typeof e=="function"&&(s=e,e=null),typeof r=="function"&&(s=r,r="utf8"),e&&this.write(e,r);let a=Buffer.concat(this[j2],this[G2]);return this.emit("collect",a),super.end(s)}};tee.exports.PassThrough=eee});var q2=H((oCr,oNe)=>{var YRt=vM(),KRt=Ae("events"),zRt=t=>t&&t instanceof KRt&&(typeof t.pipe=="function"||typeof t.write=="function"&&typeof t.end=="function"),GE=Symbol("_head"),Hl=Symbol("_tail"),nee=Symbol( Line truncated
`+l.map(v=>{let D=JSON.stringify(v);return`${n4(D)} ${D}`}).join(`
`),h=async()=>{let v=EQt(PA.join(t,"tmp"),s.tmpPrefix);return await Iee(PA.dirname(v),{recursive:!0}),{target:v,moved:!1}},A=async v=>{if(!v.moved)return $Ne(v.target,{recursive:!0,force:!0})},m=async v=>{await gQt(v.target,f,{flag:"wx"}),await Iee(PA.dirname(a),{recursive:!0}),await BQt(v.target,a),v.moved=!0},w=await h();try{await m(w)}finally{await A(w)}return l.reverse().map(v=>i4(t,v,!0))}jl.exports.insert=eOe;async function eOe(t,e,r,s={}){let{metadata:a,size:n,time:l}=s,f=fk(t,e),h={key:e,integrity:r&&yQt.stringify(r),time:l||Date.now(),size:n,metadata:a};try{await Iee(PA.dirname(f),{recursive:!0});let A=JSON.stringify(h);await AQt(f,`
${n4(A)} ${A}`)}catch(A){if(A.code==="ENOENT")return;throw A}return i4(t,h)}jl.exports.find=SQt;async function SQt(t,e){let r=fk(t,e);try{return(await r4(r)).reduce((a,n)=>n&&n.key===e?i4(t,n):a,null)}catch(s){if(s.code==="ENOENT")return null;throw s}}jl.exports.delete=bQt;function bQt(t,e,r={}){if(!r.removeFully)return eOe(t,e,null,r);let s=fk(t,e);return $Ne(s,{recursive:!0,force:!0})}jl.exports.lsStream=tOe;function tOe(t){let e=wee(t),r=new mQt({objectMode:!0});return Promise.resolve().then(async()=>{let{default:s}=await Promise.resolve().then(()=>(t4(),e4)),a=await Eee(e);return await s(a,async n=>{let l=PA.join(e,n),f=await Eee(l);await s(f,async h=>{let A=PA.join(l,h),m=await Eee(A);await s(m,async w=>{let v=PA.join(A,w);try{let I=(await r4(v)).reduce((R,N)=>(R.set(N.key,N),R),new Map);for(let R of I.values()){let N=i4(t,R);N&&r.write(N)}}catch(D){if(D.code==="ENOENT")return;throw D}},{concurrency:yee})},{concurrency:yee})},{concurrency:yee}),r.end(),r}).catch(s=>r.emit("error",s)),r}jl.exports.ls=DQt;async function DQt(t){return(await tOe(t).collect()).reduce((r,s)=>(r[s.key]=s,r),{})}jl.exports.bucketEntries=r4;async function r4(t,e){let r=await pQt(t,"utf8");return PQt(r,e)}function PQt(t){let e=[];return t.split(`
`).forEach(r=>{if(!r)return;let s=r.split(" ");if(!s[1]||n4(s[1])!==s[0])return;let a;try{a=JSON.parse(s[1])}catch{}a&&e.push(a)}),e}jl.exports.bucketDir=wee;function wee(t){return PA.join(t,`index-v${CQt}`)}jl.exports.bucketPath=fk;function fk(t,e){let r=rOe(e);return PA.join.apply(PA,[wee(t)].concat(wQt(r)))}jl.exports.hashKey=rOe;function rOe(t){return nOe(t,"sha256")}jl.exports.hashEntry=n4;function n4(t){return nOe(t,"sha1")}function nOe(t,e){return hQt.createHash(e).update(t).digest("hex")}function i4(t,e,r){return!e.integrity&&!r?null:{key:e.key,integrity:e.integrity,path:e.integrity?IQt(t,e.integrity):void 0,size:e.size,time:e.time,metadata:e.metadata}}function Eee(t){return dQt(t).catch(e=>{if(e.code==="ENOENT"||e.code==="ENOTDIR")return[];throw e})}});var z2=H(o4=>{"use strict";Object.defineProperty(o4,"__esModule",{value:!0});o4.LRUCache=void 0;var xQt=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,sOe=new Set,Cee=typeof process=="object"&&process?process:{},oOe=(t,e,r,s)=>{typeof Cee.emitWarning=="function"?Cee.emitWarning(t,e,r,s):console.error(`[${r}] ${e}: ${t}`)},s4=globalThis.AbortController,iOe=globalThis.AbortSignal;if(typeof s4>"u"){iOe=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(s,a){this._onabort.push(a)}},s4=class{constructor(){e()}signal=new iOe;abort(s){if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(let a of this.signal._onabort)a(s);this.signal.onabort?.(s)}}};let t=Cee.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{t&&(t=!1,oOe("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var kQt=t=>!sOe.has(t),PCr=Symbol("type"),Xg=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),aOe=t=>Xg(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?K2:null:null,K2=class extends Array{constructor(e){super(e),this.fill(0)}},Bee=class t{heap;length;static#e=!1;static create(e){let r=aOe(e);if(!r)return[];t.#e=!0;let s=new t(e,r);return t.#e=!1,s}constructor(e,r){if(!t.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new r(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},vee=class t{#e;#t;#r;#n;#s;#i;#l;#u;get perf(){return this.#u}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#A;#p;#f;#a;#d;#w;#I;#g;#P;#m;#v;#S;#y;#E;#C;#b;#o;#F;static unsafeExposeInternals(e){return{starts:e.#S,ttls:e.#y,autopurgeTimers:e.#E,sizes:e.#v,keyMap:e.#p,keyList:e.#f,valList:e.#a,next:e.#d,prev:e.#w,get head(){return e.#I},get tail(){return e.#g},free:e.#P,isBackgroundFetch:r=>e.#h(r),backgroundFetch:(r,s,a,n)=>e.#j(r,s,a,n),moveToTail:r=>e.#O(r),indexes:r=>e.#k(r),rindexes:r=>e.#R(r),isStale:r=>e.#B(r)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#A}get size(){return this.#c}get fetchMethod(){return this.#i}get memoMethod(){return this.#l}get dispose(){return this.#r}get onInsert(){return this.#n}get disposeAfter(){return this.#s}constructor(e){let{max:r=0,ttl:s,ttlResolution:a=1,ttlAutopurge:n,updateAgeOnGet:l,updateAgeOnHas:f,allowStale:h,dispose:A,onInsert:m,disposeAfter:w,noDisposeOnSet:v,noUpdateTTL:D,maxSize:I=0,maxEntrySize:R=0,sizeCalculation:N,fetchMethod:U,memoMethod:V,noDeleteOnFetchRejection:ee,noDeleteOnStaleGet:te,allowStaleOnFetchRejection:ie,allowStaleOnFetchAbort:ae,ignoreFetchAbort:ge,perf:de}=e;if(de!==void 0&&typeof de?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#u=de??xQt,r!==0&&!Xg(r))throw new TypeError("max option must be a nonnegative integer");let xe=r?aOe(r):Array;if(!xe)throw new Error("invalid max value: "+r);if(this.#e=r,this.#t=I,this.maxEntrySize=R||this.#t,this.sizeCalculation=N,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(V!==void 0&&typeof V!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#l=V,U!==void 0&&typeof U!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#i=U,this.#b=!!U,this.#p=new Map,this.#f=new Array(r).fill(void 0),this.#a=new Array(r).fill(void 0),this.#d=new xe(r),this.#w=new xe(r),this.#I=0,this.#g=0 Line truncated
Wanted: ${t}
Found: ${e}`);return r.code="EINTEGRITY",r.expected=t,r.found=e,r}});var xOe=H((NCr,_ee)=>{"use strict";var SOe=Y2(),bOe=hk(),DOe=vOe(),hFt=KM(),{PassThrough:AFt}=ree(),pFt=q2(),POe=t=>({algorithms:["sha512"],...t});_ee.exports=dFt;async function dFt(t,e,r,s={}){let{memoize:a}=s;s=POe(s);let n=await DOe(t,r,s),l=await SOe.insert(t,e,n.integrity,{...s,size:n.size});return a&&bOe.put(t,l,r,s),n.integrity}_ee.exports.stream=gFt;function gFt(t,e,r={}){let{memoize:s}=r;r=POe(r);let a,n,l,f,h=new pFt;if(s){let m=new AFt().on("collect",w=>{f=w});h.push(m)}let A=DOe.stream(t,r).on("integrity",m=>{a=m}).on("size",m=>{n=m}).on("error",m=>{l=m});return h.push(A),h.push(new hFt({async flush(){if(!l){let m=await SOe.insert(t,e,a,{...r,size:n});s&&f&&bOe.put(t,m,f,r),h.emit("integrity",a),h.emit("size",n)}}})),h}});var ROe=H(KE=>{"use strict";Object.defineProperty(KE,"__esModule",{value:!0});KE.range=KE.balanced=void 0;var mFt=(t,e,r)=>{let s=t instanceof RegExp?kOe(t,r):t,a=e instanceof RegExp?kOe(e,r):e,n=s!==null&&a!=null&&(0,KE.range)(s,a,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+s.length,n[1]),post:r.slice(n[1]+a.length)}};KE.balanced=mFt;var kOe=(t,e)=>{let r=e.match(t);return r?r[0]:null},yFt=(t,e,r)=>{let s,a,n,l,f,h=r.indexOf(t),A=r.indexOf(e,h+1),m=h;if(h>=0&&A>0){if(t===e)return[h,A];for(s=[],n=r.length;m>=0&&!f;){if(m===h)s.push(m),h=r.indexOf(t,m+1);else if(s.length===1){let w=s.pop();w!==void 0&&(f=[w,A])}else a=s.pop(),a!==void 0&&a<n&&(n=a,l=A),A=r.indexOf(e,m+1);m=h<A&&h>=0?h:A}s.length&&l!==void 0&&(f=[n,l])}return f};KE.range=yFt});var _Oe=H(Hee=>{"use strict";Object.defineProperty(Hee,"__esModule",{value:!0});Hee.expand=RFt;var TOe=ROe(),QOe="\0SLASH"+Math.random()+"\0",FOe="\0OPEN"+Math.random()+"\0",Uee="\0CLOSE"+Math.random()+"\0",NOe="\0COMMA"+Math.random()+"\0",OOe="\0PERIOD"+Math.random()+"\0",EFt=new RegExp(QOe,"g"),IFt=new RegExp(FOe,"g"),wFt=new RegExp(Uee,"g"),CFt=new RegExp(NOe,"g"),BFt=new RegExp(OOe,"g"),vFt=/\\\\/g,SFt=/\\{/g,bFt=/\\}/g,DFt=/\\,/g,PFt=/\\./g;function Mee(t){return isNaN(t)?t.charCodeAt(0):parseInt(t,10)}function xFt(t){return t.replace(vFt,QOe).replace(SFt,FOe).replace(bFt,Uee).replace(DFt,NOe).replace(PFt,OOe)}function kFt(t){return t.replace(EFt,"\\").replace(IFt,"{").replace(wFt,"}").replace(CFt,",").replace(BFt,".")}function LOe(t){if(!t)return[""];let e=[],r=(0,TOe.balanced)("{","}",t);if(!r)return t.split(",");let{pre:s,body:a,post:n}=r,l=s.split(",");l[l.length-1]+="{"+a+"}";let f=LOe(n);return n.length&&(l[l.length-1]+=f.shift(),l.push.apply(l,f)),e.push.apply(e,l),e}function RFt(t){return t?(t.slice(0,2)==="{}"&&(t="\\{\\}"+t.slice(2)),Ek(xFt(t),!0).map(kFt)):[]}function TFt(t){return"{"+t+"}"}function QFt(t){return/^-?0\d/.test(t)}function FFt(t,e){return t<=e}function NFt(t,e){return t>=e}function Ek(t,e){let r=[],s=(0,TOe.balanced)("{","}",t);if(!s)return[t];let a=s.pre,n=s.post.length?Ek(s.post,!1):[""];if(/\$$/.test(s.pre))for(let l=0;l<n.length;l++){let f=a+"{"+s.body+"}"+n[l];r.push(f)}else{let l=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),f=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),h=l||f,A=s.body.indexOf(",")>=0;if(!h&&!A)return s.post.match(/,(?!,).*\}/)?(t=s.pre+"{"+s.body+Uee+s.post,Ek(t)):[t];let m;if(h)m=s.body.split(/\.\./);else if(m=LOe(s.body),m.length===1&&m[0]!==void 0&&(m=Ek(m[0],!1).map(TFt),m.length===1))return n.map(v=>s.pre+m[0]+v);let w;if(h&&m[0]!==void 0&&m[1]!==void 0){let v=Mee(m[0]),D=Mee(m[1]),I=Math.max(m[0].length,m[1].length),R=m.length===3&&m[2]!==void 0?Math.abs(Mee(m[2])):1,N=FFt;D<v&&(R*=-1,N=NFt);let V=m.some(QFt);w=[];for(let ee=v;N(ee,D);ee+=R){let te;if(f)te=String.fromCharCode(ee),te==="\\"&&(te="");else if(te=String(ee),V){let ie=I-te.length;if(ie>0){let ae=new Array(ie+1).join("0");ee<0?te="-"+ae+te.slice(1):te=ae+te}}w.push(te)}}else{w=[];for(let v=0;v<m.length;v++)w.push.apply(w,Ek(m[v],!1))}for(let v=0;v<w.length;v++)for(let D=0;D<n.length;D++){let I=a+w[v]+n[D];(!e||h||I)&&r.push(I)}}return r}});var MOe=H(m4=>{"use strict";Object.defineProperty(m4,"__esModule",{value:!0});m4.assertValidPattern=void 0;var OFt=1024*64,LFt=t=>{if(typeof t!="string")throw new TypeError("invalid pattern");if(t.length>OFt)throw new TypeError("pattern is too long")};m4.assertValidPattern=LFt});var HOe=H(y4=>{"use strict";Object.defineProperty(y4,"__esModule",{value:!0});y4.parseClass=void 0;var _Ft={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Ik=t=>t.replace(/[[\]\\-]/g,"\\$&"),MFt=t=>t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),UOe=t=>t.join(""),UFt=(t,e)=>{let r=e;if(t.charAt(r)!=="[")throw new Line truncated
globstar while`,e,v,r,D,I),this.matchOne(e.slice(v),r.slice(D),s))return this.debug("globstar found match!",v,h,I),!0;if(I==="."||I===".."||!a.dot&&I.charAt(0)==="."){this.debug("dot detected!",e,v,r,D);break}this.debug("globstar swallow a segment, and continue"),v++}return!!(s&&(this.debug(`
>>> no match, partial?`,e,v,r,D),v===h))}let R;if(typeof m=="string"?(R=w===m,this.debug("string match",m,w,R)):(R=m.test(w),this.debug("pattern match",m,w,R)),!R)return!1}if(l===h&&f===A)return!0;if(l===h)return s;if(f===A)return l===h-1&&e[l]==="";throw new Error("wtf?")}braceExpand(){return(0,_r.braceExpand)(this.pattern,this.options)}parse(e){(0,S4.assertValidPattern)(e);let r=this.options;if(e==="**")return _r.GLOBSTAR;if(e==="")return"";let s,a=null;(s=e.match(uNt))?a=r.dot?hNt:fNt:(s=e.match(eNt))?a=(r.nocase?r.dot?iNt:nNt:r.dot?rNt:tNt)(s[1]):(s=e.match(ANt))?a=(r.nocase?r.dot?dNt:pNt:r.dot?gNt:mNt)(s):(s=e.match(sNt))?a=r.dot?aNt:oNt:(s=e.match(cNt))&&(a=lNt);let n=YOe.AST.fromGlob(e,this.options).toMMPattern();return a&&typeof n=="object"&&Reflect.defineProperty(n,"test",{value:a}),n}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let r=this.options,s=r.noglobstar?ENt:r.dot?INt:wNt,a=new Set(r.nocase?["i"]:[]),n=e.map(h=>{let A=h.map(w=>{if(w instanceof RegExp)for(let v of w.flags.split(""))a.add(v);return typeof w=="string"?DNt(w):w===_r.GLOBSTAR?_r.GLOBSTAR:w._src});A.forEach((w,v)=>{let D=A[v+1],I=A[v-1];w!==_r.GLOBSTAR||I===_r.GLOBSTAR||(I===void 0?D!==void 0&&D!==_r.GLOBSTAR?A[v+1]="(?:\\/|"+s+"\\/)?"+D:A[v]=s:D===void 0?A[v-1]=I+"(?:\\/|\\/"+s+")?":D!==_r.GLOBSTAR&&(A[v-1]=I+"(?:\\/|\\/"+s+"\\/)"+D,A[v+1]=_r.GLOBSTAR))});let m=A.filter(w=>w!==_r.GLOBSTAR);if(this.partial&&m.length>=1){let w=[];for(let v=1;v<=m.length;v++)w.push(m.slice(0,v).join("/"));return"(?:"+w.join("|")+")"}return m.join("/")}).join("|"),[l,f]=e.length>1?["(?:",")"]:["",""];n="^"+l+n+f+"$",this.partial&&(n="^(?:\\/|"+l+n.slice(1,-1)+f+")$"),this.negate&&(n="^(?!"+n+").+$");try{this.regexp=new RegExp(n,[...a].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,r=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;let s=this.options;this.isWindows&&(e=e.split("\\").join("/"));let a=this.slashSplit(e);this.debug(this.pattern,"split",a);let n=this.set;this.debug(this.pattern,"set",n);let l=a[a.length-1];if(!l)for(let f=a.length-2;!l&&f>=0;f--)l=a[f];for(let f=0;f<n.length;f++){let h=n[f],A=a;if(s.matchBase&&h.length===1&&(A=[l]),this.matchOne(A,h,r))return s.flipNegate?!0:!this.negate}return s.flipNegate?!1:this.negate}static defaults(e){return _r.minimatch.defaults(e).Minimatch}};_r.Minimatch=zE;var PNt=qee();Object.defineProperty(_r,"AST",{enumerable:!0,get:function(){return PNt.AST}});var xNt=Vee();Object.defineProperty(_r,"escape",{enumerable:!0,get:function(){return xNt.escape}});var kNt=I4();Object.defineProperty(_r,"unescape",{enumerable:!0,get:function(){return kNt.unescape}});_r.minimatch.AST=YOe.AST;_r.minimatch.Minimatch=zE;_r.minimatch.escape=ZFt.escape;_r.minimatch.unescape=XFt.unescape});var uLe=H(yi=>{"use strict";var RNt=yi&&yi.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),TNt=yi&&yi.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),QNt=yi&&yi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&RNt(e,t,r);return TNt(e,t),e};Object.defineProperty(yi,"__esModule",{value:!0});yi.PathScurry=yi.Path=yi.PathScurryDarwin=yi.PathScurryPosix=yi.PathScurryWin32=yi.PathScurryBase=yi.PathPosix=yi.PathWin32=yi.PathBase=yi.ChildrenCache=yi.ResolveCache=void 0;var Q4=z2(),k4=Ae("node:path"),FNt=Ae("node:url"),Ck=Ae("fs"),NNt=QNt(Ae("node:fs")),ONt=Ck.realpathSync.native,b4=Ae("node:fs/promises"),ZOe=Ko(),Bk={lstatSync:Ck.lstatSync,readdir:Ck.readdir,readdirSync:Ck.readdirSync,readlinkSync:Ck.readlinkSync,realpathSync:ONt,promises:{lstat:b4.lstat,readdir:b4.readdir,readlink:b4.readlink,realpath:b4.realpath}},rLe=t=>!t||t===Bk||t===NNt?Bk:{...Bk,...t,promises:{...Bk.promises,...t.promises||{}}},nLe=/^\\\\\?\\([a-z]:)\\?$/i,LNt=t=>t.replace(/\//g,"\\").replace(nLe,"$1\\"),_Nt=/[\\\/]/,Uu=0,iLe=1,sLe=2,kA=4,oLe=6,aLe=8,JE=10,cLe=12,Mu=15,wk=~Mu,Wee=16,XOe=32,vk=64,nh=128,D4=256,x4=512,$Oe=vk|nh|x4,MNt=1023,Yee=t=>t.isFile()?aLe:t.isDirectory()?kA:t.isSymbolicLink()?JE:t.isCharacterDevice()?sLe:t.isBlockDevice()?oLe:t.isSocket()?cLe:t.isFIFO()?iLe:Uu,eLe=new Q4.LRUCache({max:2**12}),Sk=t=>{let e=eLe.get(t);if(e)return e;let r=t.normalize("NFKD");return eLe.set(t,r),r},tLe=new Q4.LRUCache({max:2**12}),P4=t=>{let e=tLe.get(t);if(e)return e;let r=Sk(t.toLowerCase());return tLe.set(t,r),r},bk=class extends Q4.LRUCache{ Line truncated
`).join(`
`+n),t.push(a+"m+"+Z4.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=NLt()+e+" "+t[0]}function NLt(){return xo.inspectOpts.hideDate?"":new Date().toISOString()+" "}function OLt(...t){return process.stderr.write(J4.formatWithOptions(xo.inspectOpts,...t)+`
`)}function LLt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function _Lt(){return process.env.DEBUG}function MLt(t){t.inspectOpts={};let e=Object.keys(xo.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=xo.inspectOpts[e[r]]}Z4.exports=Ste()(xo);var{formatters:i_e}=Z4.exports;i_e.o=function(t){return this.inspectOpts.colors=this.useColors,J4.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};i_e.O=function(t){return this.inspectOpts.colors=this.useColors,J4.inspect(t,this.inspectOpts)}});var $E=H((g1r,bte)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?bte.exports=n_e():bte.exports=s_e()});var c_e=H(sl=>{"use strict";var ULt=sl&&sl.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),HLt=sl&&sl.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o_e=sl&&sl.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ULt(e,t,r);return HLt(e,t),e};Object.defineProperty(sl,"__esModule",{value:!0});sl.req=sl.json=sl.toBuffer=void 0;var jLt=o_e(Ae("http")),GLt=o_e(Ae("https"));async function a_e(t){let e=0,r=[];for await(let s of t)e+=s.length,r.push(s);return Buffer.concat(r,e)}sl.toBuffer=a_e;async function qLt(t){let r=(await a_e(t)).toString("utf8");try{return JSON.parse(r)}catch(s){let a=s;throw a.message+=` (input: ${r})`,a}}sl.json=qLt;function VLt(t,e={}){let s=((typeof t=="string"?t:t.href).startsWith("https:")?GLt:jLt).request(t,e),a=new Promise((n,l)=>{s.once("response",n).once("error",l).end()});return s.then=a.then.bind(a),s}sl.req=VLt});var Ok=H(Gl=>{"use strict";var u_e=Gl&&Gl.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),WLt=Gl&&Gl.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),f_e=Gl&&Gl.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&u_e(e,t,r);return WLt(e,t),e},YLt=Gl&&Gl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&u_e(e,t,r)};Object.defineProperty(Gl,"__esModule",{value:!0});Gl.Agent=void 0;var KLt=f_e(Ae("net")),l_e=f_e(Ae("http")),zLt=Ae("https");YLt(c_e(),Gl);var TA=Symbol("AgentBaseInternalState"),Dte=class extends l_e.Agent{constructor(e){super(e),this[TA]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(s=>s.indexOf("(https.js:")!==-1||s.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new KLt.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let s=this.sockets[e],a=s.indexOf(r);a!==-1&&(s.splice(a,1),this.totalSocketCount--,s.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?zLt.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,s){let a={...r,secureEndpoint:this.isSecureEndpoint(r)},n=this.getName(a),l=this.incrementSockets(n);Promise.resolve().then(()=>this.connect(e,a)).then(f=>{if(this.decrementSockets(n,l),f instanceof l_e.Agent)try{return f.addRequest(e,a)}catch(h){return s(h)}this[TA].currentSocket=f,super.createSocket(e,r,s)},f=>{this.decrementSockets(n,l),s(f)})}createConnection(){let e=this[TA].currentSocket;if(this[TA].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[TA].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[TA]&&(this[TA].defaultPort=e)}get protocol(){return this[TA].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[TA]&&(this[TA].protocol=e)}};Gl.Agent=Dte});var p_e=H(Hu=>{"use strict";var JLt=Hu&&Hu.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),ZLt=Hu&&Hu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),A_e=Hu&&Hu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&JLt(e,t,r);return ZLt(e,t),e},XLt=Hu&&Hu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Hu,"__esModule",{value:!0});Hu.HttpProxyAgent=void 0;var $Lt=A_e(Ae("net")),e_t=A_e(Ae("tls")),t_t=XLt($E()),r_t=Ae("events"),n_t=Ok(),h_e=Ae("url"),uB=(0,t_t.default)("http-proxy-agent"),X4=class extends n_t.Agent{constructor(e,r){super(r),this.proxy=typeof e=="string"?new h_e.URL(e):e,this.proxyHeaders=r?.headers??{},uB("Creating new HttpProxyAgent instance: %o",this.proxy.href);let s=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),a=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?i_t(r,"headers"):null,host:s,port:a}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:s}=this,a=r.secureEndpoint?"https:":"http:",n=e.getHeader("host")||"localhost",l=`${a}//${n}`,f=new h_e.URL(e.path,l);r.port!==80&&(f.port=String(r.port)),e.path=String(f);let h=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(s.username||s.password){let A=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;h["Proxy-Authorization"]=`Basic ${Buffer.from(A).toString("base64")}`}h["Proxy-Connection"]||(h["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let A of Object.keys(h)){let m=h[A];m&&e.setHeader(A,m)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let s,a;uB("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(uB("Patching connection write() output buffer with updated header"),s=e.outputData[0].data,a=s.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+s.substring(a),uB("Output buffer: %o",e.outputData[0].data));let n;return this.proxy.protocol==="https:"?(uB("Creating `tls.Socket`: %o",this.connectOpts),n=e_t.connect(this.connectOpts)):(uB("Creating `net.Socket`: %o",this.connectOpts),n=$Lt.connect(this.connectOpts)),await(0,r_t.once)(n,"connect"),n}};X4.protocols=["http","https"];Hu.HttpProxyAgent=X4;function i_t(t,...e){let r={},s;for(s in t)e.includes(s)||(r[s]=t[s]);return r}});var d_e=H(fB=>{"use strict";var s_t=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});fB.parseProxyResponse=void 0;var o_t=s_t($E()),$4=(0,o_t.default)("https-proxy-agent:parse-proxy-response");function a_t(t){return new Promise((e,r)=>{let s=0,a=[];function n(){let m=t.read();m?A(m):t.once("readable",n)}function l(){t.removeListener("end",f),t.removeListener("error",h),t.removeListener("readable",n)}function f(){l(),$4("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function h(m){l(),$4("onerror %o",m),r(m)}function A(m){a.push(m),s+=m.length;let w=Buffer.concat(a,s),v=w.indexOf(`\r
\r
`);if(v===-1){$4("have not received end of HTTP headers yet..."),n();return}let D=w.slice(0,v).toString("ascii").split(`\r
`),I=D.shift();if(!I)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let R=I.split(" "),N=+R[1],U=R.slice(2).join(" "),V={};for(let ee of D){if(!ee)continue;let te=ee.indexOf(":");if(te===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${ee}"`));let ie=ee.slice(0,te).toLowerCase(),ae=ee.slice(te+1).trimStart(),ge=V[ie];typeof ge=="string"?V[ie]=[ge,ae]:Array.isArray(ge)?ge.push(ae):V[ie]=ae}$4("got proxy server response: %o %o",I,V),l(),e({connect:{statusCode:N,statusText:U,headers:V},buffered:w})}t.on("error",h),t.on("end",f),n()})}fB.parseProxyResponse=a_t});var w_e=H(ju=>{"use strict";var c_t=ju&&ju.__createBinding||(Object.create?function(t,e,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,a)}:function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]}),l_t=ju&&ju.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),E_e=ju&&ju.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&c_t(e,t,r);return l_t(e,t),e},I_e=ju&&ju.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ju,"__esModule",{value:!0});ju.HttpsProxyAgent=void 0;var eU=E_e(Ae("net")),g_e=E_e(Ae("tls")),u_t=I_e(Ae("assert")),f_t=I_e($E()),h_t=Ok(),A_t=Ae("url"),p_t=d_e(),Lk=(0,f_t.default)("https-proxy-agent"),m_e=t=>t.servername===void 0&&t.host&&!eU.isIP(t.host)?{...t,servername:t.host}:t,tU=class extends h_t.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new A_t.URL(e):e,this.proxyHeaders=r?.headers??{},Lk("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let s=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),a=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?y_e(r,"headers"):null,host:s,port:a}}async connect(e,r){let{proxy:s}=this;if(!r.host)throw new TypeError('No "host" provided');let a;s.protocol==="https:"?(Lk("Creating `tls.Socket`: %o",this.connectOpts),a=g_e.connect(m_e(this.connectOpts))):(Lk("Creating `net.Socket`: %o",this.connectOpts),a=eU.connect(this.connectOpts));let n=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},l=eU.isIPv6(r.host)?`[${r.host}]`:r.host,f=`CONNECT ${l}:${r.port} HTTP/1.1\r
`;if(s.username||s.password){let v=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;n["Proxy-Authorization"]=`Basic ${Buffer.from(v).toString("base64")}`}n.Host=`${l}:${r.port}`,n["Proxy-Connection"]||(n["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let v of Object.keys(n))f+=`${v}: ${n[v]}\r
`;let h=(0,p_t.parseProxyResponse)(a);a.write(`${f}\r
`);let{connect:A,buffered:m}=await h;if(e.emit("proxyConnect",A),this.emit("proxyConnect",A,e),A.statusCode===200)return e.once("socket",d_t),r.secureEndpoint?(Lk("Upgrading socket connection to TLS"),g_e.connect({...y_e(m_e(r),"host","path","port"),socket:a})):a;a.destroy();let w=new eU.Socket({writable:!1});return w.readable=!0,e.once("socket",v=>{Lk("Replaying proxy buffer for failed request"),(0,u_t.default)(v.listenerCount("data")>0),v.push(m),v.push(null)}),w}};tU.protocols=["http","https"];ju.HttpsProxyAgent=tU;function d_t(t){t.resume()}function y_e(t,...e){let r={},s;for(s in t)e.includes(s)||(r[s]=t[s]);return r}});var S_e=H(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var C_e=Ae("buffer"),eI={INVALID_ENCODING:"Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.",INVALID_SMARTBUFFER_SIZE:"Invalid size provided. Size must be a valid integer greater than zero.",INVALID_SMARTBUFFER_BUFFER:"Invalid Buffer provided in SmartBufferOptions.",INVALID_SMARTBUFFER_OBJECT:"Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.",INVALID_OFFSET:"An invalid offset value was provided.",INVALID_OFFSET_NON_NUMBER:"An invalid offset value was provided. A numeric value is required.",INVALID_LENGTH:"An invalid length value was provided.",INVALID_LENGTH_NON_NUMBER:"An invalid length value was provived. A numeric value is required.",INVALID_TARGET_OFFSET:"Target offset is beyond the bounds of the internal SmartBuffer data.",INVALID_TARGET_LENGTH:"Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.",INVALID_READ_BEYOND_BOUNDS:"Attempted to read beyond the bounds of the managed data.",INVALID_WRITE_BEYOND_BOUNDS:"Attempted to write beyond the bounds of the managed data."};Nd.ERRORS=eI;function g_t(t){if(!C_e.Buffer.isEncoding(t))throw new Error(eI.INVALID_ENCODING)}Nd.checkEncoding=g_t;function B_e(t){return typeof t=="number"&&isFinite(t)&&I_t(t)}Nd.isFiniteInteger=B_e;function v_e(t,e){if(typeof t=="number"){if(!B_e(t)||t<0)throw new Error(e?eI.INVALID_OFFSET:eI.INVALID_LENGTH)}else throw new Error(e?eI.INVALID_OFFSET_NON_NUMBER:eI.INVALID_LENGTH_NON_NUMBER)}function m_t(t){v_e(t,!1)}Nd.checkLengthValue=m_t;function y_t(t){v_e(t,!0)}Nd.checkOffsetValue=y_t;function E_t(t,e){if(t<0||t>e.length)throw new Error(eI.INVALID_TARGET_OFFSET)}Nd.checkTargetOffset=E_t;function I_t(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t}function w_t(t){if(typeof BigInt>"u")throw new Error("Platform does not support JS BigInt type.");if(typeof C_e.Buffer.prototype[t]>"u")throw new Error(`Platform does not support Buffer.prototype.${t}.`)}Nd.bigIntAndBufferInt64Check=w_t});var D_e=H(xte=>{"use strict";Object.defineProperty(xte,"__esModule",{value:!0});var bn=S_e(),b_e=4096,C_t="utf8",Pte=class t{constructor(e){if(this.length=0,this._encoding=C_t,this._writeOffset=0,this._readOffset=0,t.isSmartBufferOptions(e))if(e.encoding&&(bn.checkEncoding(e.encoding),this._encoding=e.encoding),e.size)if(bn.isFiniteInteger(e.size)&&e.size>0)this._buff=Buffer.allocUnsafe(e.size);else throw new Error(bn.ERRORS.INVALID_SMARTBUFFER_SIZE);else if(e.buff)if(Buffer.isBuffer(e.buff))this._buff=e.buff,this.length=e.buff.length;else throw new Error(bn.ERRORS.INVALID_SMARTBUFFER_BUFFER);else this._buff=Buffer.allocUnsafe(b_e);else{if(typeof e<"u")throw new Error(bn.ERRORS.INVALID_SMARTBUFFER_OBJECT);this._buff=Buffer.allocUnsafe(b_e)}}static fromSize(e,r){return new this({size:e,encoding:r})}static fromBuffer(e,r){return new this({buff:e,encoding:r})}static fromOptions(e){return new this(e)}static isSmartBufferOptions(e){let r=e;return r&&(r.encoding!==void 0||r.size!==void 0||r.buff!==void 0)}readInt8(e){return this._readNumberValue(Buffer.prototype.readInt8,1,e)}readInt16BE(e){return this._readNumberValue(Buffer.prototype.readInt16BE,2,e)}readInt16LE(e){return this._readNumberValue(Buffer.prototype.readInt16LE,2,e)}readInt32BE(e){return this._readNumberValue(Buffer.prototype.readInt32BE,4,e)}readInt32LE(e){return this._readNumberValue(Buffer.prototype.readInt32LE,4,e)}readBigInt64BE(e){return bn.bigIntAndBufferInt64Check("readBigInt64BE"),this._readNumberValue(Buffer.prototype.readBigInt64BE,8,e)}readBigInt64LE(e){return bn.bigIntAndBufferInt64Check("readBigInt64LE"),this._readNumberValue(Buffer.prototype.readBigInt64LE,8,e)}writeInt8(e,r){return this._writeNumberValue(Buffer.prototype.writeInt8,1,e,r),this}insertInt8(e,r){return this._insertNumberValue(Buffer.prototype.writeInt8,1,e,r)}writeInt16BE(e,r){return this._writeNumberValue(Buffer.prototype.writeInt16BE,2,e,r)}insertInt16BE(e,r){return this._insertNumberValue(Buffer.prototype.writeInt16BE,2,e,r)}writeInt16LE(e,r){return this._writeNumberValue(Buffer.prototype.writeInt16LE,2,e,r)}insertInt16LE(e,r){return this._insertNumberValue(Buffer.prototype.writeInt16LE,2,e,r)}writeInt32BE(e,r){return this._writeNumberValue(Buffer.prototype.writeInt32BE,4,e,r)}insert Line truncated
`,lHt=/\u2014 (\S+) (\S+)\n/g;function uHt(t,e){let r=t.inclusionProof,s=$ne.fromString(r.checkpoint.envelope),a=C8.fromString(s.note);if(!fHt(s,e))throw new lR.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return a}function fHt(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(s=>{let a=e.find(n=>CUe.crypto.bufferEqual(n.logID.subarray(0,4),s.keyHint)&&n.baseURL.match(s.name));return a?CUe.crypto.verify(r,a.publicKey,s.signature):!1})}var $ne=class t{note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(Xne))throw new lR.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(Xne),s=e.slice(0,r+1),n=e.slice(r+Xne.length).matchAll(lHt),l=Array.from(n,f=>{let[,h,A]=f,m=Buffer.from(A,"base64");if(m.length<5)throw new lR.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:h,keyHint:m.subarray(0,4),signature:m.subarray(4)}});if(l.length===0)throw new lR.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(s,l)}},C8=class t{origin;logSize;logHash;rest;constructor(e,r,s,a){this.origin=e,this.logSize=r,this.logHash=s,this.rest=a}static fromString(e){let r=e.trimEnd().split(`
`);if(r.length<3)throw new lR.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let s=r[0],a=BigInt(r[1]),n=Buffer.from(r[2],"base64"),l=r.slice(3);return new t(s,a,n,l)}};uR.LogCheckpoint=C8});var vUe=H(nie=>{"use strict";Object.defineProperty(nie,"__esModule",{value:!0});nie.verifyMerkleInclusion=pHt;var rie=tl(),eie=Na(),hHt=Buffer.from([0]),AHt=Buffer.from([1]);function pHt(t,e){let r=t.inclusionProof,s=BigInt(r.logIndex),a=BigInt(e.logSize);if(s<0n||s>=a)throw new eie.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${s}`});let{inner:n,border:l}=dHt(s,a);if(r.hashes.length!==n+l)throw new eie.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let f=r.hashes.slice(0,n),h=r.hashes.slice(n),A=wHt(t.canonicalizedBody),m=mHt(gHt(A,f,s),h);if(!rie.crypto.bufferEqual(m,e.logHash))throw new eie.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}function dHt(t,e){let r=yHt(t,e),s=EHt(t>>BigInt(r));return{inner:r,border:s}}function gHt(t,e,r){return e.reduce((s,a,n)=>r>>BigInt(n)&BigInt(1)?tie(a,s):tie(s,a),t)}function mHt(t,e){return e.reduce((r,s)=>tie(s,r),t)}function yHt(t,e){return IHt(t^e-BigInt(1))}function EHt(t){return t.toString(2).split("1").length-1}function IHt(t){return t===0n?0:t.toString(2).length}function tie(t,e){return rie.crypto.digest("sha256",AHt,t,e)}function wHt(t){return rie.crypto.digest("sha256",hHt,t)}});var bUe=H(iie=>{"use strict";Object.defineProperty(iie,"__esModule",{value:!0});iie.verifyTLogSET=vHt;var SUe=tl(),CHt=Na(),BHt=MB();function vHt(t,e){if(!(0,BHt.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(a=>{let n=SHt(t),l=Buffer.from(SUe.json.canonicalize(n),"utf8"),f=t.inclusionPromise.signedEntryTimestamp;return SUe.crypto.verify(l,a.publicKey,f)}))throw new CHt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}function SHt(t){let{integratedTime:e,logIndex:r,logId:s,canonicalizedBody:a}=t;return{body:a.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:s.keyId.toString("hex")}}});var PUe=H(B8=>{"use strict";Object.defineProperty(B8,"__esModule",{value:!0});B8.verifyTLogBody=kHt;B8.verifyTLogInclusion=RHt;var DUe=Ere(),aie=Na(),sie=EUe(),oie=IUe(),bHt=wUe(),DHt=BUe(),PHt=vUe(),xHt=bUe();function kHt(t,e){let{kind:r,version:s}=t.kindVersion,a=JSON.parse(t.canonicalizedBody.toString("utf8"));if(r!==a.kind||s!==a.apiVersion)throw new aie.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${s}, received: ${a.kind}/${a.apiVersion}`});switch(r){case"dsse":if(s==sie.DSSE_API_VERSION_V1)return(0,sie.verifyDSSETLogBody)(a,e);{let n=DUe.Entry.fromJSON(a);return(0,sie.verifyDSSETLogBodyV2)(n,e)}case"intoto":return(0,bHt.verifyIntotoTLogBody)(a,e);case"hashedrekord":if(s==oie.HASHEDREKORD_API_VERSION_V1)return(0,oie.verifyHashedRekordTLogBody)(a,e);{let n=DUe.Entry.fromJSON(a);return(0,oie.verifyHashedRekordTLogBodyV2)(n,e)}default:throw new aie.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}function RHt(t,e){let r=!1;if(THt(t)&&((0,xHt.verifyTLogSET)(t,e),r=!0),QHt(t)){let s=(0,DHt.verifyCheckpoint)(t,e);(0,PHt.verifyMerkleInclusion)(t,s),r=!0}if(!r)throw new aie.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}function THt(t){return t.inclusionPromise!==void 0}function QHt(t){return t.inclusionProof!==void 0}});var QUe=H(v8=>{"use strict";Object.defineProperty(v8,"__esModule",{value:!0});v8.Verifier=void 0;var FHt=Ae("util"),UB=Na(),xUe=pUe(),cie=dUe(),kUe=yUe(),RUe=PUe(),lie=class{trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let s=this.verifyTimestamps(e),a=this.verifySigningKey(e,s);return this.verifyTLogs(e),this.verifySignature(e,a),r&&this.verifyPolicy(r,a.identity||{}),a}verifyTimestamps(e){let r=[];for(let s of e.timestamps)switch(s.$case){case"timestamp-authority":r.push((0,kUe.getTSATimestamp)(s.timestamp,e.signature.signature,this.trustMaterial.timestampAuthorities));break;case"transparency-log":{let a=(0,kUe.getTLogTimestamp)(s.tlogEntry);a&&r.push(a);break}}if(TUe(r))throw new UB.VerificationError({code:"TIMESTAMP_ERROR",message:"duplicate timestamp"});if(r.length<this.options.timestampThreshold)throw new UB.VerificationError({code:"TIMESTAMP_ERROR",message:`expected ${this.options.timestampThreshold} timestamps, got ${r.length}`});return r.map(s=>s.timestamp)}verifySigningKey({key:e},r){switch(e.$case){case"public-key":return(0,xUe.verifyPublicKey)(e.hint,r,this.trustMaterial);case"certificate":{let s=(0,xUe.verifyCertificate)(e.certificate,r,this.trustMaterial);if(TUe(s Line truncated
Try running the command again with the package name prefixed: ${pe.pretty(r,"yarn add",pe.Type.CODE)} ${pe.pretty(r,G.makeDescriptor(G.makeIdent(null,"my-package"),`${te[0]}...`),pe.Type.DESCRIPTOR)}`);if(!ee)throw new ht(`The ${pe.pretty(r,V,pe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let ie=omt(a,ee,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(ie.map(async ge=>{let de=await ED(ee,{project:s,workspace:a,cache:n,fixed:l,target:ge,modifier:A,strategies:m,maxResults:w});return{request:ee,suggestedDescriptors:de,target:ge}}))})).then(V=>V.flat()),I=await tA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async V=>{for(let{request:ee,suggestedDescriptors:{suggestions:te,rejections:ie}}of D)if(te.filter(ge=>ge.descriptor!==null).length===0){let[ge]=ie;if(typeof ge>"u")throw new Error("Assertion failed: Expected an error to have been set");s.configuration.get("enableNetwork")?V.reportError(27,`${G.prettyDescriptor(r,ee)} can't be resolved to a satisfying range`):V.reportError(27,`${G.prettyDescriptor(r,ee)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),V.reportSeparator(),V.reportExceptionOnce(ge)}});if(I.hasErrors())return I.exitCode();let R=!1,N=[],U=[];for(let{suggestedDescriptors:{suggestions:V},target:ee}of D){let te,ie=V.filter(xe=>xe.descriptor!==null),ae=ie[0].descriptor,ge=ie.every(xe=>G.areDescriptorsEqual(xe.descriptor,ae));ie.length===1||ge?te=ae:(R=!0,{answer:te}=await(0,f2e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:V.map(({descriptor:xe,name:we,reason:d})=>xe?{name:we,hint:d,descriptor:xe}:{name:we,hint:d,disabled:!0}),onCancel:()=>process.exit(130),result(xe){return this.find(xe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let de=a.manifest[ee].get(te.identHash);(typeof de>"u"||de.descriptorHash!==te.descriptorHash)&&(a.manifest[ee].set(te.identHash,te),this.optional&&(ee==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:ee==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof de>"u"?N.push([a,ee,te,m]):U.push([a,ee,de,te]))}return await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyAddition,N),await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyReplacement,U),R&&this.context.stdout.write(`
`),await s.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};function omt(t,e,{dev:r,peer:s,preferDev:a,optional:n}){let l=t.manifest.dependencies.has(e.identHash),f=t.manifest.devDependencies.has(e.identHash),h=t.manifest.peerDependencies.has(e.identHash);if((r||s)&&l)throw new ht(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!s&&h)throw new ht(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&f)throw new ht(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!s&&h)throw new ht(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new ht(`Package "${G.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let A=[];return s&&A.push("peerDependencies"),(r||a)&&A.push("devDependencies"),n&&A.push("dependencies"),A.length>0?A:f?["devDependencies"]:h?["peerDependencies"]:["dependencies"]}We();We();sr();var MC=class extends mt{constructor(){super(...arguments);this.verbose=ye.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ye.String({required:!1})}static{this.paths=[["bin"]]}static{this.usage=At.Usage({description:"get the path to a binary script",details:`
When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.
When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.
`,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Yt.find(r,this.context.cwd);if(await s.restoreInstallState(),this.name){let f=(await qn.getPackageAccessibleBinaries(a,{project:s})).get(this.name);if(!f)throw new ht(`Couldn't find a binary named "${this.name}" for package "${G.prettyLocator(r,a)}"`);let[,h]=f;return this.context.stdout.write(`${h}
`),0}return(await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout},async l=>{let f=await qn.getPackageAccessibleBinaries(a,{project:s}),A=Array.from(f.keys()).reduce((m,w)=>Math.max(m,w.length),0);for(let[m,[w,v]]of f)l.reportJson({name:m,source:G.stringifyIdent(w),path:v});if(this.verbose)for(let[m,[w]]of f)l.reportInfo(null,`${m.padEnd(A," ")} ${G.prettyLocator(r,w)}`);else for(let m of f.keys())l.reportInfo(null,m)})).exitCode()}};We();Mt();sr();var UC=class extends mt{constructor(){super(...arguments);this.mirror=ye.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ye.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}static{this.paths=[["cache","clean"],["cache","clear"]]}static{this.usage=At.Usage({description:"remove the shared cache files",details:`
This command will remove all the files from the cache.
`,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins);if(!r.get("enableCacheClean"))throw new ht("Cache cleaning is currently disabled. To enable it, set `enableCacheClean: true` in your configuration file. Note: Cache cleaning is typically not required and should be avoided when using Zero-Installs.");let s=await gn.find(r);return(await Wt.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&s.mirrorCwd!==null,l=!this.mirror;n&&(await fe.removePromise(s.mirrorCwd),await r.triggerHook(f=>f.cleanGlobalArtifacts,r)),l&&await fe.removePromise(s.cwd)})).exitCode()}};We();sr();xl();var OW=Ae("util"),HC=class extends mt{constructor(){super(...arguments);this.why=ye.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ye.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ye.String()}static{this.paths=[["config","get"]]}static{this.usage=At.Usage({description:"read a configuration settings",details:`
This command will print a configuration setting.
Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value.
`,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(s)>"u")throw new ht(`Couldn't find a configuration settings named "${s}"`);let l=r.getSpecial(s,{hideSecrets:!this.unsafe,getNativePaths:!0}),f=Ye.convertMapsToIndexableObjects(l),h=a?rc(f,a):f,A=await Wt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async m=>{m.reportJson(h)});if(!this.json){if(typeof h=="string")return this.context.stdout.write(`${h}
`),A.exitCode();OW.inspect.styles.name="cyan",this.context.stdout.write(`${(0,OW.inspect)(h,{depth:1/0,colors:r.get("enableColors"),compact:!1})}
`)}return A.exitCode()}};We();sr();xl();var LW=Ae("util"),jC=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ye.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ye.String();this.value=ye.String()}static{this.paths=[["config","set"]]}static{this.usage=At.Usage({description:"change a configuration settings",details:`
This command will set a configuration setting.
When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).
When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.
`,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new ht("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ht(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new ht("This setting only affects the file it's in, and thus cannot be set from the CLI");let f=this.json?JSON.parse(this.value):this.value;await(this.home?I=>$e.updateHomeConfiguration(I):I=>$e.updateConfiguration(s(),I))(I=>{if(n){let R=F0(I);return Ey(R,this.name,f),R}else return{...I,[a]:f}});let m=(await $e.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=Ye.convertMapsToIndexableObjects(m),v=n?rc(w,n):w;return(await Wt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async I=>{LW.inspect.styles.name="cyan",I.reportInfo(0,`Successfully set ${this.name} to ${(0,LW.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};We();sr();xl();var GC=class extends mt{constructor(){super(...arguments);this.home=ye.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ye.String()}static{this.paths=[["config","unset"]]}static{this.usage=At.Usage({description:"unset a configuration setting",details:`
This command will unset a configuration setting.
`,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new ht("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ht(`Couldn't find a configuration settings named "${a}"`);let f=this.home?A=>$e.updateHomeConfiguration(A):A=>$e.updateConfiguration(s(),A);return(await Wt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async A=>{let m=!1;await f(w=>{if(!_S(w,this.name))return A.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),m=!0,w;let v=n?F0(w):{...w};return N0(v,this.name),v}),m||A.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};We();Mt();sr();var WO=Ae("util"),qC=class extends mt{constructor(){super(...arguments);this.noDefaults=ye.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ye.Boolean("-v,--verbose",{hidden:!0});this.why=ye.Boolean("--why",{hidden:!0});this.names=ye.Rest()}static{this.paths=[["config"]]}static{this.usage=At.Usage({description:"display the current configuration",details:`
This command prints the current active configuration settings.
`,examples:[["Print the active configuration settings","$0 config"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins,{strict:!1}),s=await dC({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(s!==null)return s;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,l=await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{if(r.invalid.size>0&&!this.json){for(let[h,A]of r.invalid)f.reportError(34,`Invalid configuration key "${h}" in ${A}`);f.reportSeparator()}if(this.json)for(let h of a){if(this.noDefaults&&!r.sources.has(h))continue;let A=r.settings.get(h);typeof A>"u"&&f.reportError(34,`No configuration key named "${h}"`);let m=r.getSpecial(h,{hideSecrets:!0,getNativePaths:!0}),w=r.sources.get(h)??"<default>",v=w&&w[0]!=="<"?me.fromPortablePath(w):w;f.reportJson({key:h,effective:m,source:v,...A})}else{let h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},A={},m={children:A};for(let w of a){if(this.noDefaults&&!r.sources.has(w))continue;let v=r.settings.get(w),D=r.sources.get(w)??"<default>",I=r.getSpecial(w,{hideSecrets:!0,getNativePaths:!0}),R={Description:{label:"Description",value:pe.tuple(pe.Type.MARKDOWN,{text:v.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:pe.tuple(D[0]==="<"?pe.Type.CODE:pe.Type.PATH,D)}};A[w]={value:pe.tuple(pe.Type.CODE,w),children:R};let N=(U,V)=>{for(let[ee,te]of V)if(te instanceof Map){let ie={};U[ee]={children:ie},N(ie,te)}else U[ee]={label:ee,value:pe.tuple(pe.Type.NO_HINT,(0,WO.inspect)(te,h))}};I instanceof Map?N(R,I):R.Value={label:"Value",value:pe.tuple(pe.Type.NO_HINT,(0,WO.inspect)(I,h))}}a.length!==1&&(n=void 0),bs.emitTree(m,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let f=a[0],h=(0,WO.inspect)(r.getSpecial(f,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(`
`),this.context.stdout.write(`${h}
`)}return l.exitCode()}};We();sr();ga();var YO={};lr(YO,{Strategy:()=>ID,acceptedStrategies:()=>amt,dedupe:()=>_W});We();We();var h2e=st(ma()),ID=(e=>(e.HIGHEST="highest",e))(ID||{}),amt=new Set(Object.values(ID)),cmt={highest:async(t,e,{resolver:r,fetcher:s,resolveOptions:a,fetchOptions:n})=>{let l=new Map;for(let[h,A]of t.storedResolutions){let m=t.storedDescriptors.get(h);if(typeof m>"u")throw new Error(`Assertion failed: The descriptor (${h}) should have been registered`);Ye.getSetWithDefault(l,m.identHash).add(A)}let f=new Map(Ye.mapAndFilter(t.storedDescriptors.values(),h=>G.isVirtualDescriptor(h)?Ye.mapAndFilter.skip:[h.descriptorHash,Ye.makeDeferred()]));for(let h of t.storedDescriptors.values()){let A=f.get(h.descriptorHash);if(typeof A>"u")throw new Error(`Assertion failed: The descriptor (${h.descriptorHash}) should have been registered`);let m=t.storedResolutions.get(h.descriptorHash);if(typeof m>"u")throw new Error(`Assertion failed: The resolution (${h.descriptorHash}) should have been registered`);let w=t.originalPackages.get(m);if(typeof w>"u")throw new Error(`Assertion failed: The package (${m}) should have been registered`);Promise.resolve().then(async()=>{let v=r.getResolutionDependencies(h,a),D=Object.fromEntries(await Ye.allSettledSafe(Object.entries(v).map(async([ee,te])=>{let ie=f.get(te.descriptorHash);if(typeof ie>"u")throw new Error(`Assertion failed: The descriptor (${te.descriptorHash}) should have been registered`);let ae=await ie.promise;if(!ae)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[ee,ae.updatedPackage]})));if(e.length&&!h2e.default.isMatch(G.stringifyIdent(h),e)||!r.shouldPersistResolution(w,a))return w;let I=l.get(h.identHash);if(typeof I>"u")throw new Error(`Assertion failed: The resolutions (${h.identHash}) should have been registered`);if(I.size===1)return w;let R=[...I].map(ee=>{let te=t.originalPackages.get(ee);if(typeof te>"u")throw new Error(`Assertion failed: The package (${ee}) should have been registered`);return te}),N=await r.getSatisfying(h,D,R,a),U=N.locators?.[0];if(typeof U>"u"||!N.sorted)return w;let V=t.originalPackages.get(U.locatorHash);if(typeof V>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return V}).then(async v=>{let D=await t.preparePackage(v,{resolver:r,resolveOptions:a});A.resolve({descriptor:h,currentPackage:w,updatedPackage:v,resolvedPackage:D})}).catch(v=>{A.reject(v)})}return[...f.values()].map(h=>h.promise)}};async function _W(t,{strategy:e,patterns:r,cache:s,report:a}){let{configuration:n}=t,l=new rs,f=n.makeResolver(),h=n.makeFetcher(),A={cache:s,checksums:t.storedChecksums,fetcher:h,project:t,report:l,cacheOptions:{skipIntegrityCheck:!0}},m={project:t,resolver:f,report:l,fetchOptions:A};return await a.startTimerPromise("Deduplication step",async()=>{let w=cmt[e],v=await w(t,r,{resolver:f,resolveOptions:m,fetcher:h,fetchOptions:A}),D=jo.progressViaCounter(v.length);await a.reportProgress(D);let I=0;await Promise.all(v.map(U=>U.then(V=>{if(V===null||V.currentPackage.locatorHash===V.updatedPackage.locatorHash)return;I++;let{descriptor:ee,currentPackage:te,updatedPackage:ie}=V;a.reportInfo(0,`${G.prettyDescriptor(n,ee)} can be deduped from ${G.prettyLocator(n,te)} to ${G.prettyLocator(n,ie)}`),a.reportJson({descriptor:G.stringifyDescriptor(ee),currentResolution:G.stringifyLocator(te),updatedResolution:G.stringifyLocator(ie)}),t.storedResolutions.set(ee.descriptorHash,ie.locatorHash)}).finally(()=>D.tick())));let R;switch(I){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${I} packages`}let N=pe.pretty(n,e,pe.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${N} strategy`),I})}var VC=class extends mt{constructor(){super(...arguments);this.strategy=ye.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:$s(ID)});this.check=ye.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ye.String("--mode",{description:"Change what artifacts installs generate",validator:$s(uc)});this.patterns=ye.Rest()}static{this.paths=[["dedupe"]]}static{this.usage=At.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never dow Line truncated
`)}};var YC=class extends mt{static{this.paths=[["help"],["--help"],["-h"]]}async execute(){this.context.stdout.write(this.cli.usage(null))}};We();Mt();sr();var KC=class extends mt{constructor(){super(...arguments);this.leadingArgument=ye.String();this.args=ye.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!G.tryParseIdent(this.leadingArgument)){let r=Y.resolve(this.context.cwd,me.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};We();var zC=class extends mt{static{this.paths=[["-v"],["--version"]]}async execute(){this.context.stdout.write(`${Fn||"<unknown>"}
`)}};We();We();sr();var JC=class extends mt{constructor(){super(...arguments);this.commandName=ye.String();this.args=ye.Proxy()}static{this.paths=[["exec"]]}static{this.usage=At.Usage({description:"execute a shell script",details:`
This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.
It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
`,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Yt.find(r,this.context.cwd);return await s.restoreInstallState(),await qn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:s})}};We();sr();ga();var ZC=class extends mt{constructor(){super(...arguments);this.hash=ye.String({required:!1,validator:P0(_h(),[xp(/^p[0-9a-f]{6}$/)])})}static{this.paths=[["explain","peer-requirements"]]}static{this.usage=At.Usage({description:"explain a set of peer requirements",details:`
A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters.
When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not.
When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement.
**Note:** A hash is a seven-letter code consisting of the letter 'p' followed by six characters that can be obtained from peer dependency warnings or from the list of all peer requirements(\`yarn explain peer-requirements\`).
`,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s}=await Yt.find(r,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),await s.applyLightResolution(),typeof this.hash<"u"?await umt(this.hash,s,{stdout:this.context.stdout}):await fmt(s,{stdout:this.context.stdout})}};async function umt(t,e,r){let s=e.peerRequirementNodes.get(t);if(typeof s>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=h=>a.has(h.requester.locatorHash)?{value:pe.tuple(pe.Type.DEPENDENT,{locator:h.requester,descriptor:h.descriptor}),children:h.children.size>0?[{value:pe.tuple(pe.Type.NO_HINT,"...")}]:[]}:(a.add(h.requester.locatorHash),{value:pe.tuple(pe.Type.DEPENDENT,{locator:h.requester,descriptor:h.descriptor}),children:Object.fromEntries(Array.from(h.children.values(),A=>[G.stringifyLocator(A.requester),n(A)]))}),l=e.peerWarnings.find(h=>h.hash===t);return(await Wt.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async h=>{let A=pe.mark(e.configuration),m=l?A.Cross:A.Check;if(h.reportInfo(0,`Package ${pe.pretty(e.configuration,s.subject,pe.Type.LOCATOR)} is requested to provide ${pe.pretty(e.configuration,s.ident,pe.Type.IDENT)} by its descendants`),h.reportSeparator(),h.reportInfo(0,pe.pretty(e.configuration,s.subject,pe.Type.LOCATOR)),bs.emitTree({children:Object.fromEntries(Array.from(s.requests.values(),w=>[G.stringifyLocator(w.requester),n(w)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),h.reportSeparator(),s.provided.range==="missing:"){let w=l?"":" , but all peer requests are optional";h.reportInfo(0,`${m} Package ${pe.pretty(e.configuration,s.subject,pe.Type.LOCATOR)} does not provide ${pe.pretty(e.configuration,s.ident,pe.Type.IDENT)}${w}.`)}else{let w=e.storedResolutions.get(s.provided.descriptorHash);if(!w)throw new Error("Assertion failed: Expected the descriptor to be registered");let v=e.storedPackages.get(w);if(!v)throw new Error("Assertion failed: Expected the package to be registered");h.reportInfo(0,`${m} Package ${pe.pretty(e.configuration,s.subject,pe.Type.LOCATOR)} provides ${pe.pretty(e.configuration,s.ident,pe.Type.IDENT)} with version ${G.prettyReference(e.configuration,v.version??"0.0.0")}, ${l?"which does not satisfy all requests.":"which satisfies all requests"}`),l?.type===3&&(l.range?h.reportInfo(0,` The combined requested range is ${pe.pretty(e.configuration,l.range,pe.Type.RANGE)}`):h.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function fmt(t,e){return(await Wt.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async s=>{let a=pe.mark(t.configuration),n=Ye.sortMap(t.peerRequirementNodes,[([,l])=>G.stringifyLocator(l.subject),([,l])=>G.stringifyIdent(l.ident)]);for(let[,l]of n.values()){if(!l.root)continue;let f=t.peerWarnings.find(m=>m.hash===l.hash),h=[...G.allPeerRequests(l)],A;if(h.length>2?A=` and ${h.length-1} other dependencies`:h.length===2?A=" and 1 other dependency":A="",l.provided.range!=="missing:"){let m=t.storedResolutions.get(l.provided.descriptorHash);if(!m)throw new Error("Assertion failed: Expected the resolution to have been registered");let w=t.storedPackages.get(m);if(!w)throw new Error("Assertion failed: Expected the provided package to have been registered");let v=`${pe.pretty(t.configuration,l.hash,pe.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${G.prettyLocator(t.configuration,l.subject)} provides ${G.prettyLocator(t.configuration,w)} to ${G.prettyLocator(t.configuration,h[0].requester)}${A}`;f?s.reportWarning(0,v):s.reportInfo(0,v)}else{let m=`${pe.pretty(t.configuration,l.hash,pe.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${G.prettyLocator(t.configuration,l.subject)} doesn't provide ${G.prettyIdent(t.configuration,l.ident)} to ${G.prettyLocator(t.configuration,h[0].requester)}${A}`;f?s.reportWarning(0,m):s.reportInfo(0,m)}}})).exitCode()}We();sr();ga();We();We();Mt();sr();var p2e=st(Di()),XC=class extends mt{constructor(){super(...arguments);this.useYarnPath=ye.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ye.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ye.String()}static{this.paths=[["set","version"]]}static{this.usage=At.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set th Line truncated
${e}`)})}let f=t.projectCwd??t.startingCwd,h=Y.resolve(f,".yarn/releases"),A=Y.resolve(h,`yarn-${e}.cjs`),m=Y.relative(t.startingCwd,A),w=Ye.isTaggedYarnVersion(e),v=t.get("yarnPath"),D=!w,I=D||!!v||!!a;if(a===!1){if(D)throw new Zt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");I=!1}else!I&&!process.env.COREPACK_ROOT&&(s.reportWarning(0,`You don't seem to have ${pe.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${pe.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),I=!0);if(I){let ee=await l();s.reportInfo(0,`Saving the new release in ${pe.pretty(t,m,"magenta")}`),await fe.removePromise(Y.dirname(A)),await fe.mkdirPromise(Y.dirname(A),{recursive:!0}),await fe.writeFilePromise(A,ee,{mode:493}),await $e.updateConfiguration(f,{yarnPath:Y.relative(f,A)})}else await fe.removePromise(Y.dirname(A)),await $e.updateConfiguration(f,{yarnPath:$e.deleteProperty});let R=await nr.tryFind(f)||new nr;R.packageManager=`yarn@${w?e:await wD(t,"stable")}`;let N={};R.exportTo(N);let U=Y.join(f,nr.fileName),V=`${JSON.stringify(N,null,R.indent)}
`;return await fe.changeFilePromise(U,V,{automaticNewlines:!0}),{bundleVersion:e}}function d2e(t){return Tr[KT(t)]}var Amt=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function pmt(t){let r=`https://repo.yarnpkg.com/${Ye.isTaggedYarnVersion(Fn)?Fn:await wD(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,s=await Sn.get(r,{configuration:t});return new Map(Array.from(s.toString().matchAll(Amt),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=d2e(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var $C=class extends mt{constructor(){super(...arguments);this.code=ye.String({required:!1,validator:gS(_h(),[xp(/^YN[0-9]{4}$/)])});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["explain"]]}static{this.usage=At.Usage({description:"explain an error code",details:`
When the code argument is specified, this command prints its name and its details.
When used without arguments, this command lists all error codes and their names.
`,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let s=d2e(this.code),a=pe.pretty(r,s,pe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),f=(await pmt(r)).get(this.code),h=typeof f<"u"?pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.MARKDOWN,{text:f,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.
You can help us by editing this page on GitHub \u{1F642}:
${pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))}
`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:s,details:h})}
`):this.context.stdout.write(`${n}
${h}
`)}else{let s={children:Ye.mapAndFilter(Object.entries(Tr),([a,n])=>Number.isNaN(Number(a))?Ye.mapAndFilter.skip:{label:Mh(Number(a)),value:pe.tuple(pe.Type.CODE,n)})};bs.emitTree(s,{configuration:r,stdout:this.context.stdout,json:this.json})}}};We();Mt();sr();var g2e=st(ma()),e1=class extends mt{constructor(){super(...arguments);this.all=ye.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ye.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ye.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ye.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ye.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ye.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ye.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ye.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ye.Rest()}static{this.paths=[["info"]]}static{this.usage=At.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n=await gn.find(r);if(!a&&!this.all)throw new Dr(s.cwd,this.context.cwd);await s.restoreInstallState();let l=new Set(this.extra);this.cache&&l.add("cache"),this.dependents&&l.add("dependents"),this.manifest&&l.add("manifest");let f=(te,{recursive:ie})=>{let ae=te.anchoredLocator.locatorHash,ge=new Map,de=[ae];for(;de.length>0;){let xe=de.shift();if(ge.has(xe))continue;let we=s.storedPackages.get(xe);if(typeof we>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ge.set(xe,we),G.isVirtualLocator(we)&&de.push(G.devirtualizeLocator(we).locatorHash),!(!ie&&xe!==ae))for(let d of we.dependencies.values()){let be=s.storedResolutions.get(d.descriptorHash);if(typeof be>"u")throw new Error("Assertion failed: Expected the resolution to be registered");de.push(be)}}return ge.values()},h=({recursive:te})=>{let ie=new Map;for(let ae of s.workspaces)for(let ge of f(ae,{recursive:te}))ie.set(ge.locatorHash,ge);return ie.values()},A=({all:te,recursive:ie})=>te&&ie?s.storedPackages.values():te?h({recursive:ie}):f(a,{recursive:ie}),m=({all:te,recursive:ie})=>{let ae=A({all:te,recursive:ie}),ge=this.patterns.map(we=>{let d=G.parseLocator(we),be=g2e.default.makeRe(G.stringifyIdent(d)),Ce=G.isVirtualLocator(d),Ee=Ce?G.devirtualizeLocator(d):d;return he=>{let $=G.stringifyIdent(he);if(!be.test($))return!1;if(d.reference==="unknown")return!0;let De=G.isVirtualLocator(he),Te=De?G.devirtualizeLocator(he):he;return!(Ce&&De&&d.reference!==he.reference||Ee.reference!==Te.reference)}}),de=Ye.sortMap([...ae],we=>G.stringifyLocator(we));return{selection:de.filter(we=>ge.length===0||ge.some(d=>d(we))),sortedLookup:de}},{selection:w,sortedLookup:v}=m({all:this.all,recursive:this.recursive});if(w.length===0)throw new ht("No package matched your request");let D=new Map;if(this.dependents)for(let te of v)for(let ie of te.dependencies.values()){let ae=s.storedResolutions.get(ie.descriptorHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ye.getArrayWithDefault(D,ae).push(te)}let I=new Map;for(let te of v){if(!G.isVirtualLocator(te))continue;let ie=G.devirtualizeLocator(te);Ye.getArrayWithDefault(I,ie.locatorHash).push(te)}let R={},N={children:R},U=r.makeFetcher(),V={project:s,fetcher:U,cache:n,checksums:s.storedChecksum Line truncated
This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).
The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.
`,examples:[["Run a Node script","$0 node ./my-script.js"]]})}async execute(){return this.cli.run(["exec","node",...this.args])}};We();sr();var i1=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","check"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:`
Check only the plugins from https.
If this command detects any plugin differences in the CI environment, it will throw an error.
`,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=await $e.findRcFiles(this.context.cwd);return(await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let l of s)if(l.data?.plugins)for(let f of l.data.plugins){if(!f.checksum||!f.spec.match(/^https?:/))continue;let h=await Sn.get(f.spec,{configuration:r}),A=si.makeHash(h);if(f.checksum===A)continue;let m=pe.pretty(r,f.path,pe.Type.PATH),w=pe.pretty(r,f.spec,pe.Type.URL),v=`${m} is different from the file provided by ${w}`;n.reportJson({...f,newChecksum:A}),n.reportError(0,v)}})).exitCode()}};We();We();Mt();sr();var w2e=Ae("os");We();Mt();sr();var m2e=Ae("os");We();au();sr();var Emt="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function tE(t,e){let r=await Sn.get(Emt,{configuration:t}),s=Fs(r.toString());return Object.fromEntries(Object.entries(s).filter(([a,n])=>!e||zr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var s1=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","list"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins);return(await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await tE(r,Fn);for(let[l,{experimental:f,...h}]of Object.entries(n)){let A=l;f&&(A+=" [experimental]"),a.reportJson({name:l,experimental:f,...h}),a.reportInfo(null,A)}})).exitCode()}};var Imt=/^[0-9]+$/,wmt=process.platform==="win32";function y2e(t){return Imt.test(t)?`pull/${t}/head`:t}var Cmt=({repository:t,branch:e},r)=>[["git","init",me.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",y2e(e)],["git","reset","--hard","FETCH_HEAD"]],Bmt=({branch:t})=>[["git","fetch","origin","--depth=1",y2e(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],vmt=({plugins:t,noMinify:e},r,s)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",Y.resolve(s,a)])),...e?["--no-minify"]:[],"|"],[wmt?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",me.fromPortablePath(r),"|"]],o1=class extends mt{constructor(){super(...arguments);this.installPath=ye.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ye.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ye.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ye.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ye.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ye.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ye.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ye.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}static{this.paths=[["set","version","from","sources"]]}static{this.usage=At.Usage({description:"build Yarn from master",details:`
This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.
By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag.
`,examples:[["Build Yarn from master","$0 set version from sources"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s}=await Yt.find(r,this.context.cwd),a=typeof this.installPath<"u"?Y.resolve(this.context.cwd,me.toPortablePath(this.installPath)):Y.resolve(me.toPortablePath((0,m2e.tmpdir)()),"yarnpkg-sources",si.makeHash(this.repository).slice(0,6));return(await Wt.start({configuration:r,stdout:this.context.stdout},async l=>{await HW(this,{configuration:r,report:l,target:a}),l.reportSeparator(),l.reportInfo(0,"Building a fresh bundle"),l.reportSeparator();let f=await un.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),h=Y.join(a,`packages/yarnpkg-cli/bundles/yarn-${f.stdout.trim()}.js`);fe.existsSync(h)||(await CD(vmt(this,h,a),{configuration:r,context:this.context,target:a}),l.reportSeparator());let A=await fe.readFilePromise(h);if(!this.dryRun){let{bundleVersion:m}=await MW(r,null,async()=>A,{report:l});this.skipPlugins||await Smt(this,m,{project:s,report:l,target:a})}})).exitCode()}};async function CD(t,{configuration:e,context:r,target:s}){for(let[a,...n]of t){let l=n[n.length-1]==="|";if(l&&n.pop(),l)await un.pipevp(a,n,{cwd:s,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${pe.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")}
`);try{await un.execvp(a,n,{cwd:s,strict:!0})}catch(f){throw r.stdout.write(f.stdout||f.stack),f}}}}async function HW(t,{configuration:e,report:r,target:s}){let a=!1;if(!t.force&&fe.existsSync(Y.join(s,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await CD(Bmt(t),{configuration:e,context:t.context,target:s}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await fe.removePromise(s),await fe.mkdirPromise(s,{recursive:!0}),await CD(Cmt(t,s),{configuration:e,context:t.context,target:s}))}async function Smt(t,e,{project:r,report:s,target:a}){let n=await tE(r.configuration,e),l=new Set(Object.keys(n));for(let f of r.configuration.plugins.keys())l.has(f)&&await jW(f,t,{project:r,report:s,target:a})}We();We();Mt();sr();var E2e=st(Di()),I2e=Ae("vm");var a1=class extends mt{constructor(){super(...arguments);this.name=ye.String();this.checksum=ye.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}static{this.paths=[["plugin","import"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"download a plugin",details:`
This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.
Three types of plugin references are accepted:
- If the plugin is stored within the Yarn repository, it can be referenced by name.
- Third-party plugins can be referenced directly through their public urls.
- Local plugins can be referenced by their path on the disk.
If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified.
Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package).
`,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins);return(await Wt.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Yt.find(r,this.context.cwd),l,f;if(this.name.match(/^\.{0,2}[\\/]/)||me.isAbsolute(this.name)){let h=Y.resolve(this.context.cwd,me.toPortablePath(this.name));a.reportInfo(0,`Reading ${pe.pretty(r,h,pe.Type.PATH)}`),l=Y.relative(n.cwd,h),f=await fe.readFilePromise(h)}else{let h;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Zt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}l=this.name,h=this.name}else{let A=G.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(A.reference!=="unknown"&&!E2e.default.valid(A.reference))throw new Zt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let m=G.stringifyIdent(A),w=await tE(r,Fn);if(!Object.hasOwn(w,m)){let v=`Couldn't find a plugin named ${G.prettyIdent(r,A)} on the remote registry.
`;throw r.plugins.has(m)?v+=`A plugin named ${G.prettyIdent(r,A)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${pe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",pe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${pe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",pe.Type.URL)}).`,new Zt(51,v)}l=m,h=w[m].url,A.reference!=="unknown"?h=h.replace(/\/master\//,`/${m}/${A.reference}/`):Fn!==null&&(h=h.replace(/\/master\//,`/@yarnpkg/cli/${Fn}/`))}a.reportInfo(0,`Downloading ${pe.pretty(r,h,"green")}`),f=await Sn.get(h,{configuration:r})}await GW(l,f,{checksum:this.checksum,project:n,report:a})})).exitCode()}};async function GW(t,e,{checksum:r=!0,project:s,report:a}){let{configuration:n}=s,l={},f={exports:l};(0,I2e.runInNewContext)(e.toString(),{module:f,exports:l});let A=`.yarn/plugins/${f.exports.name}.cjs`,m=Y.resolve(s.cwd,A);a.reportInfo(0,`Saving the new plugin in ${pe.pretty(n,A,"magenta")}`),await fe.mkdirPromise(Y.dirname(m),{recursive:!0}),await fe.writeFilePromise(m,e);let w={path:A,spec:t};r&&(w.checksum=si.makeHash(e)),await $e.addPlugin(s.cwd,[w])}var bmt=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],c1=class extends mt{constructor(){super(...arguments);this.installPath=ye.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ye.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ye.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ye.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ye.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ye.String()}static{this.paths=[["plugin","import","from","sources"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:`
This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.
The plugins can be referenced by their short name if sourced from the official Yarn repository.
`,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=typeof this.installPath<"u"?Y.resolve(this.context.cwd,me.toPortablePath(this.installPath)):Y.resolve(me.toPortablePath((0,w2e.tmpdir)()),"yarnpkg-sources",si.makeHash(this.repository).slice(0,6));return(await Wt.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:l}=await Yt.find(r,this.context.cwd),f=G.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),h=G.stringifyIdent(f),A=await tE(r,Fn);if(!Object.hasOwn(A,h))throw new Zt(51,`Couldn't find a plugin named "${h}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let m=h;await HW(this,{configuration:r,report:n,target:s}),await jW(m,this,{project:l,report:n,target:s})})).exitCode()}};async function jW(t,{context:e,noMinify:r},{project:s,report:a,target:n}){let l=t.replace(/@yarnpkg\//,""),{configuration:f}=s;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${l}`),a.reportSeparator(),await CD(bmt({pluginName:l,noMinify:r},n),{configuration:f,context:e,target:n}),a.reportSeparator();let h=Y.resolve(n,`packages/${l}/bundles/${t}.js`),A=await fe.readFilePromise(h);await GW(t,A,{project:s,report:a})}We();Mt();sr();var l1=class extends mt{constructor(){super(...arguments);this.name=ye.String()}static{this.paths=[["plugin","remove"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"remove a plugin",details:`
This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.
**Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed.
`,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s}=await Yt.find(r,this.context.cwd);return(await Wt.start({configuration:r,stdout:this.context.stdout},async n=>{let l=this.name,f=G.parseIdent(l);if(!r.plugins.has(l))throw new ht(`${G.prettyIdent(r,f)} isn't referenced by the current configuration`);let h=`.yarn/plugins/${l}.cjs`,A=Y.resolve(s.cwd,h);fe.existsSync(A)&&(n.reportInfo(0,`Removing ${pe.pretty(r,h,pe.Type.PATH)}...`),await fe.removePromise(A)),n.reportInfo(0,"Updating the configuration..."),await $e.updateConfiguration(s.cwd,{plugins:m=>{if(!Array.isArray(m))return m;let w=m.filter(v=>v.path!==h);return w.length===0?$e.deleteProperty:w.length===m.length?m:w}})})).exitCode()}};We();sr();var u1=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","runtime"]]}static{this.usage=At.Usage({category:"Plugin-related commands",description:"list the active plugins",details:`
This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.
`,examples:[["List the currently active plugins","$0 plugin runtime"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins);return(await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let l=this.context.plugins.plugins.has(n),f=n;l&&(f+=" [builtin]"),a.reportJson({name:n,builtin:l}),a.reportInfo(null,`${f}`)}})).exitCode()}};We();We();sr();var f1=class extends mt{constructor(){super(...arguments);this.idents=ye.Rest()}static{this.paths=[["rebuild"]]}static{this.usage=At.Usage({description:"rebuild the project's native packages",details:`
This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.
Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).
By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.
`,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n=await gn.find(r);if(!a)throw new Dr(s.cwd,this.context.cwd);let l=new Set;for(let f of this.idents)l.add(G.parseIdent(f).identHash);if(await s.restoreInstallState({restoreResolutions:!1}),await s.resolveEverything({cache:n,report:new rs}),l.size>0)for(let f of s.storedPackages.values())l.has(f.identHash)&&(s.storedBuildState.delete(f.locatorHash),s.skippedBuilds.delete(f.locatorHash));else s.storedBuildState.clear(),s.skippedBuilds.clear();return await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};We();We();We();sr();var qW=st(ma());ga();var h1=class extends mt{constructor(){super(...arguments);this.all=ye.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ye.String("--mode",{description:"Change what artifacts installs generate",validator:$s(uc)});this.patterns=ye.Rest()}static{this.paths=[["remove"]]}static{this.usage=At.Usage({description:"remove dependencies from the project",details:`
This command will remove the packages matching the specified patterns from the current workspace.
If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:
- \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.
- \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.
This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.
`,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n=await gn.find(r);if(!a)throw new Dr(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let l=this.all?s.workspaces:[a],f=["dependencies","devDependencies","peerDependencies"],h=[],A=!1,m=[];for(let I of this.patterns){let R=!1,N=G.parseIdent(I);for(let U of l){let V=[...U.manifest.peerDependenciesMeta.keys()];for(let ee of(0,qW.default)(V,I))U.manifest.peerDependenciesMeta.delete(ee),A=!0,R=!0;for(let ee of f){let te=U.manifest.getForScope(ee),ie=[...te.values()].map(ae=>G.stringifyIdent(ae));for(let ae of(0,qW.default)(ie,G.stringifyIdent(N))){let{identHash:ge}=G.parseIdent(ae),de=te.get(ge);if(typeof de>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[ee].delete(ge),m.push([U,ee,de]),A=!0,R=!0}}}R||h.push(I)}let w=h.length>1?"Patterns":"Pattern",v=h.length>1?"don't":"doesn't",D=this.all?"any":"this";if(h.length>0)throw new ht(`${w} ${pe.prettyList(r,h,pe.Type.CODE)} ${v} match any packages referenced by ${D} workspace`);return A?(await r.triggerMultipleHooks(I=>I.afterWorkspaceDependencyRemoval,m),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};We();We();sr();var C2e=Ae("util"),A1=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["run"]]}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);return(await Wt.start({configuration:r,stdout:this.context.stdout,json:this.json},async l=>{let f=a.manifest.scripts,h=Ye.sortMap(f.keys(),w=>w),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},m=h.reduce((w,v)=>Math.max(w,v.length),0);for(let[w,v]of f.entries())l.reportInfo(null,`${w.padEnd(m," ")} ${(0,C2e.inspect)(v,A)}`),l.reportJson({name:w,script:v})})).exitCode()}};We();We();sr();var p1=class extends mt{constructor(){super(...arguments);this.inspect=ye.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ye.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ye.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ye.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ye.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ye.Boolean("--silent",{hidden:!0});this.scriptName=ye.String();this.args=ye.Proxy()}static{this.paths=[["run"]]}static{this.usage=At.Usage({description:"run a script defined in the package.json",details:`
This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:
- If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed.
- Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.
- Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.
Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).
`,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a,locator:n}=await Yt.find(r,this.context.cwd);await s.restoreInstallState();let l=this.topLevel?s.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await qn.hasPackageScript(l,this.scriptName,{project:s}))return await qn.executePackageScript(l,this.scriptName,this.args,{project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let f=await qn.getPackageAccessibleBinaries(l,{project:s});if(f.get(this.scriptName)){let A=[];return this.inspect&&(typeof this.inspect=="string"?A.push(`--inspect=${this.inspect}`):A.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?A.push(`--inspect-brk=${this.inspectBrk}`):A.push("--inspect-brk")),this.require&&A.push(`--require=${this.require}`),await qn.executePackageAccessibleBinary(l,this.scriptName,this.args,{cwd:this.context.cwd,project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:A,packageAccessibleBinaries:f})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let m=(await Promise.all(s.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(m.length===1)return await qn.executeWorkspaceScript(m[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new ht(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new ht(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new ht("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let A=[this.scriptName].concat(this.args);for(let[m,w]of RC)for(let v of w)if(A.length>=v.length&&JSON.stringify(A.slice(0,v.length))===JSON.stringify(v))throw new ht(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${m} plugin. You can install it with "yarn plugin import ${m}".`);throw new ht(`Couldn't find a script named "${this.scriptName}".`)}}};We();We();sr();var d1=class extends mt{constructor(){super(...arguments);this.descriptor=ye.String();this.resolution=ye.String()}static{this.paths=[["set","resolution"]]}static{this.usage=At.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 npm:1.5.0"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n=await gn.find(r);if(await s.restoreInstallState({restoreResolutions:!1}),!a)throw new Dr(s.cwd,this.context.cwd);let l=G.parseDescriptor(this.descriptor,!0),f=G.makeDescriptor(l,this.resolution);return s.storedDescriptors.set(l.descriptorHash,l),s.storedDescriptors.set(f.descriptorHash,f),s.resolutionAliases.set(l.descriptorHash,f.descriptorHash),await s.installWithNewReport({stdout:this.context.stdout},{cache:n})}};We();Mt();sr();var B2e=st(ma()),g1=class extends mt{constructor(){super(...arguments);this.all=ye.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ye.Rest()}static{this.paths=[["unlink"]]}static{this.usage=At.Usage({description:"disconnect the local project from another one",details:`
This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.
`,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n=await gn.find(r);if(!a)throw new Dr(s.cwd,this.context.cwd);let l=s.topLevelWorkspace,f=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:h,reference:A}of l.manifest.resolutions)A.startsWith("portal:")&&f.add(h.descriptor.fullName);if(this.leadingArguments.length>0)for(let h of this.leadingArguments){let A=Y.resolve(this.context.cwd,me.toPortablePath(h));if(Ye.isPathLike(h)){let m=await $e.find(A,this.context.plugins,{useRc:!1,strict:!1}),{project:w,workspace:v}=await Yt.find(m,A);if(!v)throw new Dr(w.cwd,A);if(this.all){for(let D of w.workspaces)D.manifest.name&&f.add(G.stringifyIdent(D.anchoredLocator));if(f.size===0)throw new ht("No workspace found to be unlinked in the target project")}else{if(!v.manifest.name)throw new ht("The target workspace doesn't have a name and thus cannot be unlinked");f.add(G.stringifyIdent(v.anchoredLocator))}}else{let m=[...l.manifest.resolutions.map(({pattern:w})=>w.descriptor.fullName)];for(let w of(0,B2e.default)(m,h))f.add(w)}}return l.manifest.resolutions=l.manifest.resolutions.filter(({pattern:h})=>!f.has(h.descriptor.fullName)),await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};We();We();We();sr();var v2e=st(gD()),VW=st(ma());ga();var m1=class extends mt{constructor(){super(...arguments);this.interactive=ye.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ye.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ye.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ye.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ye.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ye.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.noTimeGate=ye.Boolean("--no-time-gate",!1,{description:"Disable the minimum release age check for this command"});this.mode=ye.String("--mode",{description:"Change what artifacts installs generate",validator:$s(uc)});this.patterns=ye.Rest()}static{this.paths=[["up"]]}static{this.usage=At.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously li Line truncated
${ae}`):N.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled)
${ae}`)}else te.length>1&&!f&&N.reportError(27,`${G.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(D.hasErrors())return D.exitCode();let I=!1,R=[];for(let[N,U,,{suggestions:V}]of v){let ee,te=V.filter(de=>de.descriptor!==null),ie=te[0].descriptor,ae=te.every(de=>G.areDescriptorsEqual(de.descriptor,ie));te.length===1||ae?ee=ie:(I=!0,{answer:ee}=await(0,v2e.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${G.prettyWorkspace(r,N)} \u276F ${U}?`,choices:V.map(({descriptor:de,name:xe,reason:we})=>de?{name:xe,hint:we,descriptor:de}:{name:xe,hint:we,disabled:!0}),onCancel:()=>process.exit(130),result(de){return this.find(de,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=N.manifest[U].get(ee.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==ee.descriptorHash)N.manifest[U].set(ee.identHash,ee),R.push([N,U,ge,ee]);else{let de=r.makeResolver(),xe={project:s,resolver:de},we=r.normalizeDependency(ge),d=de.bindDescriptor(we,N.anchoredLocator,xe);s.forgetResolution(d)}}return await r.triggerMultipleHooks(N=>N.afterWorkspaceDependencyReplacement,R),I&&this.context.stdout.write(`
`),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};We();We();sr();var y1=class extends mt{constructor(){super(...arguments);this.recursive=ye.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ye.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ye.String()}static{this.paths=[["why"]]}static{this.usage=At.Usage({description:"display the reason why a package is needed",details:`
This command prints the exact reasons why a package appears in the dependency tree. Specify a version or range to determine why the dependency tree contains a specific version of a package. This is particularly useful when trying to find out why your project depends on lower versions.
If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.
`,examples:[["Explain why lodash is used in your project","$0 why lodash"],["Explain why version 3.3.1 of lodash is in your project","$0 why [email protected]"],["Explain why version 3.X of lodash is in your project","$0 why lodash@^3"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);await s.restoreInstallState();let n=G.parseDescriptor(this.package,!1);if(n.range!=="unknown"&&zr.validRange(n.range)===null)throw new ht(`Expected a valid semver range, got ${n.range}`);let l=this.recursive?Pmt(s,n,{configuration:r,peers:this.peers}):Dmt(s,n,{configuration:r,peers:this.peers});bs.emitTree(l,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};function Dmt(t,e,{configuration:r,peers:s}){let a=Ye.sortMap(t.storedPackages.values(),f=>G.stringifyLocator(f)),n={},l={children:n};for(let f of a){let h={};for(let m of f.dependencies.values()){if(!s&&WW(f,m))continue;let w=t.storedResolutions.get(m.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(w);if(!v)throw new Error("Assertion failed: The package should have been registered");if(!G.areIdentsEqual(v,e)||!G.isPackageInRange(v,e.range))continue;{let I=G.stringifyLocator(f);n[I]={value:[f,pe.Type.LOCATOR],children:h}}let D=G.stringifyLocator(v);h[D]={value:[{descriptor:m,locator:v},pe.Type.DEPENDENT]}}}return l}function Pmt(t,e,{configuration:r,peers:s}){let a=Ye.sortMap(t.workspaces,v=>G.stringifyLocator(v.anchoredLocator)),n=new Set,l=new Set,f=v=>{if(n.has(v.locatorHash))return l.has(v.locatorHash);if(n.add(v.locatorHash),G.areIdentsEqual(v,e)&&G.isPackageInRange(v,e.range))return l.add(v.locatorHash),!0;let D=!1;for(let I of v.dependencies.values()){if(!s&&WW(v,I))continue;let R=t.storedResolutions.get(I.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(R);if(!N)throw new Error("Assertion failed: The package should have been registered");f(N)&&(D=!0)}return D&&l.add(v.locatorHash),D};for(let v of a)f(v.anchoredPackage);let h=new Set,A={},m={children:A},w=(v,D,I)=>{if(!l.has(v.locatorHash))return;let R=I!==null?pe.tuple(pe.Type.DEPENDENT,{locator:v,descriptor:I}):pe.tuple(pe.Type.LOCATOR,v),N={},U={value:R,children:N},V=G.stringifyLocator(v);if(D[V]=U,!(I!==null&&t.tryWorkspaceByLocator(v))&&!h.has(v.locatorHash)){h.add(v.locatorHash);for(let ee of v.dependencies.values()){if(!s&&WW(v,ee))continue;let te=t.storedResolutions.get(ee.descriptorHash);if(!te)throw new Error("Assertion failed: The resolution should have been registered");let ie=t.storedPackages.get(te);if(!ie)throw new Error("Assertion failed: The package should have been registered");w(ie,N,ee)}}};for(let v of a)w(v.anchoredPackage,A,null);return m}function WW(t,e){return G.isVirtualLocator(t)&&t.peerDependencies.has(e.identHash)}We();var rY={};lr(rY,{GitFetcher:()=>vD,GitResolver:()=>SD,default:()=>zmt,gitUtils:()=>fc});We();Mt();var fc={};lr(fc,{TreeishProtocols:()=>BD,clone:()=>tY,fetchBase:()=>V2e,fetchChangedFiles:()=>W2e,fetchChangedWorkspaces:()=>Ymt,fetchRoot:()=>q2e,isGitUrl:()=>w1,lsRemote:()=>G2e,normalizeLocator:()=>Wmt,normalizeRepoUrl:()=>E1,resolveUrl:()=>eY,splitRepoUrl:()=>$p,validateRepoUrl:()=>$W});We();Mt();sr();xl();var H2e=st(_2e()),I1=st(Ae("querystring")),ZW=st(Di());function JW(t,e,r){let s=t.indexOf(r);return t.lastIndexOf(e,s>-1?s:1/0)}function M2e(t){try{return new URL(t)}catch{return}}function qmt(t){let e=JW(t,"@","#"),r=JW(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),JW(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function U2e(t){return M2e(t)||M2e(qmt(t))}function E1(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=U2e(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function j2e(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Vmt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],BD=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(BD||{});function w1(t){return t?Vmt.some(e=>!!t.match(e)):!1}function $p(t){t=E1(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{pr Line truncated
This command will run a given sub-command on a single workspace.
`,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);let n=s.workspaces,l=new Map(n.map(h=>[G.stringifyIdent(h.anchoredLocator),h])),f=l.get(this.workspaceName);if(f===void 0){let h=Array.from(l.keys()).sort();throw new ht(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:
- ${h.join(`
- `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:f.cwd})}};var Jmt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Y2e.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[UC,HC,jC,GC,d1,o1,XC,C1,WC,YC,KC,zC,_C,MC,qC,VC,JC,ZC,$C,e1,t1,r1,g1,n1,i1,c1,a1,l1,s1,u1,f1,h1,A1,p1,m1,y1,B1]},Zmt=Jmt;var aY={};lr(aY,{default:()=>tyt});We();We();var iY="catalog:";var sY=t=>t.startsWith(iY),Xmt=t=>t.range.slice(iY.length)||null,K2e=t=>t===null?"default catalog":`catalog "${t}"`,$mt=t=>t.scope?`@${t.scope}/${t.name}`:t.name,oY=(t,e,r,s)=>{let a=Xmt(e),n;if(a===null)n=t.configuration.get("catalog");else try{let m=t.configuration.get("catalogs");m&&(n=m.get(a))}catch{n=void 0}if(!n||n.size===0)throw new Zt(82,`${G.prettyDescriptor(t.configuration,e)}: ${K2e(a)} not found or empty`);let l=$mt(e),f=n.get(l);if(!f)throw new Zt(82,`${G.prettyDescriptor(t.configuration,e)}: entry not found in ${K2e(a)}`);let h=t.configuration.normalizeDependency(G.makeDescriptor(e,f));return r.supportsDescriptor(h,s)?r.bindDescriptor(h,t.topLevelWorkspace.anchoredLocator,s):h};var eyt={configuration:{catalog:{description:"The default catalog of packages",type:"MAP",valueDefinition:{description:"The catalog of packages",type:"STRING"}},catalogs:{description:"Named catalogs of packages",type:"MAP",valueDefinition:{description:"A named catalog",type:"MAP",valueDefinition:{description:"Package version in the catalog",type:"STRING"}}}},hooks:{beforeWorkspacePacking:(t,e)=>{let r=t.project,s=r.configuration.makeResolver(),a={project:r,resolver:s,report:new rs};for(let n of nr.allDependencies){let l=e[n];if(l)for(let[f,h]of Object.entries(l)){if(typeof h!="string"||!sY(h))continue;let A=G.parseIdent(f),m=G.makeDescriptor(A,h),w=oY(r,m,s,a),{protocol:v,source:D,params:I,selector:R}=G.parseRange(G.convertToManifestRange(w.range));v===t.project.configuration.get("defaultProtocol")&&(v=null),l[f]=G.makeRange({protocol:v,source:D,params:I,selector:R})}}},reduceDependency:async(t,e,r,s,{resolver:a,resolveOptions:n})=>sY(t.range)?oY(e,t,a,n):t}},tyt=eyt;var hY={};lr(hY,{default:()=>nyt});We();var Ut={optional:!0},cY=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/[email protected] || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Ut,zenObservable:Ut}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Ut,zenObservable:Ut}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":Ut}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":Ut,"postcss-jsx":Ut,"postcss-less":Ut,"postcss-markdown":Ut,"postcss-scss":Ut}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Ut}}],["snowpack@>=3.3.0",{dependencies:{"node-gyp":"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Ut}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Ut,"vue-template-compiler":Ut}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],Line truncated
This command will output all matches to the given prolog query.
`,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(RD(),kD)),s=await $e.find(this.context.cwd,this.context.plugins),{project:a}=await Yt.find(s,this.context.cwd),n=await r.find(a),l=this.query;return l.endsWith(".")||(l=`${l}.`),(await Wt.start({configuration:s,json:this.json,stdout:this.context.stdout},async h=>{for await(let A of n.query(l)){let m=Array.from(Object.entries(A)),w=m.length,v=m.reduce((D,[I])=>Math.max(D,I.length),0);for(let D=0;D<w;D++){let[I,R]=m[D];h.reportInfo(null,`${Iyt(D,w)}${I.padEnd(v," ")} = ${Eyt(R)}`)}h.reportJson(A)}})).exitCode()}};function Eyt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function Iyt(t,e){let r=t===0,s=t===e-1;return r&&s?"":r?"\u250C ":s?"\u2514 ":"\u2502 "}We();sr();var k1=class extends mt{constructor(){super(...arguments);this.verbose=ye.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}static{this.paths=[["constraints","source"]]}static{this.usage=At.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(RD(),kD)),s=await $e.find(this.context.cwd,this.context.plugins),{project:a}=await Yt.find(s,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};We();We();sr();DD();var R1=class extends mt{constructor(){super(...arguments);this.fix=ye.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["constraints"]]}static{this.usage=At.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:`
This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code.
If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution.
For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints.
`,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s}=await Yt.find(r,this.context.cwd);await s.restoreInstallState();let a=await s.loadUserConfig(),n;if(a?.constraints)n=new S1(s);else{let{Constraints:A}=await Promise.resolve().then(()=>(RD(),kD));n=await A.find(s)}let l,f=!1,h=!1;for(let A=this.fix?10:1;A>0;--A){let m=await n.process();if(!m)break;let{changedWorkspaces:w,remainingErrors:v}=zO(s,m,{fix:this.fix}),D=[];for(let[I,R]of w){let N=I.manifest.indent;I.manifest=new nr,I.manifest.indent=N,I.manifest.load(R),D.push(I.persistManifest())}if(await Promise.all(D),!(w.size>0&&A>1)){l=$2e(v,{configuration:r}),f=!1,h=!0;for(let[,I]of v)for(let R of I)R.fixable?f=!0:h=!1}}if(l.children.length===0)return 0;if(f){let A=h?`Those errors can all be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`;await Wt.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async m=>{m.reportInfo(0,A),m.reportSeparator()})}return l.children=Ye.sortMap(l.children,A=>A.value[1]),bs.emitTree(l,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};DD();var wyt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[x1,k1,R1],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),s;if(r?.constraints)s=new S1(t);else{let{Constraints:l}=await Promise.resolve().then(()=>(RD(),kD));s=await l.find(t)}let a=await s.process();if(!a)return;let{remainingErrors:n}=zO(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[l,f]of n)for(let h of f)e(84,`${pe.pretty(t.configuration,l.anchoredLocator,pe.Type.IDENT)}: ${h.text}`);else e(84,`Constraint check failed; run ${pe.pretty(t.configuration,"yarn constraints",pe.Type.CODE)} for more details`)}}},Cyt=wyt;var kY={};lr(kY,{CreateCommand:()=>T1,DlxCommand:()=>Q1,default:()=>vyt});We();sr();var T1=class extends mt{constructor(){super(...arguments);this.pkg=ye.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ye.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ye.String();this.args=ye.Proxy()}static{this.paths=[["create"]]}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let s=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=G.parseDescriptor(s),n=a.name.match(/^create(-|$)/)?a:a.scope?G.makeIdent(a.scope,`create-${a.name}`):G.makeIdent(null,`create-${a.name}`),l=G.stringifyIdent(n);return a.range!=="unknown"&&(l+=`@${a.range}`),this.cli.run(["dlx",...r,l,...this.args])}};We();We();Mt();sr();var Q1=class extends mt{constructor(){super(...arguments);this.packages=ye.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ye.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ye.String();this.args=ye.Proxy()}static{this.paths=[["dlx"]]}static{this.usage=At.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-vite to scaffold a new Vite project","yarn dlx create-vite"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]})}async execute(){return $e.telemetry=null,await fe.mktempPromise(async r=>{let s=Y.join(r,`dlx-${process.pid}`);await fe.mkdirPromise(s),await fe.writeFilePromise(Y.join(s,"package.json"),`{}
`),await fe.writeFilePromise(Y.join(s,"yarn.lock"),"");let a=Y.join(s,".yarnrc.yml"),n=await $e.findProjectCwd(this.context.cwd),f={enableGlobalCache:!(await $e.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Mh(68),level:pe.LogLevel.Discard}]},h=n!==null?Y.join(n,".yarnrc.yml"):null;h!==null&&fe.existsSync(h)?(await fe.copyFilePromise(h,a),await $e.updateConfiguration(s,N=>{let U=Ye.toMerged(N,f);return Array.isArray(N.plugins)&&(U.plugins=N.plugins.map(V=>{let ee=typeof V=="string"?V:V.path,te=me.isAbsolute(ee)?ee:me.resolve(me.fromPortablePath(n),ee);return typeof V=="string"?te:{path:te,spec:V.spec}})),U})):await fe.writeJsonPromise(a,f);let A=this.packages??[this.command],m=G.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...A],{cwd:s,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(`
`);let v=await $e.find(s,this.context.plugins),{project:D,workspace:I}=await Yt.find(v,s);if(I===null)throw new Dr(D.cwd,s);await D.restoreInstallState();let R=await qn.getWorkspaceAccessibleBinaries(I);return R.has(m)===!1&&R.size===1&&typeof this.packages>"u"&&(m=Array.from(R)[0][0]),await qn.executeWorkspaceAccessibleBinary(I,m,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};var Byt={commands:[T1,Q1]},vyt=Byt;var QY={};lr(QY,{ExecFetcher:()=>QD,ExecResolver:()=>FD,default:()=>Dyt,execUtils:()=>$O});We();We();We();Mt();var rA="exec:";var $O={};lr($O,{loadGeneratorFile:()=>TD,makeLocator:()=>TY,makeSpec:()=>SBe,parseSpec:()=>RY});We();Mt();function RY(t){let{params:e,selector:r}=G.parseRange(t),s=me.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:s}}function SBe({parentLocator:t,path:e,generatorHash:r,protocol:s}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:s,source:e,selector:e,params:{...n,...a}})}function TY(t,{parentLocator:e,path:r,generatorHash:s,protocol:a}){return G.makeLocator(t,SBe({parentLocator:e,path:r,generatorHash:s,protocol:a}))}async function TD(t,e,r){let{parentLocator:s,path:a}=G.parseFileStyleRange(t,{protocol:e}),n=Y.isAbsolute(a)?{packageFs:new Jn(Rt.root),prefixPath:Rt.dot,localPath:Rt.root}:await r.fetcher.fetch(s,r),l=n.localPath?{packageFs:new Jn(Rt.root),prefixPath:Y.relative(Rt.root,n.localPath)}:n;n!==l&&n.releaseFs&&n.releaseFs();let f=l.packageFs,h=Y.join(l.prefixPath,a);return await f.readFilePromise(h,"utf8")}var QD=class{supports(e,r){return!!e.reference.startsWith(rA)}getLocalPath(e,r){let{parentLocator:s,path:a}=G.parseFileStyleRange(e.reference,{protocol:rA});if(Y.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:Y.resolve(n,a)}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,l]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:l}}async fetchFromDisk(e,r){let s=r.project.getDependencyMeta(e,null);if(!r.project.configuration.get("enableScripts")&&!s.built)throw new Zt(4,`${G.prettyLocator(r.project.configuration,e)} can't be built with the exec: protocol because all scripts have been disabled.`);let a=await TD(e.reference,rA,r);return fe.mktempPromise(async n=>{let l=Y.join(n,"generator.js");return await fe.writeFilePromise(l,a),fe.mktempPromise(async f=>{if(await this.generatePackage(f,e,l,r),!fe.existsSync(Y.join(f,"build")))throw new Error("The script should have generated a build directory");return await Hs.makeArchiveFromDirectory(Y.join(f,"build"),{prefixPath:G.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,s,a){return await fe.mktempPromise(async n=>{let l=await qn.makeScriptEnv({project:a.project,binFolder:n}),f=Y.join(e,"runtime.js");return await fe.mktempPromise(async h=>{let A=Y.join(h,"buildfile.log"),m=Y.join(e,"generator"),w=Y.join(e,"build");await fe.mkdirPromise(m),await fe.mkdirPromise(w);let v={tempDir:me.fromPortablePath(m),buildDir:me.fromPortablePath(w),locator:G.stringifyLocator(r)};await fe.writeFilePromise(f,`
// Expose 'Module' as a global variable
Object.defineProperty(global, 'Module', {
get: () => require('module'),
configurable: true,
enumerable: false,
});
// Expose non-hidden built-in modules as global variables
for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) {
Object.defineProperty(global, name, {
get: () => require(name),
configurable: true,
enumerable: false,
});
}
// Expose the 'execEnv' global variable
Object.defineProperty(global, 'execEnv', {
value: {
...${JSON.stringify(v)},
},
enumerable: true,
});
`);let D=l.NODE_OPTIONS||"",I=/\s*--require\s+\S*\.pnp\.c?js\s*/g;D=D.replace(I," ").trim(),l.NODE_OPTIONS=D;let{stdout:R,stderr:N}=a.project.configuration.getSubprocessStreams(A,{header:`# This file contains the result of Yarn generating a package (${G.stringifyLocator(r)})
`,prefix:G.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await un.pipevp(process.execPath,["--require",me.fromPortablePath(f),me.fromPortablePath(s),G.stringifyIdent(r)],{cwd:e,env:l,stdin:null,stdout:R,stderr:N});if(U!==0)throw fe.detachTemp(h),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${pe.pretty(a.project.configuration,A,pe.Type.PATH)})`)})})}};We();We();We();var Syt=2,FD=class{supportsDescriptor(e,r){return!!e.range.startsWith(rA)}supportsLocator(e,r){return!!e.reference.startsWith(rA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){if(s.project.tryWorkspaceByLocator(r)===null)throw new Zt(57,`${G.prettyLocator(s.project.configuration,r)} lists ${G.prettyDescriptor(s.project.configuration,e)} as dependency, but only workspaces can depend on exec: packages.`);return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=RY(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let l=await TD(G.makeRange({protocol:rA,source:a,selector:a,params:{locator:G.stringifyLocator(n)}}),rA,s.fetchOptions),f=si.makeHash(`${Syt}`,l).slice(0,6);return[TY(e,{parentLocator:n,path:a,generatorHash:f,protocol:rA})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(l=>l.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await nr.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var byt={fetchers:[QD],resolvers:[FD]},Dyt=byt;var NY={};lr(NY,{FileFetcher:()=>_D,FileResolver:()=>MD,TarballFileFetcher:()=>UD,TarballFileResolver:()=>HD,default:()=>kyt,fileUtils:()=>sE});We();Mt();var F1=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,ND=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Ds="file:";var sE={};lr(sE,{fetchArchiveFromLocator:()=>LD,makeArchiveFromLocator:()=>eL,makeBufferFromLocator:()=>FY,makeLocator:()=>N1,makeSpec:()=>bBe,parseSpec:()=>OD});We();Mt();function OD(t){let{params:e,selector:r}=G.parseRange(t),s=me.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:s}}function bBe({parentLocator:t,path:e,hash:r,protocol:s}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:s,source:e,selector:e,params:{...n,...a}})}function N1(t,{parentLocator:e,path:r,hash:s,protocol:a}){return G.makeLocator(t,bBe({parentLocator:e,path:r,hash:s,protocol:a}))}async function LD(t,e){let{parentLocator:r,path:s}=G.parseFileStyleRange(t.reference,{protocol:Ds}),a=Y.isAbsolute(s)?{packageFs:new Jn(Rt.root),prefixPath:Rt.dot,localPath:Rt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new Jn(Rt.root),prefixPath:Y.relative(Rt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let l=n.packageFs,f=Y.join(n.prefixPath,s);return await Ye.releaseAfterUseAsync(async()=>await l.readFilePromise(f),n.releaseFs)}async function eL(t,{protocol:e,fetchOptions:r,inMemory:s=!1}){let{parentLocator:a,path:n}=G.parseFileStyleRange(t.reference,{protocol:e}),l=Y.isAbsolute(n)?{packageFs:new Jn(Rt.root),prefixPath:Rt.dot,localPath:Rt.root}:await r.fetcher.fetch(a,r),f=l.localPath?{packageFs:new Jn(Rt.root),prefixPath:Y.relative(Rt.root,l.localPath)}:l;l!==f&&l.releaseFs&&l.releaseFs();let h=f.packageFs,A=Y.join(f.prefixPath,n);return await Ye.releaseAfterUseAsync(async()=>await Hs.makeArchiveFromDirectory(A,{baseFs:h,prefixPath:G.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:s}),f.releaseFs)}async function FY(t,{protocol:e,fetchOptions:r}){return(await eL(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var _D=class{supports(e,r){return!!e.reference.startsWith(Ds)}getLocalPath(e,r){let{parentLocator:s,path:a}=G.parseFileStyleRange(e.reference,{protocol:Ds});if(Y.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:Y.resolve(n,a)}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,l]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFro Line truncated
`,{automaticNewlines:!0});let A=[h],m=Y.join(this.context.cwd,"README.md");if(fe.existsSync(m)||(await fe.writeFilePromise(m,`# ${G.stringifyIdent(n.name)}
`),A.push(m)),!s||s.cwd===this.context.cwd){let w=Y.join(this.context.cwd,Or.lockfile);fe.existsSync(w)||(await fe.writeFilePromise(w,""),A.push(w));let D=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Whether you use PnP or not, the node_modules folder is often used to store","# build artifacts that should be gitignored","node_modules","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(ie=>`${ie}
`).join(""),I=Y.join(this.context.cwd,".gitignore");fe.existsSync(I)||(await fe.writeFilePromise(I,D),A.push(I));let N=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(ie=>`${ie}
`).join(""),U=Y.join(this.context.cwd,".gitattributes");fe.existsSync(U)||(await fe.writeFilePromise(U,N),A.push(U));let V={"*":{charset:"utf-8",endOfLine:"lf",indentSize:2,indentStyle:"space",insertFinalNewline:!0}};Ye.mergeIntoTarget(V,r.get("initEditorConfig"));let ee=`root = true
`;for(let[ie,ae]of Object.entries(V)){ee+=`
[${ie}]
`;for(let[ge,de]of Object.entries(ae)){let xe=ge.replace(/[A-Z]/g,we=>`_${we.toLowerCase()}`);ee+=`${xe} = ${de}
`}}let te=Y.join(this.context.cwd,".editorconfig");fe.existsSync(te)||(await fe.writeFilePromise(te,ee),A.push(te)),await this.cli.run(["install"],{quiet:!0}),await this.initialize(),fe.existsSync(Y.join(this.context.cwd,".git"))||(await un.execvp("git",["init"],{cwd:this.context.cwd}),await un.execvp("git",["add","--",...A],{cwd:this.context.cwd}),await un.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};var O1=class extends yg{constructor(){super(...arguments);this.initializer=ye.String();this.argv=ye.Proxy()}static{this.paths=[["init"]]}async initialize(){this.context.stdout.write(`
`),await this.cli.run(["dlx",this.initializer,...this.argv],{quiet:!0})}};var Nyt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[yg,O1]},Oyt=Nyt;var Lz={};lr(Lz,{SearchCommand:()=>e2,UpgradeInteractiveCommand:()=>t2,default:()=>W2t});We();var RBe=st(Ae("os"));function L1({stdout:t}){if(RBe.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}sr();var Gve=st(iK()),sK={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},QIt=(0,Gve.default)(sK.appId,sK.apiKey).initIndex(sK.indexName),oK=async(t,e=0)=>await QIt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var GP=["regular","dev","peer"],e2=class extends mt{static{this.paths=[["search"]]}static{this.usage=At.Usage({category:"Interactive commands",description:"open the search interface",details:`
This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry.
`,examples:[["Open the search window","yarn search"]]})}async execute(){L1(this.context);let{Gem:e}=await Promise.resolve().then(()=>(OL(),bz)),{ScrollableItems:r}=await Promise.resolve().then(()=>(UL(),ML)),{useKeypress:s}=await Promise.resolve().then(()=>($1(),Dz)),{useMinistore:a}=await Promise.resolve().then(()=>(Tz(),Rz)),{renderForm:n}=await Promise.resolve().then(()=>(VL(),qL)),{default:l}=await Promise.resolve().then(()=>st(PPe())),{Box:f,Text:h}=await Promise.resolve().then(()=>st(Du())),{default:A,useEffect:m,useState:w}=await Promise.resolve().then(()=>st(Ln())),v=await $e.find(this.context.cwd,this.context.plugins),D=()=>A.createElement(f,{flexDirection:"row"},A.createElement(f,{flexDirection:"column",width:48},A.createElement(f,null,A.createElement(h,null,"Press ",A.createElement(h,{bold:!0,color:"cyanBright"},"<up>"),"/",A.createElement(h,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),A.createElement(f,null,A.createElement(h,null,"Press ",A.createElement(h,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),A.createElement(f,null,A.createElement(h,null,"Press ",A.createElement(h,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),A.createElement(f,{flexDirection:"column"},A.createElement(f,{marginLeft:1},A.createElement(h,null,"Press ",A.createElement(h,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),A.createElement(f,{marginLeft:1},A.createElement(h,null,"Press ",A.createElement(h,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),I=()=>A.createElement(A.Fragment,null,A.createElement(f,{width:15},A.createElement(h,{bold:!0,underline:!0,color:"gray"},"Owner")),A.createElement(f,{width:11},A.createElement(h,{bold:!0,underline:!0,color:"gray"},"Version")),A.createElement(f,{width:10},A.createElement(h,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>A.createElement(f,{width:17},A.createElement(h,{bold:!0,underline:!0,color:"gray"},"Target")),N=({hit:de,active:xe})=>{let[we,d]=a(de.name,null);s({active:xe},(Ee,he)=>{if(he.name!=="space")return;if(!we){d(GP[0]);return}let $=GP.indexOf(we)+1;$===GP.length?d(null):d(GP[$])},[we,d]);let be=G.parseIdent(de.name),Ce=G.prettyIdent(v,be);return A.createElement(f,null,A.createElement(f,{width:45},A.createElement(h,{bold:!0,wrap:"wrap"},Ce)),A.createElement(f,{width:14,marginLeft:1},A.createElement(h,{bold:!0,wrap:"truncate"},de.owner.name)),A.createElement(f,{width:10,marginLeft:1},A.createElement(h,{italic:!0,wrap:"truncate"},de.version)),A.createElement(f,{width:16,marginLeft:1},A.createElement(h,null,de.humanDownloadsLast30Days)))},U=({name:de,active:xe})=>{let[we]=a(de,null),d=G.parseIdent(de);return A.createElement(f,null,A.createElement(f,{width:47},A.createElement(h,{bold:!0}," - ",G.prettyIdent(v,d))),GP.map(be=>A.createElement(f,{key:be,width:14,marginLeft:1},A.createElement(h,null," ",A.createElement(e,{active:we===be})," ",A.createElement(h,{bold:!0},be)))))},V=()=>A.createElement(f,{marginTop:1},A.createElement(h,null,"Powered by Algolia.")),te=await n(({useSubmit:de})=>{let xe=a();de(xe);let we=Array.from(xe.keys()).filter(j=>xe.get(j)!==null),[d,be]=w(""),[Ce,Ee]=w(0),[he,$]=w([]),De=j=>{j.match(/\t| /)||be(j)},Te=async()=>{Ee(0);let j=await oK(d);j.query===d&&$(j.hits)},ot=async()=>{let j=await oK(d,Ce+1);j.query===d&&j.page-1===Ce&&(Ee(j.page),$([...he,...j.hits]))};return m(()=>{d?Te():$([])},[d]),A.createElement(f,{flexDirection:"column"},A.createElement(D,null),A.createElement(f,{flexDirection:"row",marginTop:1},A.createElement(h,{bold:!0},"Search: "),A.createElement(f,{width:41},A.createElement(l,{value:d,onChange:De,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),A.createElement(I,null)),he.length?A.createElement(r,{radius:2,loop:!1,children:he.map(j=>A.createElement(N,{key:j.name,hit:j,active:!1})),willReachEnd:ot}):A.createElement(h,{color:"gray"},"Start typing..."),A.createElement(f,{flexDirection:"row",marginTop:1},A.createElement(f,{width:49},A.createElement(h,{bold:!0},"Selected:")),A.createElement(R,null)),we.length?we.map(j=>A.createElement(U,{key:j,name:j,active:!1})):A.createElement(h,{color:"gray"},"No selected packages..."),A.createElement(V,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof te>"u")return 1;let ie=Array.from(te.keys()).filter(de=>te.get(de)==="regular"),ae=Array.from(te.keys()).filter(de=>te.get(de)==="dev"),ge=Array.from(te.keys()).filter(de=>te.get(de)==="peer");return ie.length&&await this.cli.run(["add",...ie]),ae.length&&await this.cli.run(["add","--dev",...ae]),ge&&await this.cli.run(["add","--peer",...ge]),0}};We();sr();FV();var NPe=st(Di());ga();var FPe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/;function OPe(t,e){return t.length>0?[t.slice(0,e)].concat(OPe(t.slice(e),e)):[]}var t2=class extends mt{constructor(){super(...arguments);this.mode=ye.String("--mode",{description:"Change what artifacts installs genera Line truncated
${m}, next tree:
${JP(f)}`);let v=UPe(f);if(v)throw new Error(`${v}, after hoisting finished:
${JP(f)}`)}return n.debugLevel>=2&&console.log(JP(f)),oBt(f)},$2t=t=>{let e=t[t.length-1],r=new Map,s=new Set,a=n=>{if(!s.has(n)){s.add(n);for(let l of n.hoistedDependencies.values())r.set(l.name,l);for(let l of n.dependencies.values())n.peerNames.has(l.name)||a(l)}};return a(e),r},eBt=t=>{let e=t[t.length-1],r=new Map,s=new Set,a=new Set,n=(l,f)=>{if(s.has(l))return;s.add(l);for(let A of l.hoistedDependencies.values())if(!f.has(A.name)){let m;for(let w of t)m=w.dependencies.get(A.name),m&&r.set(m.name,m)}let h=new Set;for(let A of l.dependencies.values())h.add(A.name);for(let A of l.dependencies.values())l.peerNames.has(A.name)||n(A,h)};return n(e,a),r},_Pe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:s,ident:a,locator:n,dependencies:l,originalDependencies:f,hoistedDependencies:h,peerNames:A,reasons:m,isHoistBorder:w,hoistPriority:v,dependencyKind:D,hoistedFrom:I,hoistedTo:R}=e,N={name:r,references:new Set(s),ident:a,locator:n,dependencies:new Map(l),originalDependencies:new Map(f),hoistedDependencies:new Map(h),peerNames:new Set(A),reasons:new Map(m),decoupled:!0,isHoistBorder:w,hoistPriority:v,dependencyKind:D,hoistedFrom:new Map(I),hoistedTo:new Map(R)},U=N.dependencies.get(r);return U&&U.ident==N.ident&&N.dependencies.set(r,N),t.dependencies.set(N.name,N),N},tBt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let s=Array.from(e.keys());s.sort((a,n)=>{let l=e.get(a),f=e.get(n);if(f.hoistPriority!==l.hoistPriority)return f.hoistPriority-l.hoistPriority;{let h=l.dependents.size+l.peerDependents.size;return f.dependents.size+f.peerDependents.size-h}});for(let a of s){let n=a.substring(0,a.indexOf("@",1)),l=a.substring(n.length+1);if(!t.peerNames.has(n)){let f=r.get(n);f||(f=[],r.set(n,f)),f.indexOf(l)<0&&f.push(l)}}return r},Hz=t=>{let e=new Set,r=(s,a=new Set)=>{if(!a.has(s)){a.add(s);for(let n of s.peerNames)if(!t.peerNames.has(n)){let l=t.dependencies.get(n);l&&!e.has(l)&&r(l,a)}e.add(s)}};for(let s of t.dependencies.values())t.peerNames.has(s.name)||r(s);return e},Gz=(t,e,r,s,a,n=new Set)=>{let l=e[e.length-1];if(n.has(l))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(l);let f=aBt(l),h=tBt(l,f),A=t==l?new Map:a.fastLookupPossible?$2t(e):eBt(e),m,w=!1,v=!1,D=new Map(Array.from(h.entries()).map(([R,N])=>[R,N[0]])),I=new Map;do{let R=iBt(t,e,r,A,D,h,s,I,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(w=!0),m=!1;for(let[N,U]of h)U.length>1&&!l.dependencies.has(N)&&(D.delete(N),U.shift(),D.set(N,U[0]),m=!0)}while(m);for(let R of l.dependencies.values())if(!l.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let N=Gz(t,[...e,R],r,I,a);N.isGraphChanged&&(v=!0),N.anotherRoundNeeded&&(w=!0),r.delete(R.locator)}return{anotherRoundNeeded:w,isGraphChanged:v}},rBt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},nBt=(t,e,r,s,a,n,l,f,{outputReason:h,fastLookupPossible:A})=>{let m,w=null,v=new Set;h&&(m=`${Array.from(e).map(N=>Yo(N)).join("\u2192")}`);let D=r[r.length-1],R=!(s.ident===D.ident);if(h&&!R&&(w="- self-reference"),R&&(R=s.dependencyKind!==1,h&&!R&&(w="- workspace")),R&&s.dependencyKind===2&&(R=!rBt(s),h&&!R&&(w="- external soft link with unhoisted dependencies")),R&&(R=!t.peerNames.has(s.name),h&&!R&&(w=`- cannot shadow peer: ${Yo(t.originalDependencies.get(s.name).locator)} at ${m}`)),R){let N=!1,U=a.get(s.name);if(N=!U||U.ident===s.ident,h&&!N&&(w=`- filled by: ${Yo(U.locator)} at ${m}`),N)for(let V=r.length-1;V>=1;V--){let te=r[V].dependencies.get(s.name);if(te&&te.ident!==s.ident){N=!1;let ie=f.get(D);ie||(ie=new Set,f.set(D,ie)),ie.add(s.name),h&&(w=`- filled by ${Yo(te.locator)} at ${r.slice(0,V).map(ae=>Yo(ae.locator)).join("\u2192")}`);break}}R=N}if(R&&(R=n.get(s.name)===s.ident,h&&!R&&(w=`- filled by: ${Yo(l.get(s.name)[0])} at ${m}`)),R){let N=!0,U=new Set(s.peerNames);for(let V=r.length-1;V>=1;V--){let ee=r[V];for(let te of U){if(ee.peerNames.has(te)&&ee.originalDependencies.has(te))continue;let ie=ee.dependencies.get(te);ie&&t.dependencies.get(te)!==ie&&(V===r.length-1?v.add(ie):(v=null,N=!1,h&&(w=`- peer dependency ${Yo(ie.locator)} from parent ${Yo(ee.locator)} was not hoisted to ${m}`))),U.delete(te)}if(!N)break}R=N}if(R&&!A)for(let N of s.hoistedDependencies.values()){let U=a.get(N.name)||t.dependencies.get(N.name);if(!U||N.ident!==U.ident){R=!1,h&&(w=`- previously hoisted dependency mismatch, needed: ${Yo(N.locator)}, available: ${Yo(U?.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:w}:{isHoistable:R?0:1,reason:w}},KL=t=>`${t.name}@${t.locator}`,iBt=(t,e,r,s,a,n,l,f,h)=>{let A=e[e.length-1],m=new Set,w=!1,v=!1,D=(U,V,ee,te,ie)=>{if(m.has(te))return;let ae=[...V,KL(te)],ge=[...ee,KL(te)],de=new Map,xe=new Map;for(let Ee of Hz(te)){let he=nBt(A,r,[A,...U,te],Ee,s,a,n,f,{outputReason:h.debugLevel>=2,fastLookupPossible:h.fastLookupPossible});if(xe.set(Ee,he),he.isHoistable===2)for(let $ of he.dependsOn){let Line truncated
${JP(t)}`)}let Ce=Hz(te);for(let Ee of Ce)if(we.has(Ee)){let he=xe.get(Ee);if((a.get(Ee.name)===Ee.ident||!te.reasons.has(Ee.name))&&he.isHoistable!==0&&te.reasons.set(Ee.name,he.reason),!Ee.isHoistBorder&&ge.indexOf(KL(Ee))<0){m.add(te);let De=_Pe(te,Ee);D([...U,te],ae,ge,De,R),m.delete(te)}}},I,R=new Set(Hz(A)),N=Array.from(e).map(U=>KL(U));do{I=R,R=new Set;for(let U of I){if(U.locator===A.locator||U.isHoistBorder)continue;let V=_Pe(A,U);D([],Array.from(r),N,V,R)}}while(R.size>0);return{anotherRoundNeeded:w,isGraphChanged:v}},UPe=t=>{let e=[],r=new Set,s=new Set,a=(n,l,f)=>{if(r.has(n)||(r.add(n),s.has(n)))return;let h=new Map(l);for(let A of n.dependencies.values())n.peerNames.has(A.name)||h.set(A.name,A);for(let A of n.originalDependencies.values()){let m=h.get(A.name),w=()=>`${Array.from(s).concat([n]).map(v=>Yo(v.locator)).join("\u2192")}`;if(n.peerNames.has(A.name)){let v=l.get(A.name);(v!==m||!v||v.ident!==A.ident)&&e.push(`${w()} - broken peer promise: expected ${A.ident} but found ${v&&v.ident}`)}else{let v=f.hoistedFrom.get(n.name),D=n.hoistedTo.get(A.name),I=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${D?` hoisted to ${D}`:""}`,N=`${w()}${I}`;m?m.ident!==A.ident&&e.push(`${N} - broken require promise for ${A.name}${R}: expected ${A.ident}, but found: ${m.ident}`):e.push(`${N} - broken require promise: no required dependency ${A.name}${R} found`)}}s.add(n);for(let A of n.dependencies.values())n.peerNames.has(A.name)||a(A,h,n);s.delete(n)};return a(t,t.dependencies,t),e.join(`
`)},sBt=(t,e)=>{let{identName:r,name:s,reference:a,peerNames:n}=t,l={name:s,references:new Set([a]),locator:jz(r,a),ident:LPe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},f=new Map([[t,l]]),h=(A,m)=>{let w=f.get(A),v=!!w;if(!w){let{name:D,identName:I,reference:R,peerNames:N,hoistPriority:U,dependencyKind:V}=A;w={name:D,references:new Set([R]),locator:jz(I,R),ident:LPe(I,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(N),reasons:new Map,decoupled:!0,isHoistBorder:!1,hoistPriority:U||0,dependencyKind:V||0,hoistedFrom:new Map,hoistedTo:new Map},f.set(A,w)}if(!w.isHoistBorder&&e.hoistingLimits.get(m.locator)?.has(A.name)&&(w.isHoistBorder=!0),m.dependencies.set(A.name,w),m.originalDependencies.set(A.name,w),v){let D=new Set,I=R=>{if(!D.has(R)){D.add(R),R.decoupled=!1;for(let N of R.dependencies.values())R.peerNames.has(N.name)||I(N)}};I(w)}else for(let D of A.dependencies)h(D,w)};for(let A of t.dependencies)h(A,l);return l},qz=t=>t.substring(0,t.indexOf("@",1)),oBt=t=>{let e={name:t.name,identName:qz(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),s=(a,n,l)=>{let f=r.has(a),h;if(n===a)h=l;else{let{name:A,references:m,locator:w}=a;h={name:A,identName:qz(w),references:m,dependencies:new Set}}if(l.dependencies.add(h),!f){r.add(a);for(let A of a.dependencies.values())a.peerNames.has(A.name)||s(A,a,h);r.delete(a)}};for(let a of t.dependencies.values())s(a,t,e);return e},aBt=t=>{let e=new Map,r=new Set([t]),s=l=>`${l.name}@${l.ident}`,a=l=>{let f=s(l),h=e.get(f);return h||(h={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(f,h)),h},n=(l,f)=>{let h=!!r.has(f);if(a(f).dependents.add(l.ident),!h){r.add(f);for(let m of f.dependencies.values()){let w=a(m);w.hoistPriority=Math.max(w.hoistPriority,m.hoistPriority),f.peerNames.has(m.name)?w.peerDependents.add(f.ident):n(f,m)}}};for(let l of t.dependencies.values())t.peerNames.has(l.name)||n(t,l);return e},Yo=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let s=t.substring(e+1);if(s==="workspace:.")return".";if(s){let a=(s.indexOf("#")>0?s.split("#")[1]:s).replace("npm:","");return s.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`};var JP=t=>{let e=0,r=(a,n,l="")=>{if(e>5e4||n.has(a))return"";e++;let f=Array.from(a.dependencies.values()).sort((A,m)=>A.name===m.name?0:A.name>m.name?1:-1),h="";n.add(a);for(let A=0;A<f.length;A++){let m=f[A];if(!a.peerNames.has(m.name)&&m!==a){let w=a.reasons.get(m.name),v=qz(m.locator);h+=`${l}${A<f.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(m)?">":"")+(v!==m.name?`a:${m.name}:`:"")+Yo(m.locator)+(w?` ${w}`:"")}
`,h+=r(m,n,`${l}${A<f.length-1?"\u2502 ":" "}`)}}return n.delete(a),h};return r(t,new Set)+(e>5e4?`
Tree is too large, part of the tree has been dunped
`:"")};var ZP=(s=>(s.WORKSPACES="workspaces",s.DEPENDENCIES="dependencies",s.NONE="none",s))(ZP||{}),HPe="node_modules",vg="$wsroot$";var XP=(t,e)=>{let{packageTree:r,hoistingLimits:s,errors:a,preserveSymlinksRequired:n}=lBt(t,e),l=null;if(a.length===0){let f=MPe(r,{hoistingLimits:s});l=fBt(t,f,e)}return{tree:l,errors:a,preserveSymlinksRequired:n}},oA=t=>`${t.name}@${t.reference}`,Wz=t=>{let e=new Map;for(let[r,s]of t.entries())if(!s.dirList){let a=e.get(s.locator);a||(a={target:s.target,linkType:s.linkType,locations:[],aliases:s.aliases},e.set(s.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((s,a)=>{let n=s.split(Y.delimiter).length,l=a.split(Y.delimiter).length;return a===s?0:n!==l?l-n:a>s?1:-1});return e},jPe=(t,e)=>{let r=G.isVirtualLocator(t)?G.devirtualizeLocator(t):t,s=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e;return G.areLocatorsEqual(r,s)},Vz=(t,e,r,s)=>{if(t.linkType!=="SOFT")return!1;let a=me.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return Y.contains(s,a)===null},cBt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let s=me.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},l=t.getDependencyTreeRoots(),f=new Map,h=new Set,A=(v,D)=>{let I=oA(v);if(h.has(I))return;h.add(I);let R=t.getPackageInformation(v);if(R){let N=D?oA(D):"";if(oA(v)!==N&&R.linkType==="SOFT"&&!v.reference.startsWith("link:")&&!Vz(R,v,t,s)){let U=GPe(R,v,t);(!f.get(U)||v.reference.startsWith("workspace:"))&&f.set(U,v)}for(let[U,V]of R.packageDependencies)V!==null&&(R.packagePeers.has(U)||A(t.getLocator(U,V),v))}};for(let v of l)A(v,null);let m=s.split(Y.sep);for(let v of f.values()){let D=t.getPackageInformation(v),R=me.toPortablePath(D.packageLocation.slice(0,-1)).split(Y.sep).slice(m.length),N=n;for(let U of R){let V=N.children.get(U);V||(V={children:new Map},N.children.set(U,V)),N=V}N.workspaceLocator=v}let w=(v,D)=>{if(v.workspaceLocator){let I=oA(D),R=a.get(I);R||(R=new Set,a.set(I,R)),R.add(v.workspaceLocator)}for(let I of v.children.values())w(I,v.workspaceLocator||D)};for(let v of n.children.values())w(v,n.workspaceLocator);return a},lBt=(t,e)=>{let r=[],s=!1,a=new Map,n=cBt(t),l=t.getPackageInformation(t.topLevel);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let f=t.findPackageLocator(l.packageLocation);if(f===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let h=me.toPortablePath(l.packageLocation.slice(0,-1)),A={name:f.name,identName:f.name,reference:f.reference,peerNames:l.packagePeers,dependencies:new Set,dependencyKind:1},m=new Map,w=(D,I)=>`${oA(I)}:${D}`,v=(D,I,R,N,U,V,ee,te)=>{let ie=w(D,R),ae=m.get(ie),ge=!!ae;!ge&&R.name===f.name&&R.reference===f.reference&&(ae=A,m.set(ie,A));let de=Vz(I,R,t,h);if(!ae){let Ee=0;de?Ee=2:I.linkType==="SOFT"&&R.name.endsWith(vg)&&(Ee=1),ae={name:D,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:Ee===1?new Set:I.packagePeers,dependencyKind:Ee},m.set(ie,ae)}let xe;if(de?xe=2:U.linkType==="SOFT"?xe=1:xe=0,ae.hoistPriority=Math.max(ae.hoistPriority||0,xe),te&&!de){let Ee=oA({name:N.identName,reference:N.reference}),he=a.get(Ee)||new Set;a.set(Ee,he),he.add(ae.name)}let we=new Map(I.packageDependencies);if(e.project){let Ee=e.project.workspacesByCwd.get(me.toPortablePath(I.packageLocation.slice(0,-1)));if(Ee){let he=new Set([...Array.from(Ee.manifest.peerDependencies.values(),$=>G.stringifyIdent($)),...Array.from(Ee.manifest.peerDependenciesMeta.keys())]);for(let $ of he)we.has($)||(we.set($,V.get($)||null),ae.peerNames.add($))}}let d=oA({name:R.name.replace(vg,""),reference:R.reference}),be=n.get(d);if(be)for(let Ee of be)we.set(`${Ee.name}${vg}`,Ee.reference);(I!==U||I.linkType!=="SOFT"||!de&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(ee)))&&N.dependencies.add(ae);let Ce=R!==f&&I.linkType==="SOFT"&&!R.name.endsWith(vg)&&!de;if(!ge&&!Ce){let Ee=new Map;for(let[he,$]of we)if($!==null){let De=t.getLocator(he,$),Te=t.getLocator(he.replace(vg,""),$),ot=t.getPackageInformation(Te);if(ot===null)throw new Error("Assertion failed: Expected the package to have been registered");let j=Vz(ot,De,t,h);if(e.validateExternalSoftLinks&&e.project&&j){ot.packageDependencies.size>0&&(s=!0);for(let[He,Qe]of ot.packageDependencies)if(Qe!==null){let ft=G.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${He}@${Qe}`);if(oA(ft)!==oA(De)){let Me=we.get(He);if(Me){let x=G.parseLocator(Array.isArray(Me)?`${Me[0]}@${Me[1]}`:`${He}@${Me}`);jPe(x,ft)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(e.project.configuration,G.parseIdent(De.name))} into ${G.pretLine truncated
`;for(let n=0,l=t.length;n<l;++n)a+=s+zL(String(n),t[n],e,s).replace(/^ +/,""),n+1<l&&(a+=","),a+=`
`;return a+=r,a+="]",a}function CBt(t,e,r){let s=Object.keys(t),a="";a+="{";for(let n=0,l=s.length,f=0;n<l;++n){let h=s[n],A=t[h];typeof A>"u"||(f!==0&&(a+=", "),a+=JSON.stringify(h),a+=": ",a+=zL(h,A,e,r).replace(/^ +/g,""),f+=1)}return a+="}",a}function BBt(t,e,r){let s=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{
`;let l=0;for(let f=0,h=s.length;f<h;++f){let A=s[f],m=t[A];typeof m>"u"||(l!==0&&(n+=",",n+=`
`),n+=a,n+=JSON.stringify(A),n+=": ",n+=zL(A,m,e,a).replace(/^ +/g,""),l+=1)}return l!==0&&(n+=`
`),n+=r,n+="}",n}function zL(t,e,r,s){let{next:a}=WPe[r],n=a[t]||a["*"];return YPe(e,n,s)}function YPe(t,e,r){let{collapsed:s}=WPe[e];return Array.isArray(t)?s?IBt(t,e,r):wBt(t,e,r):typeof t=="object"&&t!==null?s?CBt(t,e,r):BBt(t,e,r):JSON.stringify(t)}function KPe(t){return YPe(t,"TOP_LEVEL","")}function $P(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let s=[];for(let n of e)s.push(r.map(l=>n(l)));let a=r.map((n,l)=>l);return a.sort((n,l)=>{for(let f of s){let h=f[n]<f[l]?-1:f[n]>f[l]?1:0;if(h!==0)return h}return 0}),a.map(n=>r[n])}function vBt(t){let e=new Map,r=$P(t.fallbackExclusionList||[],[({name:s,reference:a})=>s,({name:s,reference:a})=>a]);for(let{name:s,reference:a}of r){let n=e.get(s);typeof n>"u"&&e.set(s,n=new Set),n.add(a)}return Array.from(e).map(([s,a])=>[s,Array.from(a)])}function SBt(t){return $P(t.fallbackPool||[],([e])=>e)}function bBt(t){let e=[],r=t.dependencyTreeRoots.find(s=>t.packageRegistry.get(s.name)?.get(s.reference)?.packageLocation==="./");for(let[s,a]of $P(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){if(s===null)continue;let n=[];e.push([s,n]);for(let[l,{packageLocation:f,packageDependencies:h,packagePeers:A,linkType:m,discardFromLookup:w}]of $P(a,([v])=>v===null?"0":`1${v}`)){if(l===null)continue;let v=[];s!==null&&l!==null&&!h.has(s)&&v.push([s,l]);for(let[U,V]of h)v.push([U,V]);let D=$P(v,([U])=>U),I=A&&A.size>0?Array.from(A):void 0,N={packageLocation:f,packageDependencies:D,packagePeers:I,linkType:m,discardFromLookup:w||void 0};n.push([l,N]),r&&s===r.name&&l===r.reference&&e.unshift([null,[[null,N]]])}}return e}function ex(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,pnpZipBackend:t.pnpZipBackend,fallbackExclusionList:vBt(t),fallbackPool:SBt(t),packageRegistryData:bBt(t)}}var ZPe=st(JPe());function XPe(t,e){return[t?`${t}
`:"",`/* eslint-disable */
`,`// @ts-nocheck
`,`"use strict";
`,`
`,e,`
`,(0,ZPe.default)()].join("")}function DBt(t){return JSON.stringify(t,null,2)}function PBt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\
`)}'`}function xBt(t){return[`const RAW_RUNTIME_STATE =
`,`${PBt(KPe(t))};
`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname});
`,`}
`].join("")}function kBt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,` const fs = require('fs');
`,` const path = require('path');
`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Or.pnpData)});
`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname});
`,`}
`].join("")}function $Pe(t){let e=ex(t),r=xBt(e);return XPe(t.shebang,r)}function exe(t){let e=ex(t),r=kBt(),s=XPe(t.shebang,r);return{dataFile:DBt(e),loaderFile:s}}Mt();function Jz(t,{basePath:e}){let r=me.toPortablePath(e),s=Y.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,l=new Map(t.packageRegistryData.map(([w,v])=>[w,new Map(v.map(([D,I])=>{if(w===null!=(D===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=I.discardFromLookup??!1,N={name:w,reference:D},U=n.get(I.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&R,R||(U.locator=N)):n.set(I.packageLocation,{locator:N,discardFromLookup:R});let V=null;return[D,{packageDependencies:new Map(I.packageDependencies),packagePeers:new Set(I.packagePeers),linkType:I.linkType,discardFromLookup:R,get packageLocation(){return V||(V=Y.join(s,I.packageLocation))}}]}))])),f=new Map(t.fallbackExclusionList.map(([w,v])=>[w,new Set(v)])),h=new Map(t.fallbackPool),A=t.dependencyTreeRoots,m=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:A,enableTopLevelFallback:m,fallbackExclusionList:f,pnpZipBackend:t.pnpZipBackend,fallbackPool:h,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:l}}Mt();Mt();var ad=Ae("module"),yE=Ae("url"),aJ=Ae("util");var Da=Ae("url");var ixe=st(Ae("assert"));var Zz=Array.isArray,tx=JSON.stringify,rx=Object.getOwnPropertyNames,mE=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Xz=(t,e)=>RegExp.prototype.exec.call(t,e),$z=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),Sg=(t,...e)=>String.prototype.endsWith.apply(t,e),eJ=(t,...e)=>String.prototype.includes.apply(t,e),tJ=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),nx=(t,...e)=>String.prototype.indexOf.apply(t,e),txe=(t,...e)=>String.prototype.replace.apply(t,e),bg=(t,...e)=>String.prototype.slice.apply(t,e),aA=(t,...e)=>String.prototype.startsWith.apply(t,e),rxe=Map,nxe=JSON.parse;function ix(t,e,r){return class extends r{constructor(...s){super(e(...s)),this.code=t,this.name=`${r.name} [${t}]`}}}var sxe=ix("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),rJ=ix("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),oxe=ix("ERR_INVALID_PACKAGE_TARGET",(t,e,r,s=!1,a=void 0)=>{let n=typeof r=="string"&&!s&&r.length&&!aA(r,"./");return e==="."?((0,ixe.default)(s===!1),`Invalid "exports" main target ${tx(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${s?"imports":"exports"}" target ${tx(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),sx=ix("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),axe=ix("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var ZL=Ae("url");function cxe(t,e){let r=Object.create(null);for(let s=0;s<e.length;s++){let a=e[s];mE(t,a)&&(r[a]=t[a])}return r}var JL=new rxe;function RBt(t,e,r,s){let a=JL.get(t);if(a!==void 0)return a;let n=s(t);if(n===void 0){let D={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return JL.set(t,D),D}let l;try{l=nxe(n)}catch(D){throw new sx(t,(r?`"${e}" from `:"")+(0,ZL.fileURLToPath)(r||e),D.message)}let{imports:f,main:h,name:A,type:m}=cxe(l,["imports","main","name","type"]),w=mE(l,"exports")?l.exports:void 0;(typeof f!="object"||f===null)&&(f=void 0),typeof h!="string"&&(h=void 0),typeof A!="string"&&(A=void 0),m!=="module"&&m!=="commonjs"&&(m="none");let v={pjsonPath:t,exists:!0,main:h,name:A,type:m,exports:w,imports:f};return JL.set(t,v),v}function lxe(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(Sg(n,"node_modules/package.json"))break;let l=RBt((0,ZL.fileURLToPath)(r),t,void 0,e);if(l.exists)return l;let f=r;if(r=new URL("../package.json",r),r.pathname===f.pathname)break}let s=(0,ZL.fileURLToPath)(r),a={pjsonPath:s,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return JL.set(s,a),a}function TBt(t,e,r){throw new sxe(t,e&&(0,Da.fileURLToPath)(new URL(".",e)),(0,Da.fileURLToPath)(r))}function QBt(t,e,r,s){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,Da.fileURLToPath)(e)}`;throw new rJ(t,a,s&&(0,Da.fileURLToPath)(s))}function ox(t,e,r,s,a){throw typeof e=="object"&&e!==null?e=tx(e,null,""):e=`${e}`,new oxe((0,Da.fileURLToPath)(new URL(".",r)),t,e,s,a&&(0,Da.fileURLToPath)(a))}var uxe=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f Line truncated
`),r;l=t[++n]}else if(l===" "&&!s){a=!0;continue}else if(l==='"'){s=!s;continue}a?(r.push(l),a=!1):r[r.length-1]+=l}return s&&e.push(`invalid value for NODE_OPTIONS (unterminated string)
`),r}Mt();var[vo,Xc,jBt]=process.versions.node.split(".").map(t=>parseInt(t,10)),wxe=vo>19||vo===19&&Xc>=2||vo===18&&Xc>=13,Dgr=vo===20&&Xc<6||vo===19&&Xc>=3,Pgr=vo>19||vo===19&&Xc>=6,xgr=vo>=21||vo===20&&Xc>=10||vo===18&&Xc>=19,kgr=vo>=21||vo===20&&Xc>=10||vo===18&&Xc>=20,Rgr=vo>=22,Tgr=vo===26&&Xc<1||vo===25&&Xc>=7||vo===24&&Xc===15||vo===22&&(Xc>22||Xc===22&&jBt>=3);function oJ(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send){let e=t.map(r=>me.fromPortablePath(Mo.resolveVirtual(r)));if(wxe)process.send({"watch:require":e});else for(let r of e)process.send({"watch:require":r})}}function cJ(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,s=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,f=/^\.{0,2}\//,h={name:null,reference:null},A=[],m=new Set;if(t.enableTopLevelFallback===!0&&A.push(h),e.compatibilityMode!==!1)for(let Ne of["react-scripts","gatsby"]){let Fe=t.packageRegistry.get(Ne);if(Fe)for(let Pe of Fe.keys()){if(Pe===null)throw new Error("Assertion failed: This reference shouldn't be null");A.push({name:Ne,reference:Pe})}}let{ignorePattern:w,packageRegistry:v,packageLocatorsByLocations:D}=t;function I(Ne,Fe){return{fn:Ne,args:Fe,error:null,result:null}}function R(Ne){let Fe=process.stderr?.hasColors?.()??process.stdout.isTTY,Pe=(ft,Me)=>`\x1B[${ft}m${Me}\x1B[0m`,He=Ne.error;console.error(He?Pe("31;1",`\u2716 ${Ne.error?.message.replace(/\n.*/s,"")}`):Pe("33;1","\u203C Resolution")),Ne.args.length>0&&console.error();for(let ft of Ne.args)console.error(` ${Pe("37;1","In \u2190")} ${(0,aJ.inspect)(ft,{colors:Fe,compact:!0})}`);Ne.result&&(console.error(),console.error(` ${Pe("37;1","Out \u2192")} ${(0,aJ.inspect)(Ne.result,{colors:Fe,compact:!0})}`));let Qe=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Qe.length>0){console.error();for(let ft of Qe)console.error(` ${Pe("38;5;244",ft)}`)}console.error()}function N(Ne,Fe){if(e.allowDebug===!1)return Fe;if(Number.isFinite(s)){if(s>=2)return(...Pe)=>{let He=I(Ne,Pe);try{return He.result=Fe(...Pe)}catch(Qe){throw He.error=Qe}finally{R(He)}};if(s>=1)return(...Pe)=>{try{return Fe(...Pe)}catch(He){let Qe=I(Ne,Pe);throw Qe.error=He,R(Qe),He}}}return Fe}function U(Ne){let Fe=d(Ne);if(!Fe)throw Gs("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Fe}function V(Ne){if(Ne.name===null)return!0;for(let Fe of t.dependencyTreeRoots)if(Fe.name===Ne.name&&Fe.reference===Ne.reference)return!0;return!1}let ee=new Set(["node","require",...Ixe("--conditions")]);function te(Ne,Fe=ee,Pe){let He=Ee(Y.join(Ne,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(He===null)throw Gs("INTERNAL",`The locator that owns the "${Ne}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Qe}=U(He),ft=Y.join(Qe,Or.manifest);if(!e.fakeFs.existsSync(ft))return null;let Me=JSON.parse(e.fakeFs.readFileSync(ft,"utf8"));if(Me.exports==null)return null;let x=Y.contains(Qe,Ne);if(x===null)throw Gs("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!f.test(x)&&(x=`./${x}`);try{let C=pxe({packageJSONUrl:(0,yE.pathToFileURL)(me.fromPortablePath(ft)),packageSubpath:x,exports:Me.exports,base:Pe?(0,yE.pathToFileURL)(me.fromPortablePath(Pe)):null,conditions:Fe});return me.toPortablePath((0,yE.fileURLToPath)(C))}catch(C){throw Gs("EXPORTS_RESOLUTION_FAILED",C.message,{unqualifiedPath:Xf(Ne),locator:He,pkgJson:Me,subpath:Xf(x),conditions:Fe},C.code)}}function ie(Ne,Fe,{extensions:Pe}){let He;try{Fe.push(Ne),He=e.fakeFs.statSync(Ne)}catch{}if(He&&!He.isDirectory())return e.fakeFs.realpathSync(Ne);if(He&&He.isDirectory()){let Qe;try{Qe=JSON.parse(e.fakeFs.readFileSync(Y.join(Ne,Or.manifest),"utf8"))}catch{}let ft;if(Qe&&Qe.main&&(ft=Y.resolve(Ne,Qe.main)),ft&&ft!==Ne){let Me=ie(ft,Fe,{extensions:Pe});if(Me!==null)return Me}}for(let Qe=0,ft=Pe.length;Qe<ft;Qe++){let Me=`${Ne}${Pe[Qe]}`;if(Fe.push(Me),e.fakeFs.existsSync(Me))return Me}if(He&&He.isDirectory())for(let Qe=0,ft=Pe.length;Qe<ft;Qe++){let Me=Y.format({dir:Ne,name:"index",ext:Pe[Qe]});if(Fe.push(Me),e.fakeFs.existsSync(Me))return Me}return null}function ae(Ne){let Fe=new ad.Module(Ne,null);return Fe.filename=Ne,Fe.paths=ad.Module._nodeModulePaths(Ne),Fe}function ge(Ne,Fe){return Fe.endsWith("/")&&(Fe=Y.join(Fe,"internal.js")),ad.Module._resolveFilename(me.fromPortablePath(Ne),ae(me.fromPortablePath(Fe)),!1,{plugnplay:!1})}function de(Ne){if(w===null)return!1;let Fe=Y.contains(t.basePath,Ne);return Fe===null?!1:!!w.test(Fe.replace(/\/$/,""))}let xe={std:3,resolveVirtual:1,getAllLocators:1},we=h;function d({name:Ne,reference:Fe}){let Pe=v.get(Ne);if(!Pe)return null;let He=Pe.get(Fe);return He||null}function be({name:Ne,reference:Fe}){let Pe=[];for(let[He,Qe]of v)if(He!==null)for(let[ft,Me]of Qe)ft===nulLine truncated
Require request: "${He}"
Required by: ${Qe}
`,{request:He,issuer:Qe});return me.toPortablePath(x)}let ft,Me=Ne.match(a);if(Me){if(!Fe)throw Gs("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Qe});let[,x,C]=Me,P=Ee(Fe);if(!P){let Le=ge(Ne,Fe);if(Le===!1)throw Gs("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
Require path: "${He}"
Required by: ${Qe}
`,{request:He,issuer:Qe});return me.toPortablePath(Le)}let F=U(P).packageDependencies.get(x),Z=null;if(F==null&&P.name!==null){let Le=t.fallbackExclusionList.get(P.name);if(!Le||!Le.has(P.reference)){for(let St=0,er=A.length;St<er;++St){let Ht=U(A[St]).packageDependencies.get(x);if(Ht!=null){r?Z=Ht:F=Ht;break}}if(t.enableTopLevelFallback&&F==null&&Z===null){let St=t.fallbackPool.get(x);St!=null&&(Z=St)}}}let X=null;if(F===null)if(V(P))X=Gs("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${Qe}
`,{request:He,issuer:Qe,dependencyName:x});else{let Le=Ce(x,P);Le.every(pt=>V(pt))?X=Gs("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${P.name}@${P.reference} (via ${Qe})
${Le.map(pt=>`Ancestor breaking the chain: ${pt.name}@${pt.reference}
`).join("")}
`,{request:He,issuer:Qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Le}):X=Gs("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${P.name}@${P.reference} (via ${Qe})
${Le.map(pt=>`Ancestor breaking the chain: ${pt.name}@${pt.reference}
`).join("")}
`,{request:He,issuer:Qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Le})}else F===void 0&&(!Pe&&(0,ad.isBuiltin)(Ne)?V(P)?X=Gs("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${Qe}
`,{request:He,issuer:Qe,dependencyName:x}):X=Gs("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${Qe}
`,{request:He,issuer:Qe,issuerLocator:Object.assign({},P),dependencyName:x}):V(P)?X=Gs("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${Qe}
`,{request:He,issuer:Qe,dependencyName:x}):X=Gs("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
Required package: ${x}${x!==He?` (via "${He}")`:""}
Required by: ${P.name}@${P.reference} (via ${Qe})
`,{request:He,issuer:Qe,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(Z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=Z;let Le=X.message.replace(/\n.*/g,"");X.message=Le,!m.has(Le)&&s!==0&&(m.add(Le),process.emitWarning(X))}let re=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ce=U(re);if(!ce.packageLocation)throw Gs("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
Required package: ${re.name}@${re.reference}${re.name!==He?` (via "${He}")`:""}
Required by: ${P.name}@${P.reference} (via ${Qe})
`,{request:He,issuer:Qe,dependencyLocator:Object.assign({},re)});let ke=ce.packageLocation;C?ft=Y.join(ke,C):ft=ke}else if(Y.isAbsolute(Ne))ft=Y.normalize(Ne);else{if(!Fe)throw Gs("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Qe});let x=Y.resolve(Fe);Fe.match(l)?ft=Y.normalize(Y.join(x,Ne)):ft=Y.normalize(Y.join(Y.dirname(x),Ne))}return Y.normalize(ft)}function De(Ne,Fe,Pe=ee,He){if(n.test(Ne))return Fe;let Qe=te(Fe,Pe,He);return Qe?Y.normalize(Qe):Fe}function Te(Ne,{extensions:Fe=Object.keys(ad.Module._extensions)}={}){let Pe=[],He=ie(Ne,Pe,{extensions:Fe});if(He)return oJ([He]),Y.normalize(He);{oJ(Pe);let Qe=Xf(Ne),ft=Ee(Ne);if(ft){let{packageLocation:Me}=U(ft),x=!0;try{e.fakeFs.accessSync(Me)}catch(C){if(C?.code==="ENOENT")x=!1;else{let P=(C?.message??C??"empty exception thrown").replace(/^[A-Z]/,E=>E.toLowerCase());throw Gs("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}).
Missing package: ${ft.name}@${ft.reference}
Expected package location: ${Xf(Me)}
`,{unqualifiedPath:Qe,extensions:Fe})}}if(!x){let C=Me.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Gs("QUALIFIED_PATH_RESOLUTION_FAILED",`${C}
Missing package: ${ft.name}@${ft.reference}
Expected package location: ${Xf(Me)}
`,{unqualifiedPath:Qe,extensions:Fe})}}throw Gs("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed.
Source path: ${Qe}
${Pe.map(Me=>`Not found: ${Xf(Me)}
`).join("")}`,{unqualifiedPath:Qe,extensions:Fe})}}function ot(Ne,Fe,Pe){if(!Fe)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let He=dxe({name:Ne,base:(0,yE.pathToFileURL)(me.fromPortablePath(Fe)),conditions:Pe.conditions??ee,readFileSyncFn:he});if(He instanceof URL)return Te(me.toPortablePath((0,yE.fileURLToPath)(He)),{extensions:Pe.extensions});if(He.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return j(He,Fe,Pe)}function j(Ne,Fe,Pe={}){try{if(Ne.startsWith("#"))return ot(Ne,Fe,Pe);let{considerBuiltins:He,extensions:Qe,conditions:ft}=Pe,Me=$(Ne,Fe,{considerBuiltins:He});if(Ne==="pnpapi")return Me;if(Me===null)return null;let x=()=>Fe!==null?de(Fe):!1,C=(!He||!(0,ad.isBuiltin)(Ne))&&!x()?De(Ne,Me,ft,Fe):Me;return Te(C,{extensions:Qe})}catch(He){throw Object.hasOwn(He,"pnpCode")&&Object.assign(He.data,{request:Xf(Ne),issuer:Fe&&Xf(Fe)}),He}}function rt(Ne){let Fe=Y.normalize(Ne),Pe=Mo.resolveVirtual(Fe);return Pe!==Fe?Pe:null}return{VERSIONS:xe,topLevel:we,getLocator:(Ne,Fe)=>Array.isArray(Fe)?{name:Fe[0],reference:Fe[1]}:{name:Ne,reference:Fe},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Ne=[];for(let[Fe,Pe]of v)for(let He of Pe.keys())Fe!==null&&He!==null&&Ne.push({name:Fe,reference:He});return Ne},getPackageInformation:Ne=>{let Fe=d(Ne);if(Fe===null)return null;let Pe=me.fromPortablePath(Fe.packageLocation);return{...Fe,packageLocation:Pe}},findPackageLocator:Ne=>Ee(me.toPortablePath(Ne)),resolveToUnqualified:N("resolveToUnqualified",(Ne,Fe,Pe)=>{let He=Fe!==null?me.toPortablePath(Fe):null,Qe=$(me.toPortablePath(Ne),He,Pe);return Qe===null?null:me.fromPortablePath(Qe)}),resolveUnqualified:N("resolveUnqualified",(Ne,Fe)=>me.fromPortablePath(Te(me.toPortablePath(Ne),Fe))),resolveRequest:N("resolveRequest",(Ne,Fe,Pe)=>{let He=Fe!==null?me.toPortablePath(Fe):null,Qe=j(me.toPortablePath(Ne),He,Pe);return Qe===null?null:me.fromPortablePath(Qe)}),resolveVirtual:N("resolveVirtual",Ne=>{let Fe=rt(me.toPortablePath(Ne));return Fe!==null?me.fromPortablePath(Fe):null})}}Mt();var Cxe=(t,e,r)=>{let s=ex(t),a=Jz(s,{basePath:e}),n=me.join(e,Or.pnpCjs);return cJ(a,{fakeFs:r,pnpapiResolution:n})};var uJ=st(vxe());sr();var cA={};lr(cA,{checkManifestCompatibility:()=>Sxe,extractBuildRequest:()=>XL,getExtractHint:()=>fJ,hasBindingGyp:()=>hJ});We();Mt();function Sxe(t){return G.isPackageCompatible(t,us.getArchitectureSet())}function XL(t,e,r,{configuration:s}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${G.prettyLocator(s,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${G.prettyLocator(s,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!s.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${G.prettyLocator(s,t)} lists build scripts, but all build scripts have been disabled.`)}:Sxe(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${G.prettyLocator(s,t)} The ${us.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var qBt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function fJ(t){return t.packageFs.getExtractHint({relevantExtensions:qBt})}function hJ(t){let e=Y.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var lx={};lr(lx,{getUnpluggedPath:()=>cx});We();Mt();function cx(t,{configuration:e}){return Y.resolve(e.get("pnpUnpluggedFolder"),G.slugifyLocator(t))}var VBt=new Set([G.makeIdent(null,"open").identHash,G.makeIdent(null,"opn").identHash]),Dg=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let s=Pg(r.project).cjs;if(!fe.existsSync(s))throw new ht(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ye.getFactoryWithDefault(this.pnpCache,s,()=>Ye.dynamicRequire(s,{cachingStrategy:Ye.CachingStrategy.FsTime})),n={name:G.stringifyIdent(e),reference:e.reference},l=a.getPackageInformation(n);if(!l)throw new ht(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return me.toPortablePath(l.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return nullLine truncated
`,n+=`# cause your node_modules installation to become invalidated.
`,n+=`
`,n+=`__metadata:
`,n+=` version: ${_xe}
`,n+=` nmMode: ${s.value}
`;let l=Array.from(e.keys()).sort(),f=G.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let m of l){let w=e.get(m);n+=`
`,n+=`${JSON.stringify(m)}:
`,n+=` locations:
`;for(let v of w.locations){let D=Y.contains(t.cwd,v);if(D===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(D)}
`}if(w.aliases.length>0){n+=` aliases:
`;for(let v of w.aliases)n+=` - ${JSON.stringify(v)}
`}if(m===f&&r.size>0){n+=` bin:
`;for(let[v,D]of r){let I=Y.contains(t.cwd,v);if(I===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(I)}:
`;for(let[R,N]of D){let U=Y.relative(Y.join(v,Vi),N);n+=` ${JSON.stringify(R)}: ${JSON.stringify(U)}
`}}}}let h=t.cwd,A=Y.join(h,Vi,BJ);try{a&&await fe.removePromise(A),await fe.changeFilePromise(A,n,{automaticNewlines:!0})}finally{dvt(t)}}async function yvt(t){let e=t.cwd,r=Y.join(e,Vi,BJ);try{let s=await fe.statPromise(r);return`${s.mtimeMs}:${s.size}`}catch{return null}}async function Mxe(t,{unrollAliases:e=!1}={}){let r=t.cwd,s=Y.join(r,Vi,BJ),a;try{a=await fe.statPromise(s)}catch{}if(!a)return null;let n=Fs(await fe.readFilePromise(s,"utf8"));if(n.__metadata.version>_xe)return null;let l=n.__metadata.nmMode||"classic",f=new Map,h=new Map;delete n.__metadata;for(let[A,m]of Object.entries(n)){let w=m.locations.map(D=>Y.join(r,D)),v=m.bin;if(v)for(let[D,I]of Object.entries(v)){let R=Y.join(r,me.toPortablePath(D)),N=Ye.getMapWithDefault(h,R);for(let[U,V]of Object.entries(I))N.set(U,me.toPortablePath([R,Vi,V].join(Y.sep)))}if(f.set(A,{target:Rt.dot,linkType:"HARD",locations:w,aliases:m.aliases||[]}),e&&m.aliases)for(let D of m.aliases){let{scope:I,name:R}=G.parseLocator(A),N=G.makeLocator(G.makeIdent(I,R),D),U=G.stringifyLocator(N);f.set(U,{target:Rt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:f,binSymlinks:h,locationTree:Uxe(f,{skipPrefix:t.cwd}),nmMode:l,mtimeMs:a.mtimeMs}}var a2=async(t,e)=>{if(t.split(Y.sep).indexOf(Vi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{let r;if(!e.innerLoop&&(r=await fe.lstatPromise(t),!r.isDirectory()&&!r.isSymbolicLink()||r.isSymbolicLink()&&!e.isWorkspaceDir)){await fe.unlinkPromise(t);return}let s=await fe.readdirPromise(t,{withFileTypes:!0});for(let n of s){let l=Y.join(t,n.name);n.isDirectory()?(n.name!==Vi||e&&e.innerLoop)&&await a2(l,{innerLoop:!0,contentsOnly:!1}):await fe.unlinkPromise(l)}let a=!e.innerLoop&&e.isWorkspaceDir&&r?.isSymbolicLink();!e.contentsOnly&&!a&&await fe.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Fxe=4,r_=(t,{skipPrefix:e})=>{let r=Y.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let s=r.split(Y.sep).filter(h=>h!==""),a=s.indexOf(Vi),n=s.slice(0,a).join(Y.sep),l=Y.join(e,n),f=s.slice(a);return{locationRoot:l,segments:f}},Uxe=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let s=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&Y.contains(e,n.target)!==null){let f=Ye.getFactoryWithDefault(r,n.target,s);f.locator=a,f.linkType=n.linkType}for(let l of n.locations){let{locationRoot:f,segments:h}=r_(l,{skipPrefix:e}),A=Ye.getFactoryWithDefault(r,f,s);for(let m=0;m<h.length;++m){let w=h[m];if(w!=="."){let v=Ye.getFactoryWithDefault(A.children,w,s);A.children.set(w,v),A=v}m===h.length-1&&(A.locator=a,A.linkType=n.linkType)}}}return r},SJ=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let s;try{s=await fe.lstatPromise(t)}catch{}if(!s||s.isDirectory()){await fe.symlinkPromise(t,e,"junction");return}}await fe.symlinkPromise(Y.relative(Y.dirname(e),t),e)};async function Hxe(t,e,r){let s=Y.join(t,`${CJ.default.randomBytes(16).toString("hex")}.tmp`);try{await fe.writeFilePromise(s,r);try{await fe.linkPromise(s,e)}catch{}}finally{await fe.unlinkPromise(s)}}async function Evt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:s,baseFs:a,nmMode:n}){if(r.kind==="file"){if(n.value==="hardlinks-global"&&s&&r.digest){let f=Y.join(s,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),h;try{let A=await fe.statPromise(f);if(A&&(!r.mtimeMs||A.mtimeMs>r.mtimeMs||A.mtimeMs<r.mtimeMs-pvt))if(await si.checksumFile(f,{baseFs:fe,algorithm:"sha1"})!==r.digest){let w=Y.join(s,`${CJ.default.randomBytes(16).toString("hex")}.tmp`);await fe.renamePromise(f,w);let v=await a.readFilePromise(t);await fe.writeFilePromise(w,v);try{await fe.linkPromise(w,f),r.mtimeMs=new Date().getTime(),await fe.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(A.mtimeMs));await fe.linkPromise(f,e),h=!0}catch{h=!1}if(!h){let A=await a.readFilePromise(t);await Hxe(s,f,A),r.mtimeMs=new Date().getTime();try{await fe.linkPromise(f,e)}catch(m){m&&m.code&&m.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let l=r.mode&511;l!==420&&await fe.chmodPromise(e,l)}}var Ivt=async(t,e,{baseFs:r,globalHardlinksStore:s,nmMode:a,windowsLinkType:n,packageChecksum:l})=>{await fe.mkdirPromise(t,{recursive:!0});let f=async(m=Rt.dot)=>{let w=Y.join(e,m),v=await r.readdirPromise(w,{withFileTypes:!0}),D=new Map;for(let I of v){let R=Y.join(m,I.name),N,U=Y.join(w,I.name);if(I.isFile()){if(N={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let V=await si.checksumFile(U,{baseFs:r,algorithm:"sha1"});N.digest=V}}else if(I.isDirectory())N={kind:"directory"};else if(I.isSymbolicLink())N={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(D. Line truncated
`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";if(!process.stdin.isTTY)throw new Zt(33,"The registry requires additional authentication, but Yarn is not running in an interactive terminal");let{otp:s}=await(0,kJ.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(`
`),s}function s_(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function u2(t){return{"npm-otp":t}}async function Yvt(t,{configuration:e,ident:r}){let s=null;if(process.env.GITLAB_CI)s=process.env.NPM_ID_TOKEN||null;else if(process.env.CIRCLECI)s=process.env.NPM_ID_TOKEN||null;else if(process.env.GITHUB_ACTIONS){if(!(process.env.ACTIONS_ID_TOKEN_REQUEST_URL&&process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN))return null;let a=`npm:${new URL(t).host.replace("registry.yarnpkg.com","registry.npmjs.org").replace("yarn.npmjs.org","registry.npmjs.org")}`,n=new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);n.searchParams.append("audience",a),s=(await Sn.get(n.href,{configuration:e,jsonResponse:!0,headers:{Authorization:`Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}`}})).value}if(!s)return null;try{return(await Sn.post(`${t}/-/npm/v1/oidc/token/exchange/package${Ax(r)}`,null,{configuration:e,jsonResponse:!0,headers:{Authorization:`Bearer ${s}`}})).token||null}catch{}return null}var dx=class{supports(e,r){if(!e.reference.startsWith(Ci))return!1;let{selector:s,params:a}=G.parseRange(e.reference);return!(!Zxe.default.valid(s)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,l]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:l}}async fetchFromNetwork(e,r){let{params:s}=G.parseRange(e.reference);if(s===null||typeof s.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await wE(s.__archiveUrl,{customErrorMessage:IE,configuration:r.project.configuration,ident:e});return await Hs.convertToZip(a,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};We();var gx=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Ci)||!G.tryParseDescriptor(e.range.slice(Ci.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,s){return e}getResolutionDependencies(e,r){let s=r.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Ci.length),!0));return r.resolver.getResolutionDependencies(s,r)}async getCandidates(e,r,s){let a=s.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Ci.length),!0));return await s.resolver.getCandidates(a,r,s)}async getSatisfying(e,r,s,a){let n=a.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Ci.length),!0));return a.resolver.getSatisfying(n,r,s,a)}resolve(e,r){throw new Error("Unreachable")}};We();We();var Xxe=st(Di());var cd=class t{supports(e,r){if(!e.reference.startsWith(Ci))return!1;let s=new URL(e.reference);return!(!Xxe.default.valid(s.pathname)||s.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,l]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:l}}async fetchFromNetwork(e,r){let s;try{s=await wE(t.getLocatorUrl(e),{customErrorMessage:IE,configuration:r.project.configuration,ident:e})}catch{s=await wE(t.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:IE,configuration:r.project.configuration,ident:e})}return await Hs.convertToZip(s,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:s}){let a=c2(e.scope,{configuration:s}),n=t.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=zr.clean(e.reference.slice(Ci.length));if(r===null)throw new Zt(10,"The npm semver resolver got selected, but the version isn't semver");let s=encodeURIComponent(e.name),a=encodeURIComponent(r);return`${Ax(e)}/-/${s}-${a}.tgz`}};We();We();We();var a_=st(Di());var o_=G.makeIdent(null,"node-gyp"),Kvt=/\b(node-gyp|prebuild-install)\b/;function $xe(t,e){let r=a=>Ye.mapAndFilter(e,n=>{try{let l=new zr.SemVer(n);if(a.test(l))return l}catch{}return Ye.mapAndFilter.skip}),sLine truncated
https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html`);r={_type:n5t,subject:t,predicateType:s5t,predicate:{buildType:`${l5t}/${u5t}`,builder:{id:`${Ot.CI_PROJECT_URL}/-/runners/${Ot.CI_RUNNER_ID}`},invocation:{configSource:{uri:`git+${Ot.CI_PROJECT_URL}`,digest:{sha1:Ot.CI_COMMIT_SHA},entryPoint:Ot.CI_JOB_NAME},parameters:{CI:Ot.CI,CI_API_GRAPHQL_URL:Ot.CI_API_GRAPHQL_URL,CI_API_V4_URL:Ot.CI_API_V4_URL,CI_BUILD_BEFORE_SHA:Ot.CI_BUILD_BEFORE_SHA,CI_BUILD_ID:Ot.CI_BUILD_ID,CI_BUILD_NAME:Ot.CI_BUILD_NAME,CI_BUILD_REF:Ot.CI_BUILD_REF,CI_BUILD_REF_NAME:Ot.CI_BUILD_REF_NAME,CI_BUILD_REF_SLUG:Ot.CI_BUILD_REF_SLUG,CI_BUILD_STAGE:Ot.CI_BUILD_STAGE,CI_COMMIT_BEFORE_SHA:Ot.CI_COMMIT_BEFORE_SHA,CI_COMMIT_BRANCH:Ot.CI_COMMIT_BRANCH,CI_COMMIT_REF_NAME:Ot.CI_COMMIT_REF_NAME,CI_COMMIT_REF_PROTECTED:Ot.CI_COMMIT_REF_PROTECTED,CI_COMMIT_REF_SLUG:Ot.CI_COMMIT_REF_SLUG,CI_COMMIT_SHA:Ot.CI_COMMIT_SHA,CI_COMMIT_SHORT_SHA:Ot.CI_COMMIT_SHORT_SHA,CI_COMMIT_TIMESTAMP:Ot.CI_COMMIT_TIMESTAMP,CI_COMMIT_TITLE:Ot.CI_COMMIT_TITLE,CI_CONFIG_PATH:Ot.CI_CONFIG_PATH,CI_DEFAULT_BRANCH:Ot.CI_DEFAULT_BRANCH,CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX:Ot.CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX:Ot.CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_SERVER:Ot.CI_DEPENDENCY_PROXY_SERVER,CI_DEPENDENCY_PROXY_USER:Ot.CI_DEPENDENCY_PROXY_USER,CI_JOB_ID:Ot.CI_JOB_ID,CI_JOB_NAME:Ot.CI_JOB_NAME,CI_JOB_NAME_SLUG:Ot.CI_JOB_NAME_SLUG,CI_JOB_STAGE:Ot.CI_JOB_STAGE,CI_JOB_STARTED_AT:Ot.CI_JOB_STARTED_AT,CI_JOB_URL:Ot.CI_JOB_URL,CI_NODE_TOTAL:Ot.CI_NODE_TOTAL,CI_PAGES_DOMAIN:Ot.CI_PAGES_DOMAIN,CI_PAGES_URL:Ot.CI_PAGES_URL,CI_PIPELINE_CREATED_AT:Ot.CI_PIPELINE_CREATED_AT,CI_PIPELINE_ID:Ot.CI_PIPELINE_ID,CI_PIPELINE_IID:Ot.CI_PIPELINE_IID,CI_PIPELINE_SOURCE:Ot.CI_PIPELINE_SOURCE,CI_PIPELINE_URL:Ot.CI_PIPELINE_URL,CI_PROJECT_CLASSIFICATION_LABEL:Ot.CI_PROJECT_CLASSIFICATION_LABEL,CI_PROJECT_DESCRIPTION:Ot.CI_PROJECT_DESCRIPTION,CI_PROJECT_ID:Ot.CI_PROJECT_ID,CI_PROJECT_NAME:Ot.CI_PROJECT_NAME,CI_PROJECT_NAMESPACE:Ot.CI_PROJECT_NAMESPACE,CI_PROJECT_NAMESPACE_ID:Ot.CI_PROJECT_NAMESPACE_ID,CI_PROJECT_PATH:Ot.CI_PROJECT_PATH,CI_PROJECT_PATH_SLUG:Ot.CI_PROJECT_PATH_SLUG,CI_PROJECT_REPOSITORY_LANGUAGES:Ot.CI_PROJECT_REPOSITORY_LANGUAGES,CI_PROJECT_ROOT_NAMESPACE:Ot.CI_PROJECT_ROOT_NAMESPACE,CI_PROJECT_TITLE:Ot.CI_PROJECT_TITLE,CI_PROJECT_URL:Ot.CI_PROJECT_URL,CI_PROJECT_VISIBILITY:Ot.CI_PROJECT_VISIBILITY,CI_REGISTRY:Ot.CI_REGISTRY,CI_REGISTRY_IMAGE:Ot.CI_REGISTRY_IMAGE,CI_REGISTRY_USER:Ot.CI_REGISTRY_USER,CI_RUNNER_DESCRIPTION:Ot.CI_RUNNER_DESCRIPTION,CI_RUNNER_ID:Ot.CI_RUNNER_ID,CI_RUNNER_TAGS:Ot.CI_RUNNER_TAGS,CI_SERVER_HOST:Ot.CI_SERVER_HOST,CI_SERVER_NAME:Ot.CI_SERVER_NAME,CI_SERVER_PORT:Ot.CI_SERVER_PORT,CI_SERVER_PROTOCOL:Ot.CI_SERVER_PROTOCOL,CI_SERVER_REVISION:Ot.CI_SERVER_REVISION,CI_SERVER_SHELL_SSH_HOST:Ot.CI_SERVER_SHELL_SSH_HOST,CI_SERVER_SHELL_SSH_PORT:Ot.CI_SERVER_SHELL_SSH_PORT,CI_SERVER_URL:Ot.CI_SERVER_URL,CI_SERVER_VERSION:Ot.CI_SERVER_VERSION,CI_SERVER_VERSION_MAJOR:Ot.CI_SERVER_VERSION_MAJOR,CI_SERVER_VERSION_MINOR:Ot.CI_SERVER_VERSION_MINOR,CI_SERVER_VERSION_PATCH:Ot.CI_SERVER_VERSION_PATCH,CI_TEMPLATE_REGISTRY_HOST:Ot.CI_TEMPLATE_REGISTRY_HOST,GITLAB_CI:Ot.GITLAB_CI,GITLAB_FEATURES:Ot.GITLAB_FEATURES,GITLAB_USER_ID:Ot.GITLAB_USER_ID,GITLAB_USER_LOGIN:Ot.GITLAB_USER_LOGIN,RUNNER_GENERATE_ARTIFACTS_METADATA:Ot.RUNNER_GENERATE_ARTIFACTS_METADATA},environment:{name:Ot.CI_RUNNER_DESCRIPTION,architecture:Ot.CI_RUNNER_EXECUTABLE_ARCH,server:Ot.CI_SERVER_URL,project:Ot.CI_PROJECT_PATH,job:{id:Ot.CI_JOB_ID},pipeline:{id:Ot.CI_PIPELINE_ID,ref:Ot.CI_CONFIG_PATH}}},metadata:{buildInvocationId:`${Ot.CI_JOB_URL}`,completeness:{parameters:!0,environment:!0,materials:!1},reproducible:!1},materials:[{uri:`git+${Ot.CI_PROJECT_URL}`,digest:{sha1:Ot.CI_COMMIT_SHA}}]}}}else throw new Zt(91,"Provenance generation is only supported in GitHub Actions and GitLab CI");return HUe.attest(Buffer.from(JSON.stringify(r)),r5t,e)};async function f5t(t,e,{access:r,tag:s,registry:a,gitHead:n,provenance:l}){let f=t.manifest.name,h=t.manifest.version,A=G.stringifyIdent(f),m=GUe.default.fromData(e,{algorithms:["sha1","sha512"]}),w=r??qUe(t,f),v=await VUe(t),D=await fA.genPackageManifest(t),I=`${A}-${h}.tgz`,R=new URL(`${ku(a)}/${A}/-/${I}`),N={[I]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}};if(l){let U={name:`pkg:npm/${A.replace(/^@/,"%40")}@${h}`,digest:{sha512:m.sha512[0].hexDigest()}},V=await jUe([U]),ee=JSON.stringify(V);N[`${A}-${h}.sigstore`]={content_type:V.mediaType,data:ee,length:ee.length}}return{_id:A,_attachments:N,name:A,access:w,"dist-tags":{[s]:h},versions:{[h]:{...D,_id:`${A}@${h}`,name:A,version:h,gitHead:n,dist:{shasum:m.sha1[0].hexDigest(),integrity:m.sha512[0].toString(),tarball:R.toString()}}},readme:v}}async function h5t(t){try{let{stdout:e}=await un.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return} Line truncated
`;try{a=await fe.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var Aie={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},WUe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},YUe={npmMinimalAgeGate:{description:"Minimum age of a package version according to the publish date on the npm registry to be considered for installation",type:"DURATION",unit:"m",default:"1d"}},A5t={npmPreapprovedPackages:{description:"Array of package descriptors or package name glob patterns to exclude from the minimum release age check",type:"STRING",isArray:!0,default:[]}},p5t={configuration:{...Aie,...WUe,...YUe,...A5t,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...Aie,...WUe,...YUe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:ku,valueDefinition:{description:"",type:"SHAPE",properties:{...Aie}}}},fetchers:[dx,cd],resolvers:[gx,mx,yx]},d5t=p5t;var vie={};lr(vie,{NpmAuditCommand:()=>VB,NpmInfoCommand:()=>WB,NpmLoginCommand:()=>YB,NpmLogoutCommand:()=>zB,NpmPublishCommand:()=>JB,NpmStageApproveCommand:()=>ZB,NpmStageListCommand:()=>XB,NpmStageRejectCommand:()=>$B,NpmTagAddCommand:()=>tv,NpmTagListCommand:()=>ev,NpmTagRemoveCommand:()=>rv,NpmWhoamiCommand:()=>nv,default:()=>P5t,npmAuditTypes:()=>AR,npmAuditUtils:()=>D8});We();We();sr();var Eie=st(ma());ga();var AR={};lr(AR,{Environment:()=>fR,Severity:()=>hR});var fR=(s=>(s.All="all",s.Production="production",s.Development="development",s))(fR||{}),hR=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(hR||{});var D8={};lr(D8,{allSeverities:()=>qB,getPackages:()=>yie,getReportTree:()=>gie,getSeverityInclusions:()=>die,getTopLevelDependencies:()=>mie});We();var KUe=st(Di());var qB=["info","low","moderate","high","critical"];function die(t){if(typeof t>"u")return new Set(qB);let e=qB.indexOf(t),r=qB.slice(e);return new Set(r)}function gie(t){let e={},r={children:e};for(let[s,a]of Ye.sortMap(Object.entries(t),n=>n[0]))for(let n of Ye.sortMap(a,l=>`${l.id}`))e[`${s}/${n.id}`]={value:pe.tuple(pe.Type.IDENT,G.parseIdent(s)),children:{ID:typeof n.id<"u"&&{label:"ID",value:pe.tuple(pe.Type.ID,n.id)},Issue:{label:"Issue",value:pe.tuple(pe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:pe.tuple(pe.Type.URL,n.url)},Severity:{label:"Severity",value:pe.tuple(pe.Type.NO_HINT,n.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:pe.tuple(pe.Type.RANGE,n.vulnerable_versions)},"Tree Versions":{label:"Tree Versions",children:[...n.versions].sort(KUe.default.compare).map(l=>({value:pe.tuple(pe.Type.REFERENCE,l)}))},Dependents:{label:"Dependents",children:Ye.sortMap(n.dependents,l=>G.stringifyLocator(l)).map(l=>({value:pe.tuple(pe.Type.LOCATOR,l)}))}}};return r}function mie(t,e,{all:r,environment:s}){let a=[],n=r?t.workspaces:[e],l=["all","production"].includes(s),f=["all","development"].includes(s);for(let h of n)for(let A of h.anchoredPackage.dependencies.values())(h.manifest.devDependencies.has(A.identHash)?!f:!l)||a.push({workspace:h,dependency:A});return a}function yie(t,e,{recursive:r}){let s=new Map,a=new Set,n=[],l=t.configuration.makeResolver(),f={project:t,resolver:l},h=(A,m)=>{let w=t.storedResolutions.get(m.descriptorHash);if(typeof w>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(w))a.add(w);else return;let v=t.storedPackages.get(w);if(typeof v>"u")throw new Error("Assertion failed: The package should have been registered");let D=G.ensureDevirtualizedDescriptor(m);if(l.supportsDescriptor(D,f)){let R=l.getResolutionDependencies(D,f);if(Object.keys(R).length>0)for(let N of Object.values(R))h(A,N)}if(G.ensureDevirtualizedLocator(v).reference.startsWith("npm:")&&v.version!==null){let R=G.stringifyIdent(v),N=Ye.getMapWithDefault(s,R);Ye.getArrayWithDefault(N,v.version).push(A)}if(r)for(let R of v.dependencies.values())n.push([v,R])};for(let{workspace:A,dependency:m}of e)n.push([A.anchoredLocator,m]);for(;n.length>0;){let[A,m]=n.shift();h(A,m)}return s}var VB=class extends mt{constructor(){super(...arguments);this.all=ye.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ye.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environm Line truncated
This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).
For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.
Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${qB.map(r=>`\`${r}\``).join(", ")}.
If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.
If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option.
If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option.
To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them.
`,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);await s.restoreInstallState();let n=mie(s,a,{all:this.all,environment:this.environment}),l=yie(s,n,{recursive:this.recursive}),f=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),h=Object.create(null);for(let[N,U]of l)f.some(V=>Eie.default.isMatch(N,V))||(h[N]=[...U.keys()]);let A=_n.getAuditRegistry({configuration:r}),m,w=await tA.start({configuration:r,stdout:this.context.stdout},async()=>{let N=Jr.post("/-/npm/v1/security/advisories/bulk",h,{authType:Jr.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:A}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(h),async([ee,te])=>{let ie=await Jr.getPackageMetadata(G.parseIdent(ee),{project:s});return Ye.mapAndFilter(te,ae=>{let{deprecated:ge}=ie.versions[ae];return ge?[ee,ae,ge]:Ye.mapAndFilter.skip})})),V=await N;for(let[ee,te,ie]of U.flat(1))Object.hasOwn(V,ee)&&V[ee].some(ae=>zr.satisfiesWithPrereleases(te,ae.vulnerable_versions))||(V[ee]??=[],V[ee].push({id:`${ee} (deprecation)`,title:(typeof ie=="string"?ie:"").trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:te}));m=V});if(w.hasErrors())return w.exitCode();let v=die(this.severity),D=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),I=Object.create(null);for(let[N,U]of Object.entries(m)){let V=U.filter(ee=>!Eie.default.isMatch(`${ee.id}`,D)&&v.has(ee.severity));V.length>0&&(I[N]=V.map(ee=>{let te=l.get(N);if(typeof te>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let ie=[...te.keys()].filter(ge=>zr.satisfiesWithPrereleases(ge,ee.vulnerable_versions)),ae=new Map;for(let ge of ie)for(let de of te.get(ge))ae.set(de.locatorHash,de);return{...ee,versions:ie,dependents:[...ae.values()]}}))}let R=Object.keys(I).length>0;return R?(bs.emitTree(gie(I),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Wt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async N=>{N.reportInfo(1,"No audit suggestions")}),R?1:0)}};We();We();Mt();sr();var Iie=st(Di()),wie=Ae("util"),WB=class extends mt{constructor(){super(...arguments);this.fields=ye.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ye.Rest()}static{this.paths=[["npm","info"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about [email protected]","yarn npm info [email protected]"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm in Line truncated
`),this.context.stdout.write(`${(0,wie.inspect)(h,{depth:1/0,colors:!0,compact:!1})}
`);return f.exitCode()}};function Cie(t){if(Array.isArray(t)){let e=[];for(let r of t)r=Cie(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let s=Cie(t[r]);s&&(e[r]=s)}return e}else return t||null}We();We();sr();var Bie=st(gD()),YB=class extends mt{constructor(){super(...arguments);this.scope=ye.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ye.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ye.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"});this.webLogin=ye.Boolean("--web-login",{description:"Enable web login"})}static{this.paths=[["npm","login"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=await P8({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Wt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let l=await I5t({registry:s,configuration:r,report:n,webLogin:this.webLogin,stdin:this.context.stdin,stdout:this.context.stdout});return await C5t(s,l,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};async function P8({scope:t,publish:e,configuration:r,cwd:s}){return t&&e?_n.getScopeRegistry(t,{configuration:r,type:_n.RegistryType.PUBLISH_REGISTRY}):t?_n.getScopeRegistry(t,{configuration:r}):e?_n.getPublishRegistry((await TC(r,s)).manifest,{configuration:r}):_n.getDefaultRegistry({configuration:r})}async function g5t(t,e){let r;try{r=await Jr.post("/-/v1/login",null,{configuration:e,registry:t,authType:Jr.AuthType.NO_AUTH,jsonResponse:!0,headers:{"npm-auth-type":"web"}})}catch{return null}return r}async function m5t(t,e){let r=await Sn.request(t,null,{configuration:e,jsonResponse:!0});if(r.statusCode===202){let s=r.headers["retry-after"]??"1";return{type:"waiting",sleep:parseInt(s,10)}}return r.statusCode===200?{type:"success",token:r.body.token}:null}async function y5t({registry:t,configuration:e,report:r}){let s=await g5t(t,e);if(!s)return null;if(us.openUrl){r.reportInfo(0,"Starting the web login process..."),r.reportSeparator();let{openNow:a}=await(0,Bie.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open your browser now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});r.reportSeparator(),(!a||!await us.openUrl(s.loginUrl))&&(r.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice:"),r.reportWarning(0,pe.pretty(e,s.loginUrl,pe.Type.URL)),r.reportSeparator())}for(;;){let a=await m5t(s.doneUrl,e);if(a===null)return null;if(a.type==="waiting")await new Promise(n=>setTimeout(n,a.sleep*1e3));else return a.token}}var E5t=["https://registry.yarnpkg.com","https://registry.npmjs.org"];async function I5t(t){if(t.webLogin??E5t.includes(t.registry)){let e=await y5t(t);if(e!==null)return e}return await w5t(t)}async function w5t({registry:t,configuration:e,report:r,stdin:s,stdout:a}){let n=await B5t({configuration:e,registry:t,report:r,stdin:s,stdout:a}),l=`/-/user/org.couchdb.user:${encodeURIComponent(n.name)}`,f={_id:`org.couchdb.user:${n.name}`,name:n.name,password:n.password,type:"user",roles:[],date:new Date().toISOString()},h={attemptedAs:n.name,configuration:e,registry:t,jsonResponse:!0,authType:Jr.AuthType.NO_AUTH};try{return(await Jr.put(l,f,h)).token}catch(D){if(!(D.originalError?.name==="HTTPError"&&D.originalError?.response.statusCode===409))throw D}let A={...h,authType:Jr.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${n.name}:${n.password}`).toString("base64")}`}},m=await Jr.get(l,A);for(let[D,I]of Object.entries(m))(!f[D]||D==="roles")&&(f[D]=I);let w=`${l}/-rev/${f._rev}`;return(await Jr.put(w,f,A)).token}async function C5t(t,e,{alwaysAuth:r,scope:s}){let a=l=>f=>{let h=Ye.isIndexableObject(f)?f:{},A=h[l],m=Ye.isIndexableObject(A)?A:{};return{...h,[l]:{...m,...r!==void Line truncated
This command will list all staged package versions awaiting approval on the npm registry.
If a package name is provided, only staged versions of that package will be listed.
`,examples:[["List all staged packages","yarn npm stage list"],["List staged versions of a specific package","yarn npm stage list my-pkg"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=_n.getDefaultRegistry({configuration:r,type:_n.RegistryType.PUBLISH_REGISTRY}),a=await b5t(r,s,this.package??void 0);if(await Wt.start({configuration:r,stdout:this.context.stdout,json:this.json,includeFooter:!1,includePrefix:!1},async l=>{a.length>0?(l.reportInfo(0,`The following packages are awaiting approval. Use ${pe.pretty(r,"yarn npm stage approve <stageId>",pe.Type.CODE)} to approve them.`),l.reportSeparator()):this.package?l.reportInfo(0,`No staged versions found for package ${this.package}`):l.reportInfo(0,"No staged packages found")}),a.length===0)return;let n={children:a.map(l=>{let f=G.parseIdent(l.packageName);return{value:pe.tuple(pe.Type.RESOLUTION,{descriptor:G.makeDescriptor(f,l.tag),locator:G.makeLocator(f,l.version)}),children:{ID:{label:"ID",value:pe.tuple(pe.Type.CODE,l.id)},Staged:{label:"Staged on",value:pe.tuple(pe.Type.NO_HINT,l.createdAt)}}}})};bs.emitTree(n,{configuration:r,json:this.json,stdout:this.context.stdout,separators:1})}};async function b5t(t,e,r){let s=[],a=0,n=100;for(;;){let l={page:String(a),perPage:String(n)};r&&(l.package=r);let f=new URLSearchParams(l).toString(),h=await Jr.get(`/-/stage?${f}`,{configuration:t,registry:e,jsonResponse:!0,authType:Jr.AuthType.ALWAYS_AUTH});if(s.push(...h.items),s.length>=h.total||h.items.length<n)break;a++}return s}We();sr();ga();var $B=class extends mt{constructor(){super(...arguments);this.stageId=ye.String({validator:P0(_h(),[xp(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i)])});this.otp=ye.String("--otp",{description:"The OTP token to use with the command"})}static{this.paths=[["npm","stage","reject"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"reject a staged package version",details:"\n This command will reject a staged package version, permanently removing it from the registry staging area. This operation requires 2FA and will prompt for an OTP token if one is not provided via the `--otp` flag.\n ",examples:[["Reject a staged package","yarn npm stage reject 1de6f3db-2ed9-4d72-b3dd-8f0e2b474a2f"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s=_n.getDefaultRegistry({configuration:r,type:_n.RegistryType.PUBLISH_REGISTRY});return(await Wt.start({configuration:r,stdout:this.context.stdout},async n=>{let l=pe.pretty(r,this.stageId,pe.Type.CODE);n.reportInfo(0,`Rejecting staged package ${pe.pretty(r,l,pe.Type.CODE)}...`),n.reportSeparator(),await Jr.del(`/-/stage/${this.stageId}`,{configuration:r,registry:s,otp:this.otp,authType:Jr.AuthType.ALWAYS_AUTH}),n.reportInfo(0,`Staged package ${pe.pretty(r,l,pe.Type.CODE)} has been rejected.`)})).exitCode()}};We();sr();var JUe=st(Di());We();Mt();sr();var ev=class extends mt{constructor(){super(...arguments);this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ye.String({required:!1})}static{this.paths=[["npm","tag","list"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:`
This command will list all tags of a package from the npm registry.
If the package is not specified, Yarn will default to the current workspace.
`,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=G.parseIdent(this.package);else{if(!a)throw new Dr(s.cwd,this.context.cwd);if(!a.manifest.name)throw new ht(`Missing 'name' field in ${me.fromPortablePath(Y.join(a.cwd,Or.manifest))}`);n=a.manifest.name}let l=await pR(n,r),h={children:Ye.sortMap(Object.entries(l),([A])=>A).map(([A,m])=>({value:pe.tuple(pe.Type.RESOLUTION,{descriptor:G.makeDescriptor(n,A),locator:G.makeLocator(n,m)})}))};return bs.emitTree(h,{configuration:r,json:this.json,stdout:this.context.stdout})}};async function pR(t,e){let r=`/-/package${Jr.getIdentUrl(t)}/dist-tags`;return Jr.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Jr.customPackageError})}var tv=class extends mt{constructor(){super(...arguments);this.package=ye.String();this.tag=ye.String()}static{this.paths=[["npm","tag","add"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:`
This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.
`,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add [email protected] beta"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);let n=G.parseDescriptor(this.package,!0),l=n.range;if(!JUe.default.valid(l))throw new ht(`The range ${pe.pretty(r,n.range,pe.Type.RANGE)} must be a valid semver version`);let f=_n.getPublishRegistry(a.manifest,{configuration:r}),h=pe.pretty(r,n,pe.Type.IDENT),A=pe.pretty(r,l,pe.Type.RANGE),m=pe.pretty(r,this.tag,pe.Type.CODE);return(await Wt.start({configuration:r,stdout:this.context.stdout},async v=>{let D=await pR(n,r);Object.hasOwn(D,this.tag)&&D[this.tag]===l&&v.reportWarning(0,`Tag ${m} is already set to version ${A}`);let I=`/-/package${Jr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Jr.put(I,l,{configuration:r,registry:f,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${m} added to version ${A} of package ${h}`)})).exitCode()}};We();sr();var rv=class extends mt{constructor(){super(...arguments);this.package=ye.String();this.tag=ye.String()}static{this.paths=[["npm","tag","remove"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:`
This command will remove a tag from a package from the npm registry.
`,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]})}async execute(){if(this.tag==="latest")throw new ht("The 'latest' tag cannot be removed.");let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);let n=G.parseIdent(this.package),l=_n.getPublishRegistry(a.manifest,{configuration:r}),f=pe.pretty(r,this.tag,pe.Type.CODE),h=pe.pretty(r,n,pe.Type.IDENT),A=await pR(n,r);if(!Object.hasOwn(A,this.tag))throw new ht(`${f} is not a tag of package ${h}`);return(await Wt.start({configuration:r,stdout:this.context.stdout},async w=>{let v=`/-/package${Jr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Jr.del(v,{configuration:r,registry:l,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${f} removed from package ${h}`)})).exitCode()}};We();We();sr();var nv=class extends mt{constructor(){super(...arguments);this.scope=ye.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ye.Boolean("--publish",!1,{description:"Print username for the publish registry"})}static{this.paths=[["npm","whoami"]]}static{this.usage=At.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),s;return this.scope&&this.publish?s=_n.getScopeRegistry(this.scope,{configuration:r,type:_n.RegistryType.PUBLISH_REGISTRY}):this.scope?s=_n.getScopeRegistry(this.scope,{configuration:r}):this.publish?s=_n.getPublishRegistry((await TC(r,this.context.cwd)).manifest,{configuration:r}):s=_n.getDefaultRegistry({configuration:r}),(await Wt.start({configuration:r,stdout:this.context.stdout},async n=>{let l;try{l=await Jr.get("/-/whoami",{configuration:r,registry:s,authType:Jr.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?G.makeIdent(this.scope,""):void 0})}catch(f){if(f.response?.statusCode===401||f.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw f}n.reportInfo(0,l.username)})).exitCode()}};var D5t={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmPublishProvenance:{description:"Whether to generate provenance for the published packages",type:"BOOLEAN",default:!1},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[VB,WB,YB,zB,JB,ZB,XB,$B,tv,ev,rv,nv]},P5t=D5t;var Rie={};lr(Rie,{PatchCommand:()=>lv,PatchCommitCommand:()=>cv,PatchFetcher:()=>ER,PatchResolver:()=>IR,default:()=>Y5t,patchUtils:()=>dI});We();We();Mt();Kh();var dI={};lr(dI,{applyPatchFile:()=>k8,diffFolders:()=>xie,ensureUnpatchedDescriptor:()=>Sie,ensureUnpatchedLocator:()=>T8,extractPackageToDisk:()=>Pie,extractPatchFlags:()=>n8e,isParentRequired:()=>Die,isPatchDescriptor:()=>R8,isPatchLocator:()=>dm,loadPatchFiles:()=>yR,makeDescriptor:()=>Q8,makeLocator:()=>bie,makePatchHash:()=>kie,parseDescriptor:()=>gR,parseLocator:()=>mR,parsePatchFile:()=>dR,unpatchDescriptor:()=>G5t,unpatchLocator:()=>q5t});We();Mt();We();Mt();var x5t=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function iv(t){return Y.relative(Rt.root,Y.resolve(Rt.root,me.toPortablePath(t)))}function k5t(t){let e=t.trim().match(x5t);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var R5t=420,T5t=493;var ZUe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Q5t=t=>({header:k5t(t),parts:[]}),F5t={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function NLine truncated
`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":`
`):"";await e.mkdirpPromise(Y.dirname(a.path),{chmod:493,utimes:[Oi.SAFE_TIME,Oi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Oi.SAFE_TIME,Oi.SAFE_TIME)}break;case"patch":await ov(e,a.path,async()=>{await U5t(a,{baseFs:e,dryRun:r})});break;case"mode change":{let l=(await e.statPromise(a.path)).mode;if(XUe(a.newMode)!==XUe(l))continue;await ov(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:Ye.assertNever(a);break}}function XUe(t){return(t&64)>0}function $Ue(t){return t.replace(/\s+$/,"")}function M5t(t,e){return $Ue(t)===$Ue(e)}async function U5t({hunks:t,path:e},{baseFs:r,dryRun:s=!1}){let a=await r.statSync(e).mode,l=(await r.readFileSync(e,"utf8")).split(/\n/),f=[],h=0,A=0;for(let w of t){let v=Math.max(A,w.header.patched.start+h),D=Math.max(0,v-A),I=Math.max(0,l.length-v-w.header.original.length),R=Math.max(D,I),N=0,U=0,V=null;for(;N<=R;){if(N<=D&&(U=v-N,V=e8e(w,l,U),V!==null)){N=-N;break}if(N<=I&&(U=v+N,V=e8e(w,l,U),V!==null))break;N+=1}if(V===null)throw new sv(t.indexOf(w),w);f.push(V),h+=N,A=U+w.header.original.length}if(s)return;let m=0;for(let w of f)for(let v of w)switch(v.type){case"splice":{let D=v.index+m;l.splice(D,v.numToDelete,...v.linesToInsert),m+=v.linesToInsert.length-v.numToDelete}break;case"pop":l.pop();break;case"push":l.push(v.line);break;default:Ye.assertNever(v);break}await r.writeFilePromise(e,l.join(`
`),{mode:a})}function e8e(t,e,r){let s=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let l=e[r];if(l==null||!M5t(l,n))return null;r+=1}a.type==="deletion"&&(s.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&s.push({type:"push",line:""}))}break;case"insertion":s.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&s.push({type:"pop"});break;default:Ye.assertNever(a.type);break}return s}var j5t=/^builtin<([^>]+)>$/;function av(t,e){let{protocol:r,source:s,selector:a,params:n}=G.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(s===null)throw new Error("Patch locators must explicitly define their source");let l=a?a.split(/&/).map(m=>me.toPortablePath(m)):[],f=n&&typeof n.locator=="string"?G.parseLocator(n.locator):null,h=n&&typeof n.version=="string"?n.version:null,A=e(s);return{parentLocator:f,sourceItem:A,patchPaths:l,sourceVersion:h}}function R8(t){return t.range.startsWith("patch:")}function dm(t){return t.reference.startsWith("patch:")}function gR(t){let{sourceItem:e,...r}=av(t.range,G.parseDescriptor);return{...r,sourceDescriptor:e}}function mR(t){let{sourceItem:e,...r}=av(t.reference,G.parseLocator);return{...r,sourceLocator:e}}function G5t(t){let{sourceItem:e}=av(t.range,G.parseDescriptor);return e}function q5t(t){let{sourceItem:e}=av(t.reference,G.parseLocator);return e}function Sie(t){if(!R8(t))return t;let{sourceItem:e}=av(t.range,G.parseDescriptor);return e}function T8(t){if(!dm(t))return t;let{sourceItem:e}=av(t.reference,G.parseLocator);return e}function t8e({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:s,patchHash:a},n){let l=t!==null?{locator:G.stringifyLocator(t)}:{},f=typeof s<"u"?{version:s}:{},h=typeof a<"u"?{hash:a}:{};return G.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...f,...h,...l}})}function Q8(t,{parentLocator:e,sourceDescriptor:r,patchPaths:s}){return G.makeDescriptor(t,t8e({parentLocator:e,sourceItem:r,patchPaths:s},G.stringifyDescriptor))}function bie(t,{parentLocator:e,sourcePackage:r,patchPaths:s,patchHash:a}){return G.makeLocator(t,t8e({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:s,patchHash:a},G.stringifyLocator))}function r8e({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:s},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let l=a.match(j5t);return l!==null?s(l[1]):a.startsWith("~/")?r(a.slice(2)):Y.isAbsolute(a)?t(a):e(a)}function n8e(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function Die(t){return r8e({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function yR(t,e,r){let s=t!==null?await r.fetcher.fetch(t,r):null,a=s&&s.localPath?{packageFs:new Jn(Rt.root),prefixPath:Y.relative(Rt.root,s.localPath)}:s;s&&s!==a&&s.releaseFs&&s.releaseFs();let n=await Ye.releaseAfterUseAsync(async()=>await Promise.all(e.map(async l=>{let f=n8e(l),h=await r8e({onAbsolute:async A=>await fe.readFilePromise(A,"utf8"),onRelative:async A=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(Y.join(a.prefixPath,A),"utf8")},onProject:async A=>await fe.readFilePromise(Y.join(r.project.cwd,A),"utf8"),onBuiltin:async A=>await r.project.configuration.firstHook(m=>m.getBuiltinPatch,r.project,A)},l);return{...f,source:h}})));for(let l of n)typeof l.source=="string"&&(l.source=l.source.replace(/\r\n?/g,`
`));return n}async function Pie(t,{cache:e,project:r}){let s=r.storedPackages.get(t.locatorHash);if(typeof s>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=T8(t),n=r.storedChecksums,l=new rs,f=await fe.mktempPromise(),h=Y.join(f,"source"),A=Y.join(f,"user"),m=Y.join(f,".yarn-patch.json"),w=r.configuration.makeFetcher(),v=[];try{let D,I;if(t.locatorHash===a.locatorHash){let R=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:l});v.push(()=>R.releaseFs?.()),D=R,I=R}else D=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:l}),v.push(()=>D.releaseFs?.()),I=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:l}),v.push(()=>I.releaseFs?.());await Promise.all([fe.copyPromise(h,D.prefixPath,{baseFs:D.packageFs}),fe.copyPromise(A,I.prefixPath,{baseFs:I.packageFs}),fe.writeJsonPromise(m,{locator:G.stringifyLocator(t),version:s.version})])}finally{for(let D of v)D()}return fe.detachTemp(f),A}async function xie(t,e){let r=me.fromPortablePath(t).replace(/\\/g,"/"),s=me.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await un.execvp("git",["-c","core.safecrlf=false","-c","core.quotePath=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,s],{cwd:me.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
The following error was reported by 'git':
${n}`);let l=r.startsWith("/")?f=>f.slice(1):f=>f;return a.replace(new RegExp(`(a|b)(${Ye.escapeRegExp(`/${l(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ye.escapeRegExp(`/${l(s)}/`)}`,"g"),"$1/").replace(new RegExp(Ye.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ye.escapeRegExp(`${s}/`),"g"),"")}function kie(t,e){let r=[];for(let{source:s}of t){if(s===null)continue;let a=dR(s);for(let n of a){let{semverExclusivity:l,...f}=n;l!==null&&e!==null&&!zr.satisfiesWithPrereleases(e,l)||r.push(JSON.stringify(f))}}return si.makeHash(`${3}`,...r).slice(0,6)}We();function i8e(t,{configuration:e,report:r}){for(let s of t.parts)for(let a of s.lines)switch(s.type){case"context":r.reportInfo(null,` ${pe.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${pe.pretty(e,a,pe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${pe.pretty(e,a,pe.Type.ADDED)}`);break;default:Ye.assertNever(s.type)}}function V5t(t){return t instanceof Error&&"code"in t&&t.code==="ENOENT"}var ER=class{supports(e,r){return!!dm(e)}getLocalPath(e,r){return null}async fetch(e,r){let s=r.checksums.get(e.locatorHash)||null,[a,n,l]=await r.cache.fetchPackageFromCache(e,s,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:l}}async patchPackage(e,r){let{parentLocator:s,sourceLocator:a,sourceVersion:n,patchPaths:l}=mR(e),f=await yR(s,l,r),h=await fe.mktempPromise(),A=Y.join(h,"current.zip"),m=await r.fetcher.fetch(a,r),w=G.getIdentVendorPath(e),v=new _s(A,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ye.releaseAfterUseAsync(async()=>{await v.copyPromise(w,m.prefixPath,{baseFs:m.packageFs,stableSort:!0})},m.releaseFs),v.saveAndClose();for(let{source:D,optional:I}of f){if(D===null)continue;let R=new _s(A,{level:r.project.configuration.get("compressionLevel")}),N=new Jn(Y.resolve(Rt.root,w),{baseFs:R});try{await k8(dR(D),{baseFs:N,version:n})}catch(U){let V=U instanceof sv?U:null;if(!(V!==null||I&&V5t(U)))throw U;let te=r.project.configuration.get("enableInlineHunks"),ie=V!==null&&!te&&!I?" (set enableInlineHunks for details)":"",ae=`${G.prettyLocator(r.project.configuration,e)}: ${U.message}${ie}`,ge=de=>{V===null||!te||i8e(V.hunk,{configuration:r.project.configuration,report:de})};if(R.discardAndClose(),I){r.report.reportWarningOnce(66,ae,{reportExtra:ge});continue}else throw new Zt(66,ae,ge)}R.saveAndClose()}return new _s(A,{level:r.project.configuration.get("compressionLevel")})}};We();var IR=class{supportsDescriptor(e,r){return!!R8(e)}supportsLocator(e,r){return!!dm(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,s){let{patchPaths:a}=gR(e);return a.every(n=>!Die(n))?e:G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:s}=gR(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(s)}}async getCandidates(e,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=gR(e),l=await yR(a,n,s.fetchOptions),f=r.sourceDescriptor;if(typeof f>"u")throw new Error("Assertion failed: The dependency should have been resolved");let h=kie(l,f.version);return[bie(e,{parentLocator:a,sourcePackage:f,patchPaths:n,patchHash:h})]}async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);return{locators:s.filter(l=>l.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:s}=mR(e);return{...await r.resolver.resolve(s,r),...e}}};We();Mt();sr();var cv=class extends mt{constructor(){super(...arguments);this.save=ye.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ye.String()}static{this.paths=[["patch-commit"]]}static{this.usage=At.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Yt.find(r,this.context.cwd);if(!a)throw new Dr(s.cwd,this.context.cwd);await s.restoreInstallState();let n=Y.Line truncated
${f.map(h=>`
- ${G.prettyLocator(r,h)}`).join("")}`);l=f[0]}if(!s.storedPackages.has(l.locatorHash))throw new ht("No package found in the project for the given locator");await Wt.start({configuration:r,json:this.json,stdout:this.context.stdout},async f=>{let h=T8(l),A=await Pie(l,{cache:n,project:s});f.reportJson({locator:G.stringifyLocator(h),path:me.fromPortablePath(A)});let m=this.update?" along with its current modifications":"";f.reportInfo(0,`Package ${G.prettyLocator(r,h)} got extracted with success${m}!`),f.reportInfo(0,`You can now edit the following folder: ${pe.pretty(r,me.fromPortablePath(A),"magenta")}`),f.reportInfo(0,`Once you are done run ${pe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${me.fromPortablePath(A)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};var W5t={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[cv,lv],fetchers:[ER],resolvers:[IR]},Y5t=W5t;var Fie={};lr(Fie,{PnpmLinker:()=>CR,default:()=>ejt});We();Mt();sr();var s8e=".package-map.json",CR=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new ht(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new ht(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new ht(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let h=a.locatorByPath.get(n[1]);if(h)return h}let l=e,f=e;do{f=l,l=Y.dirname(f);let h=a.locatorByPath.get(f);if(h)return h}while(l!==f);return null}makeInstaller(e){return new Tie(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Tie=class{constructor(e){this.opts=e;this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.packageMapNodesByLocator=new Map;this.asyncActions=new Ye.AsyncActions(e.project.configuration.get("pnpmInstallConcurrency")),this.indexFolderPromise=gT(fe,{indexPath:Y.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}registerPackageMapNode(e,{packageLocation:r}){let s=l8e(r);this.packageMapNodesByLocator.has(e)||this.packageMapNodesByLocator.set(e,{packageLocation:s,dependencies:new Map})}registerPackageMapDependency(e,r,s){if(!this.packageMapNodesByLocator.has(s.locatorHash))throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(s)})`);e.dependencies.set(r,s.locatorHash)}async installPackage(e,r,s){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,s);case"HARD":return this.installPackageHard(e,r,s)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,s){let a=Y.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?Y.join(a,Or.nodeModules):null,l={packageLocation:a,dependenciesLocation:n};return this.customData.pathsByLocator.set(e.locatorHash,l),this.registerPackageMapNode(e.locatorHash,l),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,s){let a=K5t(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,G.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),this.registerPackageMapNode(e.locatorHash,a),s.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await fe.mkdirPromise(n,{recursive:!0}),await fe.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let f=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e,h={manifest:await nr.tryFind(r.prefixPath,{baseFs:r.packageFs})??new nr,misc:{hasBindingGyp:cA.hasBindingGyp(r)}},A=this.opts.project.getDependencyMeta(f,e.version),m=cA.extractBuildRequest(e,h,A,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:m}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!a8e(e,{project:this.opts.project}))return;let s=Line truncated
${rjt}
`,"--",...s],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(s=>me.fromPortablePath(s.path));await un.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var ajt=[h8e],uv=class extends mt{constructor(){super(...arguments);this.commit=ye.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ye.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ye.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ye.Boolean("-u,--update",!1,{hidden:!0})}static{this.paths=[["stage"]]}static{this.usage=At.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]})}async execute(){let r=await $e.find(this.context.cwd,this.context.plugins),{project:s}=await Yt.find(r,this.context.cwd),{driver:a,root:n}=await cjt(s.cwd),l=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,s,w=>{l.push(w)});let f=new Set;for(let w of l)for(let v of ljt(n,w))f.add(v);let h=new Set([r.get("rcFilename"),Or.lockfile,Or.manifest]),A=await a.filterChanges(n,f,h),m=await a.genCommitMessage(n,A);if(this.dryRun)if(this.commit)this.context.stdout.write(`${m}
`);else for(let w of A)this.context.stdout.write(`${me.fromPortablePath(w.path)}
`);else if(this.reset){let w=await a.filterChanges(n,f,h,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else A.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,A,m):(await a.makeStage(n,A),this.context.stdout.write(m))}};async function cjt(t){let e=null,r=null;for(let s of ajt)if((r=await s.findRoot(t))!==null){e=s;break}if(e===null||r===null)throw new ht("No stage driver has been found for your current project");return{driver:e,root:r}}function ljt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let s;try{s=fe.statSync(e)}catch{break}if(s.isSymbolicLink())e=Y.resolve(Y.dirname(e),fe.readlinkSync(e));else break}return r}var ujt={commands:[uv]},fjt=ujt;var jie={};lr(jie,{default:()=>Ejt});We();We();Mt();var d8e=st(Di());We();var A8e=st(iK()),hjt="e8e1bd300d860104bb8c58453ffa1eb4",Ajt="OFCNCOG2CU",p8e=async(t,e)=>{let r=G.stringifyIdent(t),a=pjt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},pjt=t=>(0,A8e.default)(Ajt,hjt,{requester:{async send(r){try{let s=await Sn.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:s.body,isTimedOut:!1,status:s.statusCode}}catch(s){return{content:s.response.body,isTimedOut:!1,status:s.response.statusCode}}}}});var g8e=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,djt=async(t,e,r,s)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(fe.existsSync(Y.join(t.cwd,"tsconfig.json"))||fe.existsSync(Y.join(a.cwd,"tsconfig.json")))))return;let f=n.makeResolver(),h={project:a,resolver:f,report:new rs};if(!await p8e(r,n))return;let m=g8e(r),w=G.parseRange(r.range).selector;if(!zr.validRange(w)){let N=n.normalizeDependency(r),U=await f.getCandidates(N,{},h);w=G.parseRange(U[0].reference).selector}let v=d8e.default.coerce(w);if(v===null)return;let D=`${jf.Modifier.CARET}${v.major}`,I=G.makeDescriptor(G.makeIdent("types",m),D),R=Ye.mapAndFind(a.workspaces,N=>{let U=N.manifest.dependencies.get(r.identHash)?.descriptorHash,V=N.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&V!==r.descriptorHash)return Ye.mapAndFind.skip;let ee=[];for(let te of nr.allDependencies){let ie=N.manifest[te].get(I.identHash);typeof ie>"u"||ee.push([te,ie])}return ee.length===0?Ye.mapAndFind.skip:ee});if(typeof R<"u")for(let[N,U]of R)t.manifest[N].set(U.identHash,U);else{try{let N=n.normalizeDependency(I);if((await f.getCandidates(N,{},h)).length===0)return}catch{return}t.manifest[jf.Target.DEVELOPMENT].set(I.identHash,I)}},gjt=async(t,e,r)=>{if(r.scope==="types")return;let{project:s}=t,{configuration:a}=s;if(!(a.get("tsEnableAutoTypes")??(fe.existsSync(Y.join(t.cwd,"tsconfig.json"))||fe.existsSync(Y.join(s.cwd,"tsconfig.json")))))return;let l=g8e(r),f=G.makeIdent("types",l);for(let h of nr.allDependencies)typeof t.manifest[h].get(f.identHash)>"u"||t.manifest[h].delete(f.identHash)},mjt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},yjt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:djt,afterWorkspaceDependencyRemoval:gjt,beforeWorkspacePacking:mjt}},Ejt=yjt;var Kie={};lr(Kie,{VersionApplyCommand:()=>fv,VersionCheckCommand:()=>dv,VersionCommand:()=>gv,default:()=>bjt,versionUtils:()=>vR});sr();var fv=class extends mt{constructor(){super(...arguments);this.all=ye.Boolean("--all",!1,{description:"Bump the version of all workspaces"});this.recursive=ye.Boolean("-R,--recursive",{description:"Bump the version of dependent workspaces as well"});this.exact=ye.Boolean("--exact",!1,{description:"When updating parent workspaces' dependencies, use exact versions of bumped workspaces, removing any range."});this.prerelease=ye.String("--prerelease",{description:"Specify a prerelease pattern to use when working with prerelease versions",tolerateBoolean:!0});this.dryRun=ye.Boolean("--dry-run",!1,{description:"Print version(s)/record(s) without actually bumping versions or recording deferred releases"});this.force=ye.Boolean("--force",!1,{description:"Bypass check for bumping to a lower version than the current/deferred one"});this.json=ye.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["version","apply"]]}static{this.usage=At.Usage({category:"Release-related commands",description:"apply deferred records to workspaces",details:`
This command will apply the deferred version changes to workspaces. The applied records are removed from the project.
For more information on the options, see the \`yarn version\` command. For more information on the deferred versioning workflow, see our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).
`,examples:[["Apply deferred records of current workspace","yarn version apply"],["Apply deferred records of all the workspaces in the local workspace","yarn version apply --all"]]})}async execute(){let r=["version","decline","--immediate"];return this.all&&r.push("--all"),this.recursive&&r.push("--recursive"),this.exact&&r.push("--exact"),this.prerelease===!0?r.push("--prerelease"):typeof this.prerelease=="string"&&r.push(`--prerelease=${this.prerelease}`),this.dryRun&&r.push("--dry-run"),this.force&&r.push("--force"),this.json&&r.push("--json"),await this.cli.run(r)}};We();Mt();sr();var Yie=st(Di());var vR={};lr(vR,{Decision:()=>Av,applyPrerelease:()=>m8e,applyReleases:()=>Wie,applyStrategy:()=>_8,clearVersionFiles:()=>qie,getUndecidedDependentWorkspaces:()=>BR,getUndecidedWorkspaces:()=>L8,openVersionFile:()=>pv,requireMoreDecisions:()=>Cjt,resolveVersionFiles:()=>Gie,suggestStrategy:()=>Bjt,updateVersionFiles:()=>Vie,validateReleaseDecision:()=>hv});We();Mt();au();sr();xl();var Oa=st(Di()),Ijt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,Av=(A=>(A.UNDECIDED="undecided",A.DECLINE="decline",A.MAJOR="major",A.MINOR="minor",A.PATCH="patch",A.PREMAJOR="premajor",A.PREMINOR="preminor",A.PREPATCH="prepatch",A.PRERELEASE="prerelease",A))(Av||{});function hv(t){let e=Oa.default.valid(t);if(e)return e;let r=Object.values(j5(Av,"UNDECIDED"));if(r.includes(t))return t;let s=Oa.default.valid(t,{loose:!0})?` Did you mean to use "${Oa.default.valid(t,{loose:!0})}"?`:"";throw new ht(`Invalid strategy: "${t}". Expected a valid semver or one of ${r.map(a=>JSON.stringify(a)).join(", ")}.${s}`)}function wjt(t){return t==="premajor"||t==="preminor"||t==="prepatch"||t==="prerelease"}async function Gie(t,{prerelease:e=null}={}){let r=new Map,s=t.configuration.get("deferredVersionFolder");if(!fe.existsSync(s))return r;let a=await fe.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let l=Y.join(s,n),f=await fe.readFilePromise(l,"utf8"),h=Fs(f);for(let[A,m]of Object.entries(h.releases||{})){if(m==="decline")continue;let w=G.parseIdent(A),v=t.tryWorkspaceByIdent(w);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${Y.basename(l)} references ${A})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${G.prettyLocator(t.configuration,v.anchoredLocator)})`);let D=r.get(v),I=_8(v.manifest.version,hv(m),e);if(I===null)throw new Error(`Assertion failed: Expected ${v.manifest.version} to support being bumped via strategy ${m}`);let R=typeof D<"u"?Oa.default.gt(I,D)?I:D:I;r.set(v,R)}}return r}async function qie(t){let e=t.configuration.get("deferredVersionFolder");fe.existsSync(e)&&await fe.removePromise(e)}async function Vie(t,e){let r=new Set(e),s=t.configuration.get("deferredVersionFolder");if(!fe.existsSync(s))return;let a=await fe.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let l=Y.join(s,n),f=await fe.readFilePromise(l,"utf8"),h=Fs(f),A=h?.releases;if(A){for(let m of Object.keys(A)){let w=G.parseIdent(m),v=t.tryWorkspaceByIdent(w);(v===null||r.has(v))&&delete h.releases[m]}Object.keys(h.releases).length>0?await fe.changeFilePromise(l,Uc(new Uc.PreserveOrdering(h))):await fe.unlinkPromise(l)}}}async function pv(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new ht("This command can only be run from within a Yarn project");let s=await fc.fetchRoot(r.projectCwd),a=s!==null?await fc.fetchBase(s,{baseRefs:r.get("changesetBaseRefs")}):null,n=s!==null?await fc.fetchChangedFiles(s,{base:a.hash,project:t}):[],l=r.get("deferredVersionFolder"),f=n.filter(D=>Y.contains(l,D)!==null);if(f.length>1)throw new ht(`Your current branch contains multiple versioning files; this isn't supported:
- ${f.map(D=>me.fromPortablePath(D)).join(`
- `)}`);let h=new Set(Ye.mapAndFilter(n,D=>{let I=t.tryWorkspaceByFilePath(D);return I===null?Ye.mapAndFilter.skip:I}));if(f.length===0&&h.size===0&&!e)return null;let A=f.length===1?f[0]:Y.join(l,`${si.makeHash(Math.random().toString()).slice(0,8)}.yml`),m=fe.existsSync(A)?await fe.readFilePromise(A,"utf8"):"{}",w=Fs(m),v=new Map;for(let D of w.declined||[]){let I=G.parseIdent(D),R=t.getWorkspaceByIdent(I);v.set(R,"decline")}for(let[D,I]of Object.entries(w.releases||{})){let R=G.parseIdent(D),N=t.getWorkspaceByIdent(R);v.set(N,hv(I))}return{project:t,root:s,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:h,releaseRoots:new Set([...h].filter(D=>D.manifest.version!==null)),releases:v,async saveAll(){let D={},I=[],R=[];for(let N of t.workspaces){if(N.manifest.version===null)continue;let U=G.stringifyIdent(N.anchoredLocator),V=v.get(N);V==="decline"?I.push(U):typeof V<"u"?D[U]=hv(V):h.has(N)&&R.push(U)}await fe.mkdirPromise(Y.dirname(A),{recursive:!0}),await fe.changeFilePromise(A,Uc(new Uc.PreserveOrdering({releases:Object.keys(D).length>0?D:void 0,declined:I.length>0?I:void 0,undecided:R.length>0?R:void 0})))}}}function Cjt(t){return L8(t).size>0||BR(t).length>0}function L8(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function BR(t,{include:e=new Set}={}){let r=[],s=new Map(Ye.mapAndFilter([...t.releases],([n,l])=>l==="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ye.mapAndFilter([...t.releases],([n,l])=>l!=="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||s.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let l of nr.hardDependencies)for(let f of n.manifest.getForScope(l).values()){let h=t.project.tryWorkspaceByDescriptor(f);h!==null&&s.has(h.anchoredLocator.locatorHash)&&r.push([n,h])}return r}function Bjt(t,e){let r=Oa.default.clean(e);for(let s of Object.values(Av))if(s!=="undecided"&&s!=="decline"&&Oa.default.inc(t,s)===r)return s;return null}function _8(t,e,r=null){if(Oa.default.valid(e))return e;if(t===null)throw new ht(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!Oa.default.valid(t))throw new ht(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);if(wjt(e)){let a=Oa.default.inc(t,e==="prerelease"?"patch":e.slice(3));if(a===null)throw new ht(`Cannot apply the release strategy "${e.slice(3)}" on the specified version (${t}) while trying to determine the base of the prerelease bump`);return r?m8e(a,{current:t,prerelease:r}):a===Oa.default.truncate(t,"patch")?Oa.default.inc(t,"prerelease"):`${a}-0`}let s=Oa.default.inc(t,e);if(s===null)throw new ht(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return s}function Wie(t,e,{report:r,exact:s}){let a=new Map;for(let n of t.workspaces)for(let l of nr.allDependencies)for(let f of n.manifest[l].values()){let h=t.tryWorkspaceByDescriptor(f);if(h===null||!e.has(h))continue;Ye.getArrayWithDefault(a,h).push([n,l,f.identHash])}for(let[n,l]of e){let f=n.manifest.version;n.manifest.version=l,delete n.manifest.raw.stableVersion;let h=n.manifest.name!==null?G.stringifyIdent(n.manifest.name):null;r.reportInfo(0,`${G.prettyLocator(t.configuration,n.anchoredLocator)}: Bumped to ${l}`),r.reportJson({cwd:me.fromPortablePath(n.cwd),ident:h,deferred:!1,oldVersion:f,newVersion:l});let A=a.get(n);if(!(typeof A>"u"))for(let[m,w,v]of A){let D=m.manifest[w].get(v);if(typeof D>"u")throw new Error("Assertion failed: The dependency should have existed");let I=D.range,R=!1;if(I.startsWith(Gi.protocol)&&(I=I.slice(Gi.protocol.length),R=!0,I===n.relativeCwd))continue;let N=I.match(Ijt);if(!N){r.reportWarning(0,`Couldn't auto-upgrade range ${I} (in ${G.prettyLocator(t.configuration,m.anchoredLocator)})`);continue}let U=s?`${l}`:`${N[1]}${l}`;R&&(U=`${Gi.protocol}${U}`);let V=G.makeDescriptor(D,U);m.manifest[w].set(v,V)}}}var vjt=new Map([["%n",t=>t.length>0&&typeof t[0]=="number"?{increment:t.shift()+1,reset:1}:{increment:null,reset:1}]]);function m8e(t,{current:e,prerelease:r}){let s=new Oa.default.SemVer(e),a=Oa.default.truncate(t,"patch");if(a===null)throw new Error(`Assertion failed: Expected the version to be a valid semver version (${t})`);let n=s.prerelease.slice(),l=Oa.default.truncate(s,"patch")===a,f=[];for(let A of r.split(/\./g)){let m=vjt.get(A);if(typeof m>"u")f.push(A),n[0]===A?n.shift():l=!1;else{let w=m(n);l&&w.increment!==null?f.push(w):(f.push(w.reset),l=!1)}}l&&=n.length===0;let h=f.map(A=>typeof A=="object"?l?A.increment:A.reset:A);return`${a}-${h.join(".")}`}var dv=class extends mt{constructor(){super(...arguments);this.interactive=ye.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}static{this.paths=[["version","check"]]}static{this.usaLine truncated
`)},h=()=>{let we=this.from.map(d=>yv.default.matcher(d));return s.workspaces.filter(d=>{let be=G.stringifyIdent(d.anchoredLocator),Ce=d.relativeCwd;return we.some(Ee=>Ee(be)||Ee(Ce))})},A=[];if(this.since?(f("Option --since is set; selecting the changed workspaces as root for workspace selection"),A=Array.from(await fc.fetchChangedWorkspaces({ref:this.since,project:s}))):this.from?(f("Option --from is set; selecting the specified workspaces"),A=[...h()]):this.worktree?(f("Option --worktree is set; selecting the current workspace"),A=[a]):this.recursive?(f("Option --recursive is set; selecting the current workspace"),A=[a]):this.all&&(f("Option --all is set; selecting all workspaces"),A=[...s.workspaces]),this.dryRun&&!this.all){for(let we of A)f(`
- ${we.relativeCwd}
${G.prettyLocator(r,we.anchoredLocator)}`);A.length>0&&f("")}let m;if(this.recursive?this.since?(f("Option --recursive --since is set; recursively selecting all dependent workspaces"),m=new Set(A.map(we=>[...we.getRecursiveWorkspaceDependents()]).flat())):(f("Option --recursive is set; recursively selecting all transitive dependencies"),m=new Set(A.map(we=>[...we.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(f("Option --worktree is set; recursively selecting all nested workspaces"),m=new Set(A.map(we=>[...we.getRecursiveWorkspaceChildren()]).flat())):m=null,m!==null&&(A=[...new Set([...A,...m])],this.dryRun))for(let we of m)f(`
- ${we.relativeCwd}
${G.prettyLocator(r,we.anchoredLocator)}`);let w=[],v=!1;if(l?.includes(":")){for(let we of s.workspaces)if(we.manifest.scripts.has(l)&&(v=!v,v===!1))break}for(let we of A){if(l&&!we.manifest.scripts.has(l)&&!v&&!(await qn.getWorkspaceAccessibleBinaries(we)).has(l)){f(`Excluding ${we.relativeCwd} because it doesn't have a "${l}" script`);continue}if(!(l===r.env.npm_lifecycle_event&&we.cwd===a.cwd)){if(this.include.length>0&&!yv.default.isMatch(G.stringifyIdent(we.anchoredLocator),this.include)&&!yv.default.isMatch(we.relativeCwd,this.include)){f(`Excluding ${we.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(yv.default.isMatch(G.stringifyIdent(we.anchoredLocator),this.exclude)||yv.default.isMatch(we.relativeCwd,this.exclude))){f(`Excluding ${we.relativeCwd} because it matches the --exclude filter`);continue}if(this.publicOnly&&we.manifest.private===!0){f(`Excluding ${we.relativeCwd} because it's a private workspace and --no-private was set`);continue}w.push(we)}}if(w.sort((we,d)=>G.stringifyIdent(we.anchoredLocator).localeCompare(G.stringifyIdent(d.anchoredLocator))),this.dryRun)return 0;let D=this.verbose??(this.context.stdout.isTTY?1/0:0),I=D>0,R=D>1,N=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(us.availableParallelism()/2):1,U=N===1?!1:this.parallel,V=U?this.interlaced:!0,ee=(0,E8e.default)(N),te=new Map,ie=new Set,ae=0,ge=null,de=!1,xe=await Wt.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async we=>{let d=async(be,{commandIndex:Ce})=>{if(de)return-1;!U&&R&&Ce>1&&we.reportSeparator();let Ee=Djt(be,{configuration:r,label:I,commandIndex:Ce}),[he,$]=y8e(we,{prefix:Ee,interlaced:V}),[De,Te]=y8e(we,{prefix:Ee,interlaced:V});try{R&&we.reportInfo(null,`${Ee?`${Ee} `:""}Process started`);let ot=Date.now(),j=await this.cli.run([this.commandName,...this.args],{cwd:be.cwd,stdout:he,stderr:De})||0;he.end(),De.end(),await $,await Te;let rt=Date.now();if(R){let Ne=r.get("enableTimers")?`, completed in ${pe.pretty(r,rt-ot,pe.Type.DURATION)}`:"";we.reportInfo(null,`${Ee?`${Ee} `:""}Process exited (exit code ${j})${Ne}`)}return j===130&&(de=!0,ge=j),j}catch(ot){throw he.end(),De.end(),await $,await Te,ot}};for(let be of w)te.set(be.anchoredLocator.locatorHash,be);for(;te.size>0&&!we.hasErrors();){let be=[];for(let[$,De]of te){if(ie.has(De.anchoredDescriptor.descriptorHash))continue;let Te=!0;if(this.topological||this.topologicalDev){let ot=this.topologicalDev?new Map([...De.manifest.dependencies,...De.manifest.devDependencies]):De.manifest.dependencies;for(let j of ot.values()){let rt=s.tryWorkspaceByDescriptor(j);if(Te=rt===null||!te.has(rt.anchoredLocator.locatorHash),!Te)break}}if(Te&&(ie.add(De.anchoredDescriptor.descriptorHash),be.push(ee(async()=>{let ot=await d(De,{commandIndex:++ae});return te.delete($),ie.delete(De.anchoredDescriptor.descriptorHash),{workspace:De,exitCode:ot}})),!U))break}if(be.length===0){let $=Array.from(te.values()).map(De=>G.prettyLocator(r,De.anchoredLocator)).join(", ");we.reportError(3,`Dependency cycle detected (${$})`);return}let Ce=await Promise.all(be);Ce.forEach(({workspace:$,exitCode:De})=>{De!==0&&we.reportError(0,`The command failed in workspace ${G.prettyLocator(r,$.anchoredLocator)} with exit code ${De}`)});let he=Ce.map($=>$.exitCode).find($=>$!==0);(this.topological||this.topologicalDev)&&typeof he<"u"&&we.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return ge!==null?ge:xe.exitCode()}};function y8e(t,{prefix:e,interlaced:r}){let s=t.createStreamReporter(e),a=new Ye.DefaultStream;a.pipe(s,{end:!1}),a.on("finish",()=>{s.end()});let n=new Promise(f=>{s.on("finish",()=>{f(a.active)})});if(r)return[a,n];let l=new Ye.BufferStream;return l.pipe(a,{end:!1}),l.on("finish",()=>{a.end()}),[l,n]}function Djt(t,{configuration:e,commandIndex:r,label:s}){if(!s)return null;let n=`[${G.stringifyIdent(t.anchoredLocator)}]:`,l=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],f=l[r%l.length];return pe.pretty(e,n,f)}var Pjt={commands:[mv,Ev]},xjt=Pjt;var QC=()=>({modules:new Map([["@yarnpkg/cli",hD],["@yarnpkg/core",fD],["@yarnpkg/fslib",cS],["@yarnpkg/libzip",bb],["@yarnpkg/parsers",hS],["@yarnpkg/shell",Tb],["clipanion",BS],["semver",kjt],["typanion",ho],["@yarnpkg/plugin-essentials",nY],["@yarnpkg/plugin-catalog",aY],["@yarnpkg/plugin-compat",hY],["@yarnpkg/plugin-constraints",xY],["@yarnpkg/plugin-dlx",kY],["@yarnpkg/plugin-exec",QY],["@yarnpkg/plugin-file",NY],["@yarnpkg/plugin-git",rY],["@yarnpkg/plugin-github",_Y],["@yarnpkg/plugin-http",MY],["@yarnpkg/plugin-init",UY],["@yarnpkg/plugin-interactive-tools",Lz],["@yarnpkg/plugin-jsr",Mz],["@yarnpkg/plugin-link",Uz],["@yarnpkg/plugin-nm",PJ],["@yarnpkg/plugin-npm",pie],["@yarnpkg/plugin-npm-cli",vie],["@yarnpkg/plugin-pack",EZ],["@yarnpkg/plugin-patch",Rie],["@yarnpkg/plugin-pnp",dJ],["@yarnpkg/plugin-pnpm",Fie],["@yarnpkg/plugin-stage",Hie],["@yarnpkg/pLine truncated
Please report this issue at https://github.com/yarnpkg/berry/issues.`)}process.once("beforeExit",n);try{process.exitCode=42,process.exitCode=await Njt(a,t,{selfPath:r,pluginConfiguration:s})}catch(l){ec.defaultContext.stdout.write(a.error(l)),process.exitCode=1}finally{process.off("beforeExit",n),await fe.rmtempPromise()}}_O(process.argv.slice(2),{cwd:Y.cwd(),selfPath:me.toPortablePath(me.resolve(process.argv[1])),pluginConfiguration:QC()});})();
/**
@license
Copyright (c) 2015, Rebecca Turner
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
/**
@license
Copyright Node.js contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
*/
/**
@license
The MIT License (MIT)
Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/**
@license
Copyright Joyent, Inc. and other Node contributors.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/*! Bundled license information:
is-number/index.js:
(*!
* is-number <https://github.com/jonschlinkert/is-number>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Released under the MIT License.
*)
to-regex-range/index.js:
(*!
* to-regex-range <https://github.com/micromatch/to-regex-range>
*
* Copyright (c) 2015-present, Jon Schlinkert.
* Released under the MIT License.
*)
fill-range/index.js:
(*!
* fill-range <https://github.com/jonschlinkert/fill-range>
*
* Copyright (c) 2014-present, Jon Schlinkert.
* Licensed under the MIT License.
*)
is-extglob/index.js:
(*!
* is-extglob <https://github.com/jonschlinkert/is-extglob>
*
* Copyright (c) 2014-2016, Jon Schlinkert.
* Licensed under the MIT License.
*)
is-glob/index.js:
(*!
* is-glob <https://github.com/jonschlinkert/is-glob>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*)
queue-microtask/index.js:
(*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
run-parallel/index.js:
(*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
git-url-parse/lib/index.js:
(*!
* buildToken
* Builds OAuth token prefix (helper function)
*
* @name buildToken
* @function
* @param {GitUrl} obj The parsed Git url object.
* @return {String} token prefix
*)
object-assign/index.js:
(*
object-assign
(c) Sindre Sorhus
@license MIT
*)
react/cjs/react.production.min.js:
(** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
scheduler/cjs/scheduler.production.min.js:
(** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
react-reconciler/cjs/react-reconciler.production.min.js:
(** @license React v0.26.2
* react-reconciler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
is-windows/index.js:
(*!
* is-windows <https://github.com/jonschlinkert/is-windows>
*
* Copyright © 2015-2018, Jon Schlinkert.
* Released under the MIT License.
*)
negotiator/index.js:
(*!
* negotiator
* Copyright(c) 2012 Federico Romero
* Copyright(c) 2012-2014 Isaac Z. Schlueter
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*)
imurmurhash/imurmurhash.js:
(**
* @preserve
* JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
*
* @author <a href="mailto:[email protected]">Jens Taylor</a>
* @see http://github.com/homebrewing/brauhaus-diff
* @author <a href="mailto:[email protected]">Gary Court</a>
* @see http://github.com/garycourt/murmurhash-js
* @author <a href="mailto:[email protected]">Austin Appleby</a>
* @see http://sites.google.com/site/murmurhash/
*)
make-fetch-happen/lib/fetch.js:
(**
* @license
* Copyright (c) 2010-2012 Mikeal Rogers
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an "AS
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*)
*/
+6 -13
View File
@@ -1,16 +1,9 @@
approvedGitRepositories:
- "**"
compressionLevel: mixed
defaultSemverRangePrefix: ""
enableGlobalCache: false
enableScripts: true
nodeLinker: node-modules
npmMinimalAgeGate: 3d
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
spec: "@yarnpkg/plugin-typescript"
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-4.18.0.cjs
yarnPath: .yarn/releases/yarn-3.0.2.cjs
-65
View File
@@ -1,65 +0,0 @@
# Home Assistant Frontend Agent Guide
You are helping develop the Home Assistant frontend. This repository is a TypeScript application built from Lit-based Web Components for the Home Assistant web UI.
## Essential Commands
```bash
yarn lint # ESLint + Prettier + TypeScript + Lit
yarn format # Auto-fix ESLint + Prettier
yarn lint:types # TypeScript compiler, run without file arguments
yarn test # Vitest
yarn dev # App dev server, supports --background/--status/--stop/--logs
yarn dev:serve # Local serving dev server, supports -c core URL, -p port, and dev flags
```
Never run `tsc` or `yarn lint:types` with file arguments. When `tsc` receives file arguments, it ignores `tsconfig.json` and can emit `.js` files into `src/`. Always run `yarn lint:types` without arguments. For individual file type checking, rely on editor diagnostics.
## Architecture
- The frontend uses custom elements built with Lit and TypeScript strict mode.
- Components communicate with the backend through the Home Assistant WebSocket API.
- Use `ha-` for Home Assistant components, `hui-` for Lovelace UI components, and `dialog-` for dialogs.
- Prefer `ha-*` components and current Web Awesome wrappers. Avoid adding new legacy `mwc-*` usage.
- Leaf components should consume narrow Lit contexts instead of taking the broad `hass` object unless they are containers that own and provide `hass`.
## Development Standards
- Use strict TypeScript, proper interfaces, and `import type` for type-only imports.
- Avoid `any`; model data with existing Home Assistant types or narrow new types.
- Keep imports organized and remove unused imports.
- Do not use `console`; use existing logging or user-visible error patterns.
- Use `@state()` for internal Lit state and `@property()` for public API.
- Do not query or manipulate DOM manually when Lit decorators, component refs, or render state are appropriate.
- Scope styles to components, use theme custom properties, and keep layouts mobile-first and RTL-safe.
- All user-facing text must be localized through the translation system.
- Do not write tests just because you changed some code. Write a test when there is real logic that could break without anyone noticing, and explain what the test protects.
## Project Skills
Detailed guidance lives in `.agents/skills/<name>/SKILL.md`. Load every matching skill before detailed implementation or review. For reviews, load `ha-frontend-review` alongside all companions that apply to the changed code or behavior:
- `ha-frontend-contexts`: Lit contexts, `hass` migration, and rerender-sensitive state access.
- `ha-frontend-components`: dialogs, forms, alerts, shortcuts, tooltips, panels, and Lovelace cards.
- `ha-frontend-events`: event handler typing, custom event dispatch, and event-map declarations.
- `ha-frontend-types`: backend data contracts, optional schemas, shared types, assertions, and lifecycle types.
- `ha-frontend-lit`: reactive fields, DOM queries, lifecycle behavior, and render-derived state.
- `ha-frontend-styling`: theme variables, spacing tokens, responsive layout, RTL, and view transitions.
- `ha-frontend-testing`: lint, typecheck, Vitest, Playwright e2e dev servers, and benchmarks.
- `ha-frontend-user-facing-text`: localization, terminology, sentence case, and Home Assistant text style.
- `ha-frontend-review`: PR template use, existing review feedback, review checklist, recurring issues, and UI/UX evidence including gallery specifications.
- `ha-frontend-ux-readiness`: UI/UX routing that complements frontend review for new user experiences.
- `ha-frontend-gallery`: gallery pages, demos, sidebar structure, content, and verification.
- `ha-frontend-demo`: standalone demo structure, configurations, navigation, shared stubs, and verification.
## Pull Requests
When creating a pull request, use `.github/PULL_REQUEST_TEMPLATE.md` as the PR body. Preserve template sections, check only the appropriate type-of-change boxes, and do not check checklist items on behalf of the user. If the PR includes UI changes, remind the user to add screenshots or a short video.
## AI policy
This project follows the [Open Home Foundation AI Policy](AI_POLICY.md).
Autonomous contributions are not accepted: a human must review, understand,
and be able to explain every change before it is submitted. Do not open
issues or pull requests autonomously, and do not post comments on behalf of
a user without their review.
-45
View File
@@ -1,45 +0,0 @@
# Open Home Foundation - AI Policy
We support using AI (i.e., LLMs) as tools when contributing to Open Home Foundation projects. However, you are responsible for any contributions you submit, and we are responsible for any contributions we merge and release. We hold a high bar for all contributions to our projects.
Our maintainers dedicate their time and expertise to reviewing contributions. Submitting AI-generated content that you have not personally reviewed and understood wastes that time and will not be accepted.
## Autonomous agents
**We do not allow autonomous agents to be used for contributing to our projects.** We will close any pull requests or issues that we believe were created autonomously, and may mark automated comments as spam. This includes contributions that bypass the provided issue or pull request templates.
## Communication on issues, pull requests, and code reviews
We don't mind if you use AI tools to help you write. However, do not have tools post unreviewed content on your behalf. Keep responses to the minimum needed to communicate your intent. We may hide any comments that we believe are unreviewed AI output.
If you are opening a pull request, we expect you to be able to explain the proposed changes in your own words. This includes the pull request description and responses to questions. If you use AI to help generate the pull request summary, you must review it for technical accuracy.
**Do not use AI to generate answers to questions from maintainers.** You should understand and be able to explain your own work. Using AI to improve grammar or clarity is fine, but the substance of your responses must be your own.
If you wish to include context from an interaction with AI in your comments, it must be in a quote block (e.g., using `>`) and disclosed as such. It must be accompanied by your own commentary explaining the relevance and implications of the context. Do not share long snippets.
## Non-native English speakers
We understand that AI is useful when communicating as a non-native English speaker. Using AI to improve the grammar or clarity of text you have written yourself is fine. If you are using AI to translate your comments, please ensure the translation accurately reflects your intent. Including your original text in a details block shows the effort behind your contribution, helps maintainers verify the translation if needed, and keeps the conversation readable.
## Code and documentation contributions
AI can be a helpful tool for writing code and documentation. However, due to the foundational open source nature of our projects, we require a human in the loop who understands the work produced by AI.
All contributions must be reviewed and understood by the contributor before submission. You should be able to explain every change in a pull request you submit. Pull requests that appear to be unreviewed AI output will be closed without review.
## Our use of AI
Some of our projects use AI tools to assist with code reviews, issue triaging, reporting, and other project management tasks. These tools may leave comments on pull requests or issues. As with any automated tooling, these comments are not always correct.
If an AI tool leaves a comment on your contribution, treat it as you would any other review comment. If you believe it is incorrect, say so; a brief explanation is sufficient. Maintainers always have the final say. If in doubt, ask a maintainer.
## Enforcement
Contributions that do not follow this policy will be closed. Repeated violations may result in being blocked from contributing to OHF projects. If you believe your contribution was closed in error, you are welcome to reach out to a maintainer to discuss.
---
The canonical version of this policy is published at
<https://developers.home-assistant.io/docs/ai_policy>. In case of differences,
the published version applies.
-1
View File
@@ -1 +0,0 @@
AGENTS.md
-8
View File
@@ -1,8 +0,0 @@
# People marked here will be automatically requested for a review
# when the code that they own is touched.
# https://github.com/blog/2392-introducing-code-owners
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# Part of the frontend that mobile developper should review
src/external_app/ @bgoncal @TimoPtr
test/external_app/ @bgoncal @TimoPtr
+1
View File
@@ -1,4 +1,5 @@
include README.md
include LICENSE.md
graft hass_frontend
graft hass_frontend_es5
recursive-exclude * *.py[co]
+3 -4
View File
@@ -2,7 +2,7 @@
This is the repository for the official [Home Assistant](https://home-assistant.io) frontend.
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/frontend/master/docs/screenshot.png)](https://demo.home-assistant.io/)
[![Screenshot of the frontend](https://raw.githubusercontent.com/home-assistant/home-assistant-polymer/master/docs/screenshot.png)](https://demo.home-assistant.io/)
- [View demo of Home Assistant](https://demo.home-assistant.io/)
- [More information about Home Assistant](https://home-assistant.io)
@@ -12,8 +12,9 @@ This is the repository for the official [Home Assistant](https://home-assistant.
- Initial setup: `script/setup`
- Development: [Instructions](https://developers.home-assistant.io/docs/frontend/development/)
- Production build: `yarn build`
- Production build: `script/build_frontend`
- Gallery: `cd gallery && script/develop_gallery`
- Supervisor: [Instructions](https://developers.home-assistant.io/docs/supervisor/developing)
## Frontend development
@@ -26,5 +27,3 @@ A complete guide can be found at the following [link](https://www.home-assistant
Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.
We use [BrowserStack](https://www.browserstack.com) to test Home Assistant on a large variety of devices.
[![Home Assistant - A project from the Open Home Foundation](https://www.openhomefoundation.org/badges/home-assistant.png)](https://www.openhomefoundation.org/)
+7
View File
@@ -0,0 +1,7 @@
{
"rules": {
"import/no-extraneous-dependencies": 0,
"no-restricted-syntax": 0,
"no-console": 0
}
}
+7
View File
@@ -0,0 +1,7 @@
{
"extends": "../.eslintrc.json",
"rules": {
"import/no-extraneous-dependencies": 0,
"global-require": 0
}
}
+2 -10
View File
@@ -15,7 +15,7 @@ The Home Assistant build pipeline contains various steps to prepare a build.
Currently in Home Assistant we use a bundler to convert TypeScript, CSS and JSON files to JavaScript files that the browser understands.
We currently rely on Webpack. Both of these programs bundle the converted files in both production and development.
We currently rely on Webpack but also have experimental Rollup support. Both of these programs bundle the converted files in both production and development.
For development, bundling is optional. We just want to get the right files in the browser.
@@ -34,14 +34,6 @@ In production, the following responsibilities are added:
- Minify HTML
- Bundle multiple imports so that the browser can fetch less files
- Generate a second version that is compatible with older browsers (legacy build)
- Generate a second version that is ES5 compatible
Configuration for all these steps are specified in [bundle.js](bundle.js).
## Auditing browser support changes
`node build-scripts/list-plugins-and-polyfills.js` prints, per browserslist
environment (modern/legacy), the Babel transforms preset-env enables and the
Core-JS polyfills that may be injected — as collapsible markdown ready to
paste into a PR. Use it to show the bundle impact when changing
`.browserslistrc` or the Babel configuration.
@@ -1,150 +0,0 @@
import defineProvider from "@babel/helper-define-polyfill-provider";
import { join } from "node:path";
import paths from "../paths.cjs";
const POLYFILL_DIR = join(paths.root_dir, "src/resources/polyfills");
// List of polyfill keys with supported browser targets for the functionality
const polyfillSupport = {
// Note states and shadowRoot properties should be supported.
"element-internals": {
android: 90,
chrome: 90,
edge: 90,
firefox: 126,
ios: 17.4,
opera: 76,
opera_mobile: 64,
safari: 17.4,
samsung: 15.0,
},
"element-getattributenames": {
android: 61,
chrome: 61,
edge: 18,
firefox: 45,
ios: 10.3,
opera: 48,
opera_mobile: 45,
safari: 10.1,
samsung: 8.0,
},
"element-toggleattribute": {
android: 69,
chrome: 69,
edge: 18,
firefox: 63,
ios: 12.0,
opera: 56,
opera_mobile: 48,
safari: 12.0,
samsung: 10.0,
},
// FormatJS polyfill detects fix for https://bugs.chromium.org/p/v8/issues/detail?id=10682,
// so adjusted to several months after that was marked fixed
"intl-getcanonicallocales": {
android: 90,
chrome: 90,
edge: 90,
firefox: 48,
ios: 10.3,
opera: 76,
opera_mobile: 64,
safari: 10.1,
samsung: 15.0,
},
"intl-locale": {
android: 74,
chrome: 74,
edge: 79,
firefox: 75,
ios: 14.0,
opera: 62,
opera_mobile: 53,
safari: 14.0,
samsung: 11.0,
},
"intl-other": {
// Not specified (i.e. always try polyfill) since compatibility depends on supported locales
},
"resize-observer": {
android: 64,
chrome: 64,
edge: 79,
firefox: 69,
ios: 13.4,
opera: 51,
opera_mobile: 47,
safari: 13.1,
samsung: 9.0,
},
};
// Map of global variables and/or instance and static properties to the
// corresponding polyfill key and actual module to import
const polyfillMap = {
global: {
ResizeObserver: {
key: "resize-observer",
module: join(POLYFILL_DIR, "resize-observer.ts"),
},
},
instance: {
attachInternals: {
key: "element-internals",
module: "element-internals-polyfill",
},
...Object.fromEntries(
["getAttributeNames", "toggleAttribute"].map((prop) => {
const key = `element-${prop.toLowerCase()}`;
return [prop, { key, module: join(POLYFILL_DIR, `${key}.ts`) }];
})
),
},
static: {
Intl: {
getCanonicalLocales: {
key: "intl-getcanonicallocales",
module: join(POLYFILL_DIR, "intl-polyfill.ts"),
},
Locale: {
key: "intl-locale",
module: join(POLYFILL_DIR, "intl-polyfill.ts"),
},
...Object.fromEntries(
[
"DateTimeFormat",
"DurationFormat",
"DisplayNames",
"ListFormat",
"NumberFormat",
"PluralRules",
"RelativeTimeFormat",
].map((obj) => [
obj,
{ key: "intl-other", module: join(POLYFILL_DIR, "intl-polyfill.ts") },
])
),
},
},
};
// Create plugin using the same factory as for CoreJS
export default defineProvider(
({ createMetaResolver, debug, shouldInjectPolyfill }) => {
const resolvePolyfill = createMetaResolver(polyfillMap);
return {
name: "custom-polyfill",
polyfills: polyfillSupport,
usageGlobal(meta, utils) {
const polyfill = resolvePolyfill(meta);
if (polyfill && shouldInjectPolyfill(polyfill.desc.key)) {
debug(polyfill.desc.key);
utils.injectGlobalImport(polyfill.desc.module);
return true;
}
return false;
},
};
}
);
@@ -1,168 +0,0 @@
const path = require("path");
// Currently only supports CommonJS modules, as require is synchronous. `import` would need babel running asynchronous.
module.exports = function inlineConstants(babel, options, cwd) {
const t = babel.types;
if (!Array.isArray(options.modules)) {
throw new TypeError(
"babel-plugin-inline-constants: expected a `modules` array to be passed"
);
}
if (options.resolveExtensions && !Array.isArray(options.resolveExtensions)) {
throw new TypeError(
"babel-plugin-inline-constants: expected `resolveExtensions` to be an array"
);
}
const ignoreModuleNotFound = options.ignoreModuleNotFound;
const resolveExtensions = options.resolveExtensions;
const hasRelativeModules = options.modules.some(
(module) => module.startsWith(".") || module.startsWith("/")
);
const modules = Object.fromEntries(
options.modules.map((module) => {
const absolute = module.startsWith(".")
? require.resolve(module, { paths: [cwd] })
: module;
return [absolute, require(absolute)];
})
);
const toLiteral = (value) => {
if (typeof value === "string") {
return t.stringLiteral(value);
}
if (typeof value === "number") {
return t.numericLiteral(value);
}
if (typeof value === "boolean") {
return t.booleanLiteral(value);
}
if (value === null) {
return t.nullLiteral();
}
throw new Error(
"babel-plugin-inline-constants: cannot handle non-literal `" + value + "`"
);
};
const resolveAbsolute = (value, state, resolveExtensionIndex) => {
if (!state.filename) {
throw new TypeError(
"babel-plugin-inline-constants: expected a `filename` to be set for files"
);
}
if (resolveExtensions && resolveExtensionIndex !== undefined) {
value += resolveExtensions[resolveExtensionIndex];
}
try {
return require.resolve(value, { paths: [path.dirname(state.filename)] });
} catch (error) {
if (
error.code === "MODULE_NOT_FOUND" &&
resolveExtensions &&
(resolveExtensionIndex === undefined ||
resolveExtensionIndex < resolveExtensions.length - 1)
) {
const resolveExtensionIdx = (resolveExtensionIndex || -1) + 1;
return resolveAbsolute(value, state, resolveExtensionIdx);
}
if (error.code === "MODULE_NOT_FOUND" && ignoreModuleNotFound) {
return undefined;
}
throw error;
}
};
const importDeclaration = (p, state) => {
if (p.node.type !== "ImportDeclaration") {
return;
}
const absolute =
hasRelativeModules && p.node.source.value.startsWith(".")
? resolveAbsolute(p.node.source.value, state)
: p.node.source.value;
if (!absolute || !(absolute in modules)) {
return;
}
const module = modules[absolute];
for (const specifier of p.node.specifiers) {
if (
specifier.type === "ImportDefaultSpecifier" &&
specifier.local &&
specifier.local.type === "Identifier"
) {
if (!("default" in module)) {
throw new Error(
"babel-plugin-inline-constants: cannot access default export from `" +
p.node.source.value +
"`"
);
}
const variableValue = toLiteral(module.default);
const variable = t.variableDeclarator(
t.identifier(specifier.local.name),
variableValue
);
p.insertBefore({
type: "VariableDeclaration",
kind: "const",
declarations: [variable],
});
} else if (
specifier.type === "ImportSpecifier" &&
specifier.imported &&
specifier.imported.type === "Identifier" &&
specifier.local &&
specifier.local.type === "Identifier"
) {
if (!(specifier.imported.name in module)) {
throw new Error(
"babel-plugin-inline-constants: cannot access `" +
specifier.imported.name +
"` from `" +
p.node.source.value +
"`"
);
}
const variableValue = toLiteral(module[specifier.imported.name]);
const variable = t.variableDeclarator(
t.identifier(specifier.local.name),
variableValue
);
p.insertBefore({
type: "VariableDeclaration",
kind: "const",
declarations: [variable],
});
} else {
throw new Error("Cannot handle specifier `" + specifier.type + "`");
}
}
p.remove();
};
return {
visitor: {
ImportDeclaration: importDeclaration,
},
};
};
@@ -0,0 +1,170 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
// Currently only supports CommonJS modules, as require is synchronous. `import` would need babel running asynchronous.
module.exports = function inlineConstants(babel, options, cwd) {
const t = babel.types;
if (!Array.isArray(options.modules)) {
throw new TypeError(
"babel-plugin-inline-constants: expected a `modules` array to be passed"
);
}
if (options.resolveExtensions && !Array.isArray(options.resolveExtensions)) {
throw new TypeError(
"babel-plugin-inline-constants: expected `resolveExtensions` to be an array"
);
}
const ignoreModuleNotFound = options.ignoreModuleNotFound;
const resolveExtensions = options.resolveExtensions;
const hasRelativeModules = options.modules.some(
(module) => module.startsWith(".") || module.startsWith("/")
);
const modules = Object.fromEntries(
options.modules.map((module) => {
const absolute = module.startsWith(".")
? require.resolve(module, { paths: [cwd] })
: module;
// eslint-disable-next-line import/no-dynamic-require
return [absolute, require(absolute)];
})
);
const toLiteral = (value) => {
if (typeof value === "string") {
return t.stringLiteral(value);
}
if (typeof value === "number") {
return t.numericLiteral(value);
}
if (typeof value === "boolean") {
return t.booleanLiteral(value);
}
if (value === null) {
return t.nullLiteral();
}
throw new Error(
"babel-plugin-inline-constants: cannot handle non-literal `" + value + "`"
);
};
const resolveAbsolute = (value, state, resolveExtensionIndex) => {
if (!state.filename) {
throw new TypeError(
"babel-plugin-inline-constants: expected a `filename` to be set for files"
);
}
if (resolveExtensions && resolveExtensionIndex !== undefined) {
value += resolveExtensions[resolveExtensionIndex];
}
try {
return require.resolve(value, { paths: [path.dirname(state.filename)] });
} catch (error) {
if (
error.code === "MODULE_NOT_FOUND" &&
resolveExtensions &&
(resolveExtensionIndex === undefined ||
resolveExtensionIndex < resolveExtensions.length - 1)
) {
const resolveExtensionIdx = (resolveExtensionIndex || -1) + 1;
return resolveAbsolute(value, state, resolveExtensionIdx);
}
if (error.code === "MODULE_NOT_FOUND" && ignoreModuleNotFound) {
return undefined;
}
throw error;
}
};
const importDeclaration = (p, state) => {
if (p.node.type !== "ImportDeclaration") {
return;
}
const absolute =
hasRelativeModules && p.node.source.value.startsWith(".")
? resolveAbsolute(p.node.source.value, state)
: p.node.source.value;
if (!absolute || !(absolute in modules)) {
return;
}
const module = modules[absolute];
for (const specifier of p.node.specifiers) {
if (
specifier.type === "ImportDefaultSpecifier" &&
specifier.local &&
specifier.local.type === "Identifier"
) {
if (!("default" in module)) {
throw new Error(
"babel-plugin-inline-constants: cannot access default export from `" +
p.node.source.value +
"`"
);
}
const variableValue = toLiteral(module.default);
const variable = t.variableDeclarator(
t.identifier(specifier.local.name),
variableValue
);
p.insertBefore({
type: "VariableDeclaration",
kind: "const",
declarations: [variable],
});
} else if (
specifier.type === "ImportSpecifier" &&
specifier.imported &&
specifier.imported.type === "Identifier" &&
specifier.local &&
specifier.local.type === "Identifier"
) {
if (!(specifier.imported.name in module)) {
throw new Error(
"babel-plugin-inline-constants: cannot access `" +
specifier.imported.name +
"` from `" +
p.node.source.value +
"`"
);
}
const variableValue = toLiteral(module[specifier.imported.name]);
const variable = t.variableDeclarator(
t.identifier(specifier.local.name),
variableValue
);
p.insertBefore({
type: "VariableDeclaration",
kind: "const",
declarations: [variable],
});
} else {
throw new Error("Cannot handle specifier `" + specifier.type + "`");
}
}
p.remove();
};
return {
visitor: {
ImportDeclaration: importDeclaration,
},
};
};
-56
View File
@@ -1,56 +0,0 @@
// Gulp transform that brotli-compresses files, several at a time.
//
// Drop-in replacement for gulp-brotli. zlib already does the work off the main
// thread, but that plugin wraps it in through2, which waits for each file
// before starting the next, so only one compression is ever in flight. The
// compressed bytes are unchanged; only how many run at once differs.
//
// The real ceiling is libuv's threadpool, which zlib runs on. It sizes itself
// from UV_THREADPOOL_SIZE before any JavaScript runs, so it can only be raised
// from the environment, never from inside the build.
import { availableParallelism } from "node:os";
import { buffer as readStream } from "node:stream/consumers";
import { promisify } from "node:util";
import { brotliCompress, constants } from "node:zlib";
import { withCache } from "./compress-cache.mjs";
import { ParallelTransform } from "./parallel-transform.mjs";
const EXTENSION = ".br";
const compress = promisify(brotliCompress);
/**
* @param {object} [options]
* @param {boolean} [options.skipLarger] Drop files that compression grows.
* @param {object} [options.params] Brotli parameters, passed to zlib as-is.
*/
export default ({ skipLarger = false, params } = {}) => {
// Isolate cache entries by anything that changes the output bytes: the brotli
// quality, and the node major that produced them.
const quality = params?.[constants.BROTLI_PARAM_QUALITY] ?? "default";
const namespace = `brotli-q${quality}-node${process.versions.node.split(".")[0]}`;
return new ParallelTransform(availableParallelism(), async (file) => {
if (file.isNull()) {
return file;
}
if (file.isStream()) {
file.contents = await readStream(file.contents);
}
const compressed = await withCache(namespace, file.contents, async () => {
const out = await compress(file.contents, { params });
// Dropped rather than passed through, as gulp-brotli did: the
// uncompressed file is already in the output directory.
return skipLarger && out.length >= file.contents.length ? undefined : out;
});
if (compressed === undefined) {
return undefined;
}
file.contents = compressed;
file.path += EXTENSION;
return file;
});
};
-311
View File
@@ -1,311 +0,0 @@
// Manage a Home Assistant frontend production build with an agent-friendly
// interface, matching build-scripts/dev-server.mjs.
//
// node build-scripts/build-manager.mjs [--modern] [mode]
//
// (no mode) Run in the foreground.
// --background Start detached, print the pid, then exit and leave it
// running.
// --status Report whether a managed build is running.
// --stop Stop a managed build.
// --logs [--follow] Print (or follow) the background build log.
//
// --modern Build only the modern frontend_latest bundle.
import path from "node:path";
import { fileURLToPath } from "node:url";
import {
LIFECYCLE_MODE_FLAGS,
acquireProcessRecord,
isProcessRecordAlive,
outputLog,
offerToStopProcessRecord,
processStartTime,
readProcessRecord,
releaseProcessRecord,
runCli,
spawnDetachedToLog,
spawnForeground,
terminateDetachedProcess,
terminateProcess,
waitFor,
writeProcessRecord,
} from "./managed-process.mjs";
import {
buildCacheDir,
describeOutputOwner,
workflowLockEnv,
workflowLockFile,
} from "./output-lock.mjs";
const repoRoot = path.resolve(
path.dirname(fileURLToPath(import.meta.url)),
".."
);
const gulpBin = path.join(repoRoot, "node_modules", ".bin", "gulp");
const stateDir = path.join(buildCacheDir, "ha-build");
const logFile = path.join(stateDir, "build.log");
const lockFile = workflowLockFile;
const usage = () => {
process.stderr.write(
"Usage: node build-scripts/build-manager.mjs [--modern] " +
"[--background | --status | --stop | --logs [--follow]]\n"
);
};
const parseArgs = (argv) => {
const args = {
mode: "foreground",
modes: [],
follow: false,
modern: false,
unknown: [],
};
for (const arg of argv) {
if (LIFECYCLE_MODE_FLAGS.has(arg)) {
args.mode = LIFECYCLE_MODE_FLAGS.get(arg);
args.modes.push(arg);
} else if (arg === "--modern") {
args.modern = true;
} else if (arg === "--follow") {
args.follow = true;
} else {
args.unknown.push(arg);
}
}
return args;
};
const hints = () =>
" Stop: yarn build --stop\n" +
" Status: yarn build --status\n" +
" Logs: yarn build --logs\n";
const devCommand = (suite) => {
switch (suite) {
case "app-serve":
return "dev:serve";
case "demo":
return "dev:demo";
case "gallery":
return "dev:gallery";
case "e2e-app":
return "test:e2e:app:dev";
default:
return "dev";
}
};
const readBuild = () => readProcessRecord(lockFile);
const releaseBuild = (token) => releaseProcessRecord(lockFile, token);
const stopCommandFor = (owner) =>
owner?.kind === "build"
? "yarn build --stop"
: owner?.kind === "dev"
? `yarn ${devCommand(owner.suite)} --stop`
: undefined;
const acquireBuild = async (modern, foreground) => {
const token = `${process.pid}-${Date.now()}-${Math.random()}`;
const record = {
pid: process.pid,
startTime: processStartTime(process.pid),
processGroup: false,
foreground,
kind: "build",
modern,
starting: true,
token,
};
const result = acquireProcessRecord(lockFile, record);
if (result.acquired) {
return { token };
}
reportExisting(result.existing);
return (await offerToStopProcessRecord({
file: lockFile,
owner: result.existing,
ownerDescription: describeOutputOwner(result.existing),
stopCommand: stopCommandFor(result.existing),
}))
? acquireBuild(modern, foreground)
: { existing: result.existing };
};
const updateBuild = (token, child, processGroup) => {
const existing = readBuild();
if (existing?.token !== token) {
throw Error("Frontend build lock ownership was lost during startup.");
}
writeProcessRecord(lockFile, {
...existing,
pid: child.pid,
startTime: processStartTime(child.pid),
processGroup,
starting: false,
});
};
const taskFor = (modern) => (modern ? "build-app-modern" : "build-app");
const reportExisting = (existing) => {
if (existing?.kind === "output") {
process.stdout.write(
`${describeOutputOwner(existing)} already owns the build and development workflow` +
`${existing.pid ? ` (pid ${existing.pid})` : ""}.\n`
);
return;
}
if (existing?.kind === "dev") {
const command = devCommand(existing.suite);
process.stdout.write(
`Dev server (${existing.suite}) already running` +
`${existing.pid ? ` (pid ${existing.pid})` : ""}.\n` +
` Stop: yarn ${command} --stop\n` +
` Status: yarn ${command} --status\n` +
` Logs: yarn ${command} --logs\n`
);
return;
}
process.stdout.write(
`Frontend ${existing?.modern ? "modern " : ""}build already running` +
`${existing?.pid ? ` (pid ${existing.pid})` : ""}.\n${hints()}`
);
};
const runForeground = async (modern) => {
const lock = await acquireBuild(modern, true);
if (!lock.token) {
return 1;
}
try {
return await spawnForeground({
cmd: gulpBin,
args: [taskFor(modern)],
cwd: repoRoot,
env: workflowLockEnv(lock.token),
processGroup: true,
onSpawn: (child) => updateBuild(lock.token, child, true),
});
} finally {
releaseBuild(lock.token);
}
};
const runBackground = async (modern) => {
const lock = await acquireBuild(modern, false);
if (!lock.token) {
return 1;
}
let child;
try {
child = await spawnDetachedToLog({
cmd: gulpBin,
args: [taskFor(modern)],
cwd: repoRoot,
env: workflowLockEnv(lock.token),
logFile,
});
updateBuild(lock.token, child, true);
process.stdout.write(
`Started ${modern ? "modern " : ""}frontend build (pid ${child.pid})\n` +
hints()
);
return 0;
} catch (err) {
if (child) {
await terminateDetachedProcess(child);
}
releaseBuild(lock.token);
throw err;
}
};
const runStatus = () => {
const existing = readBuild();
if (existing?.kind === "build" && isProcessRecordAlive(existing)) {
process.stdout.write(
`Frontend ${existing.modern ? "modern " : ""}build running (pid ${existing.pid}).\n`
);
} else {
if (existing?.kind === "build") {
releaseBuild(existing.token);
}
process.stdout.write("Frontend build not running.\n");
}
return 0;
};
const runStop = async () => {
let existing = readBuild();
if (existing?.kind !== "build") {
process.stdout.write("Frontend build not running.\n");
return 0;
}
if (existing?.starting) {
const token = existing.token;
await waitFor(
() => {
const current = readBuild();
return !current?.starting || current.token !== token;
},
100,
5000
);
existing = readBuild();
}
if (
!existing ||
existing.kind !== "build" ||
!isProcessRecordAlive(existing)
) {
if (existing) releaseBuild(existing.token);
process.stdout.write("Frontend build not running.\n");
return 0;
}
if (
!(await terminateProcess({
pid: existing.pid,
processGroup: existing.processGroup,
isStopped: () => !isProcessRecordAlive(existing),
}))
) {
process.stderr.write(
`Failed to stop frontend build (pid ${existing.pid}). Stop it manually.\n`
);
return 1;
}
releaseBuild(existing.token);
process.stdout.write(`Stopped frontend build (pid ${existing.pid}).\n`);
return 0;
};
const runLogs = (follow) =>
outputLog(logFile, follow, `No frontend build log yet (${logFile}).\n`);
const main = async () => {
const args = parseArgs(process.argv.slice(2));
if (args.unknown.length) {
process.stderr.write(`Unknown arguments: ${args.unknown.join(" ")}\n`);
usage();
return 1;
}
if (args.modes.length > 1 || (args.follow && args.mode !== "logs")) {
process.stderr.write("Invalid combination of build arguments.\n");
usage();
return 1;
}
const handlers = {
foreground: () => runForeground(args.modern),
background: () => runBackground(args.modern),
status: runStatus,
stop: runStop,
logs: () => runLogs(args.follow),
};
return handlers[args.mode]();
};
runCli(main);
-15
View File
@@ -1,15 +0,0 @@
{
"_comment": "Initial JS budget (raw/uncompressed bytes) for the cold-load critical entrypoints. Enforced by build-scripts/check-bundle-size.cjs in CI. Re-seed after an intentional change with `--update --headroom=<percent>`.",
"frontend-modern": {
"app": 576583,
"core": 54790,
"authorize": 543547,
"onboarding": 655556
},
"frontend-legacy": {
"app": 717124,
"core": 181583,
"authorize": 699175,
"onboarding": 816133
}
}
-337
View File
@@ -1,337 +0,0 @@
const path = require("path");
const env = require("./env.cjs");
const paths = require("./paths.cjs");
const { dependencies } = require("../package.json");
const BABEL_PLUGINS = path.join(__dirname, "babel-plugins");
// GitHub base URL to use for production source maps
// Nightly builds use the commit SHA, otherwise assumes there is a tag that matches the version
module.exports.sourceMapURL = () => {
const ref = env.version().endsWith("dev")
? process.env.GITHUB_SHA || "dev"
: env.version();
return `https://raw.githubusercontent.com/home-assistant/frontend/${ref}/`;
};
// Files from NPM Packages that should not be imported
module.exports.ignorePackages = () => [];
// Files from NPM packages that we should replace with empty file
module.exports.emptyPackages = ({ isLandingPageBuild }) =>
[
// Icons in landingpage conflict with icons in HA so we don't load.
isLandingPageBuild &&
require.resolve(
path.resolve(paths.root_dir, "src/components/ha-icon.ts")
),
isLandingPageBuild &&
require.resolve(
path.resolve(paths.root_dir, "src/components/ha-icon-picker.ts")
),
].filter(Boolean);
module.exports.definedVars = ({ isProdBuild, latestBuild, defineOverlay }) => ({
__DEV__: !isProdBuild,
__BUILD__: JSON.stringify(latestBuild ? "modern" : "legacy"),
__VERSION__: JSON.stringify(env.version()),
__DEMO__: false,
__BACKWARDS_COMPAT__: false,
__STATIC_PATH__: "/static/",
__HASS_URL__: `\`${
"HASS_URL" in process.env
? process.env.HASS_URL
: // eslint-disable-next-line no-template-curly-in-string
"${location.protocol}//${location.host}"
}\``,
"process.env.NODE_ENV": JSON.stringify(
isProdBuild ? "production" : "development"
),
...defineOverlay,
});
module.exports.htmlMinifierOptions = {
caseSensitive: true,
collapseWhitespace: true,
conservativeCollapse: true,
decodeEntities: true,
removeComments: true,
removeRedundantAttributes: true,
minifyCSS: {
compatibility: "*,-properties.zeroUnits",
},
};
module.exports.terserOptions = ({ latestBuild, isTestBuild }) => ({
// Highest syntax the minifier may emit; it never downlevels. Every browser
// in [modern] is well past ES2020 (universal since spring 2020); the
// [legacy] floors (Chrome 59 / Safari 12) top out at ES2017.
ecma: latestBuild ? 2020 : 2017,
module: latestBuild,
format: { comments: false },
sourceMap: !isTestBuild,
});
/** @type {import('@rspack/core').SwcLoaderOptions} */
module.exports.swcOptions = () => ({
jsc: {
loose: true,
externalHelpers: true,
target: "ES2021",
parser: {
syntax: "typescript",
decorators: true,
},
},
});
module.exports.babelOptions = ({ latestBuild, isTestBuild, sw }) => ({
babelrc: false,
compact: false,
assumptions: {
privateFieldsAsProperties: true,
setPublicClassFields: true,
setSpreadProperties: true,
},
browserslistEnv: latestBuild ? "modern" : `legacy${sw ? "-sw" : ""}`,
presets: [
[
"@babel/preset-env",
{
shippedProposals: true,
},
],
],
plugins: [
// Inject Core-JS polyfills on demand. Babel 8 removed preset-env's
// `useBuiltIns`/`corejs` options, so the equivalent polyfill provider is
// configured directly here (`usage-global` matches the old `useBuiltIns: "usage"`).
[
"babel-plugin-polyfill-corejs3",
{
method: "usage-global",
version: dependencies["core-js"],
shippedProposals: true,
},
],
[
path.join(BABEL_PLUGINS, "inline-constants-plugin.cjs"),
{
modules: ["@mdi/js"],
ignoreModuleNotFound: true,
},
],
// Import helpers from runtime package.
// `moduleName` is pinned so helpers resolve from `@babel/runtime`: the
// corejs3 polyfill provider above otherwise redirects them to the
// (uninstalled) `@babel/runtime-corejs3`, which preset-env used to suppress
// internally when it owned the polyfill injection via `useBuiltIns`.
[
"@babel/plugin-transform-runtime",
{ version: dependencies["@babel/runtime"], moduleName: "@babel/runtime" },
],
"@babel/plugin-transform-class-properties",
"@babel/plugin-transform-private-methods",
].filter(Boolean),
exclude: [
// \\ for Windows, / for Mac OS and Linux
/node_modules[\\/]core-js/,
],
sourceMaps: !isTestBuild,
overrides: [
{
// Add plugin to inject various polyfills, excluding the polyfills
// themselves to prevent self-injection.
plugins: [
[
path.join(BABEL_PLUGINS, "custom-polyfill-plugin.js"),
{ method: "usage-global" },
],
],
exclude: [
path.join(paths.root_dir, "src/resources/polyfills"),
...[
"@formatjs/(?:ecma402-abstract|intl-\\w+)",
"@lit-labs/virtualizer/polyfills",
"@webcomponents/scoped-custom-element-registry",
"element-internals-polyfill",
].map((p) => new RegExp(`/node_modules/${p}/`)),
],
},
{
// Use unambiguous for dependencies so that require() is correctly injected into CommonJS files
// Exclusions are needed in some cases where ES modules have no static imports or exports, such as polyfills
// (otherwise babel-plugin-polyfill-corejs3 injects bare require("core-js/modules/...") calls
// that rspack does not transform, causing ReferenceError in browsers like Safari 14).
sourceType: "unambiguous",
include: /\/node_modules\//,
exclude: [
"element-internals-polyfill",
"@?lit(?:-labs|-element|-html)?",
"@formatjs/(?:ecma402-abstract|intl-\\w+)",
].map((p) => new RegExp(`/node_modules/${p}/`)),
},
],
});
const nameSuffix = (latestBuild) => (latestBuild ? "-modern" : "-legacy");
const outputPath = (outputRoot, latestBuild) =>
path.resolve(outputRoot, latestBuild ? "frontend_latest" : "frontend_es5");
const publicPath = (latestBuild, root = "") =>
latestBuild ? `${root}/frontend_latest/` : `${root}/frontend_es5/`;
/*
BundleConfig {
// Object with entrypoints that need to be bundled
entry: { [name: string]: pathToFile },
// Folder where bundled files need to be written
outputPath: string,
// absolute url-path where bundled files can be found
publicPath: string,
// extra definitions that we need to replace in source
defineOverlay: {[name: string]: value },
// if this is a production build
isProdBuild: boolean,
// If we're targeting latest browsers
latestBuild: boolean,
// If we're doing a stats build (create nice chunk names)
isStatsBuild: boolean,
// If it's just a test build in CI, skip time on source map generation
isTestBuild: boolean,
// Names of entrypoints that should not be hashed
dontHash: Set<string>
}
*/
module.exports.config = {
app({ isProdBuild, latestBuild, isStatsBuild, isTestBuild, isWDS }) {
return {
name: "frontend" + nameSuffix(latestBuild),
entry: {
"service-worker": !latestBuild
? {
import: "./src/entrypoints/service-worker.ts",
layer: "sw",
}
: "./src/entrypoints/service-worker.ts",
app: "./src/entrypoints/app.ts",
authorize: "./src/entrypoints/authorize.ts",
onboarding: "./src/entrypoints/onboarding.ts",
core: "./src/entrypoints/core.ts",
"custom-panel": "./src/entrypoints/custom-panel.ts",
},
outputPath: outputPath(paths.app_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
isWDS,
};
},
demo({ isProdBuild, latestBuild, isStatsBuild, isTestBuild }) {
return {
name: "demo" + nameSuffix(latestBuild),
entry: {
main: path.resolve(paths.demo_dir, "src/entrypoint.ts"),
},
outputPath: outputPath(paths.demo_output_root, latestBuild),
publicPath: publicPath(latestBuild),
defineOverlay: {
__VERSION__: JSON.stringify(`DEMO-${env.version()}`),
__DEMO__: true,
},
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
};
},
cast({ isProdBuild, latestBuild }) {
const entry = {
launcher: path.resolve(paths.cast_dir, "src/launcher/entrypoint.ts"),
media: path.resolve(paths.cast_dir, "src/media/entrypoint.ts"),
};
if (latestBuild) {
entry.receiver = path.resolve(
paths.cast_dir,
"src/receiver/entrypoint.ts"
);
}
return {
name: "cast" + nameSuffix(latestBuild),
entry,
outputPath: outputPath(paths.cast_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
defineOverlay: {
__BACKWARDS_COMPAT__: true,
},
};
},
gallery({ isProdBuild, latestBuild, isTestBuild }) {
return {
name: "gallery" + nameSuffix(latestBuild),
entry: {
entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"),
},
outputPath: outputPath(paths.gallery_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
isTestBuild,
defineOverlay: {
__DEMO__: true,
},
};
},
landingPage({ isProdBuild, latestBuild }) {
return {
name: "landing-page" + nameSuffix(latestBuild),
entry: {
entrypoint: path.resolve(paths.landingPage_dir, "src/entrypoint.js"),
},
outputPath: outputPath(paths.landingPage_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
isLandingPageBuild: true,
};
},
e2eTestApp({ isProdBuild, latestBuild, isStatsBuild, isTestBuild }) {
return {
name: "e2e-test-app" + nameSuffix(latestBuild),
entry: {
dashboard: path.resolve(
paths.e2eTestApp_dir,
"src/dashboard-entrypoint.ts"
),
main: path.resolve(paths.e2eTestApp_dir, "src/entrypoint.ts"),
onboarding: path.resolve(
paths.e2eTestApp_dir,
"src/onboarding-entrypoint.ts"
),
},
outputPath: outputPath(paths.e2eTestApp_output_root, latestBuild),
publicPath: publicPath(latestBuild),
defineOverlay: {
__VERSION__: JSON.stringify(`E2E-TEST-${env.version()}`),
__DEMO__: true,
},
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
};
},
};
+219
View File
@@ -0,0 +1,219 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
const env = require("./env.js");
const paths = require("./paths.js");
// Files from NPM Packages that should not be imported
module.exports.ignorePackages = ({ latestBuild }) => [
// Part of yaml.js and only used for !!js functions that we don't use
require.resolve("esprima"),
];
// Files from NPM packages that we should replace with empty file
module.exports.emptyPackages = ({ latestBuild }) =>
[
// Contains all color definitions for all material color sets.
// We don't use it
require.resolve("@polymer/paper-styles/color.js"),
require.resolve("@polymer/paper-styles/default-theme.js"),
// Loads stuff from a CDN
require.resolve("@polymer/font-roboto/roboto.js"),
require.resolve("@vaadin/vaadin-material-styles/typography.js"),
require.resolve("@vaadin/vaadin-material-styles/font-icons.js"),
// Compatibility not needed for latest builds
latestBuild &&
// wrapped in require.resolve so it blows up if file no longer exists
require.resolve(
path.resolve(paths.polymer_dir, "src/resources/compatibility.ts")
),
// This polyfill is loaded in workers to support ES5, filter it out.
latestBuild && require.resolve("proxy-polyfill/src/index.js"),
].filter(Boolean);
module.exports.definedVars = ({ isProdBuild, latestBuild, defineOverlay }) => ({
__DEV__: !isProdBuild,
__BUILD__: JSON.stringify(latestBuild ? "latest" : "es5"),
__VERSION__: JSON.stringify(env.version()),
__DEMO__: false,
__SUPERVISOR__: false,
__BACKWARDS_COMPAT__: false,
__STATIC_PATH__: "/static/",
"process.env.NODE_ENV": JSON.stringify(
isProdBuild ? "production" : "development"
),
...defineOverlay,
});
module.exports.terserOptions = (latestBuild) => ({
safari10: !latestBuild,
ecma: latestBuild ? undefined : 5,
output: { comments: false },
});
module.exports.babelOptions = ({ latestBuild }) => ({
babelrc: false,
compact: false,
presets: [
!latestBuild && [
"@babel/preset-env",
{
useBuiltIns: "entry",
corejs: "3.15",
bugfixes: true,
},
],
"@babel/preset-typescript",
].filter(Boolean),
plugins: [
[
path.resolve(
paths.polymer_dir,
"build-scripts/babel-plugins/inline-constants-plugin.js"
),
{
modules: ["@mdi/js"],
ignoreModuleNotFound: true,
},
],
// Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2})
!latestBuild && [
"@babel/plugin-proposal-object-rest-spread",
{ loose: true, useBuiltIns: true },
],
// Only support the syntax, Webpack will handle it.
"@babel/plugin-syntax-import-meta",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-top-level-await",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
["@babel/plugin-proposal-decorators", { decoratorsBeforeExport: true }],
["@babel/plugin-proposal-private-methods", { loose: true }],
["@babel/plugin-proposal-private-property-in-object", { loose: true }],
["@babel/plugin-proposal-class-properties", { loose: true }],
].filter(Boolean),
exclude: [
// \\ for Windows, / for Mac OS and Linux
/node_modules[\\/]core-js/,
/node_modules[\\/]webpack[\\/]buildin/,
],
});
const outputPath = (outputRoot, latestBuild) =>
path.resolve(outputRoot, latestBuild ? "frontend_latest" : "frontend_es5");
const publicPath = (latestBuild, root = "") =>
latestBuild ? `${root}/frontend_latest/` : `${root}/frontend_es5/`;
/*
BundleConfig {
// Object with entrypoints that need to be bundled
entry: { [name: string]: pathToFile },
// Folder where bundled files need to be written
outputPath: string,
// absolute url-path where bundled files can be found
publicPath: string,
// extra definitions that we need to replace in source
defineOverlay: {[name: string]: value },
// if this is a production build
isProdBuild: boolean,
// If we're targeting latest browsers
latestBuild: boolean,
// If we're doing a stats build (create nice chunk names)
isStatsBuild: boolean,
// Names of entrypoints that should not be hashed
dontHash: Set<string>
}
*/
module.exports.config = {
app({ isProdBuild, latestBuild, isStatsBuild, isWDS }) {
return {
entry: {
service_worker: "./src/entrypoints/service_worker.ts",
app: "./src/entrypoints/app.ts",
authorize: "./src/entrypoints/authorize.ts",
onboarding: "./src/entrypoints/onboarding.ts",
core: "./src/entrypoints/core.ts",
"custom-panel": "./src/entrypoints/custom-panel.ts",
},
outputPath: outputPath(paths.app_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
isStatsBuild,
isWDS,
};
},
demo({ isProdBuild, latestBuild, isStatsBuild }) {
return {
entry: {
main: path.resolve(paths.demo_dir, "src/entrypoint.ts"),
},
outputPath: outputPath(paths.demo_output_root, latestBuild),
publicPath: publicPath(latestBuild),
defineOverlay: {
__VERSION__: JSON.stringify(`DEMO-${env.version()}`),
__DEMO__: true,
},
isProdBuild,
latestBuild,
isStatsBuild,
};
},
cast({ isProdBuild, latestBuild }) {
const entry = {
launcher: path.resolve(paths.cast_dir, "src/launcher/entrypoint.ts"),
media: path.resolve(paths.cast_dir, "src/media/entrypoint.ts"),
};
if (latestBuild) {
entry.receiver = path.resolve(
paths.cast_dir,
"src/receiver/entrypoint.ts"
);
}
return {
entry,
outputPath: outputPath(paths.cast_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
defineOverlay: {
__BACKWARDS_COMPAT__: true,
},
};
},
hassio({ isProdBuild, latestBuild }) {
return {
entry: {
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"),
},
outputPath: outputPath(paths.hassio_output_root, latestBuild),
publicPath: publicPath(latestBuild, paths.hassio_publicPath),
isProdBuild,
latestBuild,
defineOverlay: {
__SUPERVISOR__: true,
},
};
},
gallery({ isProdBuild, latestBuild }) {
return {
entry: {
entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"),
},
outputPath: outputPath(paths.gallery_output_root, latestBuild),
publicPath: publicPath(latestBuild),
isProdBuild,
latestBuild,
defineOverlay: {
__DEMO__: true,
},
};
},
};
-155
View File
@@ -1,155 +0,0 @@
/* global require, process, __dirname */
// Enforce a strict size budget on the initial JS of the most critical
// entrypoints (`app` and `core`). These two are downloaded on every cold load
// before anything interactive can happen, so unintended growth here hurts
// first-load performance directly.
//
// In production rspack does not split initial chunks (splitChunks only operates
// on `!chunk.canBeInitial()`), so each entrypoint resolves to a single initial
// JS asset. We read the per-build stats written by StatsWriterPlugin and compare
// the entrypoint's initial JS size against a committed budget.
//
// Usage:
// node build-scripts/check-bundle-size.cjs # enforce, exit 1 on regression
// node build-scripts/check-bundle-size.cjs --update # rewrite budgets from current sizes
// node build-scripts/check-bundle-size.cjs --update --headroom=3 # current + 3% headroom
const fs = require("fs");
const path = require("path");
const paths = require("./paths.cjs");
// Entrypoints whose initial JS we hold to a strict budget. These are all
// downloaded on a user-facing cold load before anything interactive can happen:
// `app`/`core` for the main app, plus the standalone `authorize` and
// `onboarding` pages. `custom-panel` is intentionally excluded (only loaded
// when a custom panel is opened).
const TRACKED_ENTRYPOINTS = ["app", "core", "authorize", "onboarding"];
// App build stats files, as written by StatsWriterPlugin (`${name}.json`).
const BUILDS = ["frontend-modern", "frontend-legacy"];
const BUDGET_FILE = path.join(__dirname, "bundle-budget.json");
const STATS_DIR = path.join(paths.build_dir, "stats");
const readStats = (build) => {
const file = path.join(STATS_DIR, `${build}.json`);
if (!fs.existsSync(file)) {
throw new Error(
`Missing stats file: ${path.relative(process.cwd(), file)}.\n` +
`Run a production build first (e.g. \`gulp build-app\`), then re-run this check.`
);
}
return JSON.parse(fs.readFileSync(file, "utf8"));
};
// Initial JS bytes for an entrypoint = sum of the .js asset sizes of its initial
// entry chunk(s). Sizes are raw (uncompressed) bytes, matching the stats output.
const entrypointInitialJS = (stats, entrypoint) => {
const assetSize = new Map(stats.assets.map((a) => [a.name, a.size]));
let total = 0;
let found = false;
for (const chunk of stats.chunks) {
if (!chunk.entry || !chunk.initial) {
continue;
}
if (!(chunk.names || []).includes(entrypoint)) {
continue;
}
found = true;
for (const file of chunk.files || []) {
if (file.endsWith(".js") && assetSize.has(file)) {
total += assetSize.get(file);
}
}
}
if (!found) {
throw new Error(`Entrypoint "${entrypoint}" not found in bundle stats.`);
}
return total;
};
const kib = (bytes) => `${(bytes / 1024).toFixed(1)} KiB`;
const main = () => {
const update = process.argv.includes("--update");
const headroomArg = process.argv.find((a) => a.startsWith("--headroom="));
const headroom = headroomArg ? Number(headroomArg.split("=")[1]) : 0;
const current = {};
for (const build of BUILDS) {
const stats = readStats(build);
current[build] = {};
for (const entrypoint of TRACKED_ENTRYPOINTS) {
current[build][entrypoint] = entrypointInitialJS(stats, entrypoint);
}
}
if (update) {
const budget = { _comment: BUDGET_COMMENT };
for (const build of BUILDS) {
budget[build] = {};
for (const entrypoint of TRACKED_ENTRYPOINTS) {
budget[build][entrypoint] = Math.ceil(
current[build][entrypoint] * (1 + headroom / 100)
);
}
}
fs.writeFileSync(BUDGET_FILE, `${JSON.stringify(budget, null, 2)}\n`);
console.log(
`Updated ${path.relative(process.cwd(), BUDGET_FILE)} from current sizes` +
(headroom ? ` (+${headroom}% headroom).` : ".")
);
return;
}
if (!fs.existsSync(BUDGET_FILE)) {
throw new Error(
`Missing budget file ${path.relative(process.cwd(), BUDGET_FILE)}.\n` +
`Seed it from a production build with: node build-scripts/check-bundle-size.cjs --update --headroom=3`
);
}
const budget = JSON.parse(fs.readFileSync(BUDGET_FILE, "utf8"));
let failed = false;
console.log("Initial JS budget (entry chunks, raw bytes):\n");
for (const build of BUILDS) {
for (const entrypoint of TRACKED_ENTRYPOINTS) {
const actual = current[build][entrypoint];
const limit = budget[build] && budget[build][entrypoint];
if (typeof limit !== "number") {
failed = true;
console.log(
` ✗ ${build} / ${entrypoint}: no budget set (current ${kib(actual)})`
);
continue;
}
const ok = actual <= limit;
const delta = (((actual - limit) / limit) * 100).toFixed(1);
console.log(
` ${ok ? "✓" : "✗"} ${build} / ${entrypoint}: ` +
`${kib(actual)} / ${kib(limit)}${ok ? "" : ` (+${delta}% over budget)`}`
);
if (!ok) {
failed = true;
}
}
}
if (failed) {
console.error(
"\nInitial JS budget exceeded for a critical entrypoint.\n" +
"Investigate what was pulled into the entry chunk (a static import that should be lazy?).\n" +
"If the growth is intentional, re-seed the budget:\n" +
" node build-scripts/check-bundle-size.cjs --update --headroom=3"
);
process.exit(1);
}
console.log("\nAll tracked entrypoints within budget.");
};
const BUDGET_COMMENT =
"Initial JS budget (raw/uncompressed bytes) for the cold-load critical entrypoints. " +
"Enforced by build-scripts/check-bundle-size.cjs in CI. " +
"Re-seed after an intentional change with `--update --headroom=<percent>`.";
main();
Loaded 100 of 4077 files, more files were not shown because too many files have changed in this diff. Show more