@_linked/cli 1.46.1 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +113 -0
- package/README.md +48 -36
- package/hooks/drift.cjs +169 -0
- package/hooks/git-hook.cjs +170 -0
- package/hooks/hook-shim.cjs +63 -0
- package/hooks/lock-at-rest.cjs +268 -0
- package/hooks/manifests.cjs +216 -0
- package/hooks/platform.cjs +25 -0
- package/lib/esm/app-release/build-backend.d.ts.map +1 -1
- package/lib/esm/app-release/build-backend.js +2 -1
- package/lib/esm/app-release/build-backend.js.map +1 -1
- package/lib/esm/cli-methods.d.ts.map +1 -1
- package/lib/esm/cli-methods.js +166 -150
- package/lib/esm/cli-methods.js.map +1 -1
- package/lib/esm/cli.js +20 -22
- package/lib/esm/cli.js.map +1 -1
- package/lib/esm/commands/build-app.d.ts.map +1 -1
- package/lib/esm/commands/build-app.js +2 -1
- package/lib/esm/commands/build-app.js.map +1 -1
- package/lib/esm/commands/build-package.d.ts.map +1 -1
- package/lib/esm/commands/build-package.js +6 -2
- package/lib/esm/commands/build-package.js.map +1 -1
- package/lib/esm/commands/localize.d.ts +9 -15
- package/lib/esm/commands/localize.d.ts.map +1 -1
- package/lib/esm/commands/localize.js +43 -74
- package/lib/esm/commands/localize.js.map +1 -1
- package/lib/esm/commands/setup-publish.d.ts.map +1 -1
- package/lib/esm/commands/setup-publish.js +22 -15
- package/lib/esm/commands/setup-publish.js.map +1 -1
- package/lib/esm/commands/start.d.ts +8 -0
- package/lib/esm/commands/start.d.ts.map +1 -1
- package/lib/esm/commands/start.js +20 -8
- package/lib/esm/commands/start.js.map +1 -1
- package/lib/esm/installed-packages.d.ts +5 -13
- package/lib/esm/installed-packages.d.ts.map +1 -1
- package/lib/esm/installed-packages.js +5 -38
- package/lib/esm/installed-packages.js.map +1 -1
- package/lib/esm/lifecycle.d.ts +35 -22
- package/lib/esm/lifecycle.d.ts.map +1 -1
- package/lib/esm/lifecycle.js +62 -36
- package/lib/esm/lifecycle.js.map +1 -1
- package/lib/esm/localize/adopt.d.ts +5 -5
- package/lib/esm/localize/adopt.d.ts.map +1 -1
- package/lib/esm/localize/adopt.js +46 -55
- package/lib/esm/localize/adopt.js.map +1 -1
- package/lib/esm/localize/app-root.d.ts +16 -0
- package/lib/esm/localize/app-root.d.ts.map +1 -0
- package/lib/esm/localize/app-root.js +94 -0
- package/lib/esm/localize/app-root.js.map +1 -0
- package/lib/esm/localize/app-setup.d.ts +21 -0
- package/lib/esm/localize/app-setup.d.ts.map +1 -0
- package/lib/esm/localize/app-setup.js +178 -0
- package/lib/esm/localize/app-setup.js.map +1 -0
- package/lib/esm/localize/delocalize.d.ts.map +1 -1
- package/lib/esm/localize/delocalize.js +169 -104
- package/lib/esm/localize/delocalize.js.map +1 -1
- package/lib/esm/localize/drift-hook.d.ts +18 -0
- package/lib/esm/localize/drift-hook.d.ts.map +1 -0
- package/lib/esm/localize/drift-hook.js +37 -0
- package/lib/esm/localize/drift-hook.js.map +1 -0
- package/lib/esm/localize/drift.d.ts +36 -0
- package/lib/esm/localize/drift.d.ts.map +1 -0
- package/lib/esm/localize/drift.js +34 -0
- package/lib/esm/localize/drift.js.map +1 -0
- package/lib/esm/localize/errors.d.ts +14 -8
- package/lib/esm/localize/errors.d.ts.map +1 -1
- package/lib/esm/localize/errors.js +14 -8
- package/lib/esm/localize/errors.js.map +1 -1
- package/lib/esm/localize/fsops.d.ts +11 -27
- package/lib/esm/localize/fsops.d.ts.map +1 -1
- package/lib/esm/localize/fsops.js +40 -115
- package/lib/esm/localize/fsops.js.map +1 -1
- package/lib/esm/localize/git-hooks.d.ts +33 -0
- package/lib/esm/localize/git-hooks.d.ts.map +1 -0
- package/lib/esm/localize/git-hooks.js +146 -0
- package/lib/esm/localize/git-hooks.js.map +1 -0
- package/lib/esm/localize/hook-module.d.ts +6 -0
- package/lib/esm/localize/hook-module.d.ts.map +1 -0
- package/lib/esm/localize/hook-module.js +37 -0
- package/lib/esm/localize/hook-module.js.map +1 -0
- package/lib/esm/localize/index.d.ts +14 -15
- package/lib/esm/localize/index.d.ts.map +1 -1
- package/lib/esm/localize/index.js +8 -9
- package/lib/esm/localize/index.js.map +1 -1
- package/lib/esm/localize/list.d.ts +6 -10
- package/lib/esm/localize/list.d.ts.map +1 -1
- package/lib/esm/localize/list.js +49 -189
- package/lib/esm/localize/list.js.map +1 -1
- package/lib/esm/localize/localize.d.ts +46 -62
- package/lib/esm/localize/localize.d.ts.map +1 -1
- package/lib/esm/localize/localize.js +411 -285
- package/lib/esm/localize/localize.js.map +1 -1
- package/lib/esm/localize/members.d.ts +13 -0
- package/lib/esm/localize/members.d.ts.map +1 -0
- package/lib/esm/localize/members.js +46 -0
- package/lib/esm/localize/members.js.map +1 -0
- package/lib/esm/localize/resolve.d.ts +1 -2
- package/lib/esm/localize/resolve.d.ts.map +1 -1
- package/lib/esm/localize/resolve.js +3 -5
- package/lib/esm/localize/resolve.js.map +1 -1
- package/lib/esm/localize/run.d.ts +1 -0
- package/lib/esm/localize/run.d.ts.map +1 -1
- package/lib/esm/localize/run.js +11 -6
- package/lib/esm/localize/run.js.map +1 -1
- package/lib/esm/localize/setup-lockfile.d.ts +13 -0
- package/lib/esm/localize/setup-lockfile.d.ts.map +1 -0
- package/lib/esm/localize/setup-lockfile.js +80 -0
- package/lib/esm/localize/setup-lockfile.js.map +1 -0
- package/lib/esm/utils/createPackageLocation.d.ts +4 -13
- package/lib/esm/utils/createPackageLocation.d.ts.map +1 -1
- package/lib/esm/utils/createPackageLocation.js +12 -21
- package/lib/esm/utils/createPackageLocation.js.map +1 -1
- package/lib/esm/utils/packageSetup.d.ts +5 -2
- package/lib/esm/utils/packageSetup.d.ts.map +1 -1
- package/lib/esm/utils/packageSetup.js +9 -3
- package/lib/esm/utils/packageSetup.js.map +1 -1
- package/lib/esm/utils/platform.d.ts +24 -0
- package/lib/esm/utils/platform.d.ts.map +1 -0
- package/lib/esm/utils/platform.js +62 -0
- package/lib/esm/utils/platform.js.map +1 -0
- package/lib/esm/utils/shapeReferences.d.ts.map +1 -1
- package/lib/esm/utils/shapeReferences.js +3 -2
- package/lib/esm/utils/shapeReferences.js.map +1 -1
- package/lib/esm/utils/spawn.d.ts +65 -0
- package/lib/esm/utils/spawn.d.ts.map +1 -0
- package/lib/esm/utils/spawn.js +181 -0
- package/lib/esm/utils/spawn.js.map +1 -0
- package/lib/esm/utils.d.ts.map +1 -1
- package/lib/esm/utils.js +19 -5
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/vite-config.d.ts +5 -12
- package/lib/esm/vite-config.d.ts.map +1 -1
- package/lib/esm/vite-config.js +41 -33
- package/lib/esm/vite-config.js.map +1 -1
- package/package.json +4 -3
- package/lib/esm/localize/ensure.d.ts +0 -44
- package/lib/esm/localize/ensure.d.ts.map +0 -1
- package/lib/esm/localize/ensure.js +0 -151
- package/lib/esm/localize/ensure.js.map +0 -1
- package/lib/esm/localize/manifest.d.ts +0 -63
- package/lib/esm/localize/manifest.d.ts.map +0 -1
- package/lib/esm/localize/manifest.js +0 -133
- package/lib/esm/localize/manifest.js.map +0 -1
- package/lib/esm/localize/one-copy-hook.d.ts +0 -16
- package/lib/esm/localize/one-copy-hook.d.ts.map +0 -1
- package/lib/esm/localize/one-copy-hook.js +0 -20
- package/lib/esm/localize/one-copy-hook.js.map +0 -1
- package/lib/esm/localize/provided.d.ts +0 -28
- package/lib/esm/localize/provided.d.ts.map +0 -1
- package/lib/esm/localize/provided.js +0 -89
- package/lib/esm/localize/provided.js.map +0 -1
- package/lib/esm/localize/prune.d.ts +0 -165
- package/lib/esm/localize/prune.d.ts.map +0 -1
- package/lib/esm/localize/prune.js +0 -619
- package/lib/esm/localize/prune.js.map +0 -1
- package/lib/esm/localize/relink.d.ts +0 -13
- package/lib/esm/localize/relink.d.ts.map +0 -1
- package/lib/esm/localize/relink.js +0 -179
- package/lib/esm/localize/relink.js.map +0 -1
- package/lib/esm/localized-dedupe.d.ts +0 -26
- package/lib/esm/localized-dedupe.d.ts.map +0 -1
- package/lib/esm/localized-dedupe.js +0 -139
- package/lib/esm/localized-dedupe.js.map +0 -1
- package/lib/esm/utils/relinkHooks.d.ts +0 -19
- package/lib/esm/utils/relinkHooks.d.ts.map +0 -1
- package/lib/esm/utils/relinkHooks.js +0 -74
- package/lib/esm/utils/relinkHooks.js.map +0 -1
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import type { ProvidedSkip } from './provided.js';
|
|
2
|
-
import type { ManifestEntry } from './manifest.js';
|
|
3
|
-
import type { Deps } from './run.js';
|
|
4
|
-
/** What pruning reads from a command's options. */
|
|
5
|
-
export interface PruneOptions {
|
|
6
|
-
/** On unless explicitly false. */
|
|
7
|
-
prune?: boolean;
|
|
8
|
-
}
|
|
9
|
-
/** Limit a prune to some checkouts and/or some dependency names. */
|
|
10
|
-
export interface PruneScope {
|
|
11
|
-
/** Only these localized packages' checkouts. */
|
|
12
|
-
owners?: string[];
|
|
13
|
-
/** Only these dependency names (the first pass; later passes take every candidate of `owners`). */
|
|
14
|
-
deps?: string[];
|
|
15
|
-
}
|
|
16
|
-
/** The rule's names (every localized sibling among them) and what the rule skipped. */
|
|
17
|
-
export interface Candidates {
|
|
18
|
-
names: Set<string>;
|
|
19
|
-
skipped: Map<string, ProvidedSkip>;
|
|
20
|
-
}
|
|
21
|
-
/** The rule (`providedPackages`, provided.ts) over `entries`, plus every entry (sibling). */
|
|
22
|
-
export declare function candidatesFor(entries: Record<string, ManifestEntry>, deps: Pick<Deps, 'appRoot'>): Candidates;
|
|
23
|
-
/**
|
|
24
|
-
* Does the app's installed `version` satisfy `range`? `null` means "cannot
|
|
25
|
-
* tell" -- a dist-tag, `file:`, `npm:`, `workspace:`, a git URL, or a version
|
|
26
|
-
* that is not one -- and every caller then keeps the copy. The failure mode is
|
|
27
|
-
* therefore always the safe one: a copy kept that could have gone, never a
|
|
28
|
-
* copy removed that was needed.
|
|
29
|
-
*
|
|
30
|
-
* npm's own `semver` decides, so prereleases follow npm's rule: `1.3.0-beta.1`
|
|
31
|
-
* satisfies a range only when one of its comparators names a prerelease on
|
|
32
|
-
* the same `major.minor.patch`.
|
|
33
|
-
*/
|
|
34
|
-
export declare function satisfies(version: string, range: string): boolean | null;
|
|
35
|
-
/** Pruning is on unless a caller says `{prune: false}`. */
|
|
36
|
-
export declare function shouldPrune(opts?: PruneOptions): boolean;
|
|
37
|
-
/** Is pruning on for this recorded checkout? `--no-prune` at localize/adopt records `prune: false`. */
|
|
38
|
-
export declare function prunesEntry(entry: Pick<ManifestEntry, 'prune'>): boolean;
|
|
39
|
-
/** prune repeats until a pass removes nothing, at most this many passes. */
|
|
40
|
-
export declare const MAX_PRUNE_PASSES = 5;
|
|
41
|
-
/** A range that resolves to a copy: who asks, and what. */
|
|
42
|
-
interface Ask {
|
|
43
|
-
from: string;
|
|
44
|
-
range: string;
|
|
45
|
-
}
|
|
46
|
-
/** One copy in a checkout's `node_modules`, and what pruning decides about it. */
|
|
47
|
-
export interface PruneDecision {
|
|
48
|
-
/** The localized package whose checkout holds the copy. */
|
|
49
|
-
ownerName: string;
|
|
50
|
-
/** Its checkout, relative to the app root. */
|
|
51
|
-
owner: string;
|
|
52
|
-
dep: string;
|
|
53
|
-
/** `<nm>/<dep>`, absolute. */
|
|
54
|
-
dir: string;
|
|
55
|
-
/** `dir` relative to the app root. */
|
|
56
|
-
where: string;
|
|
57
|
-
nm: string;
|
|
58
|
-
version: string;
|
|
59
|
-
/** The app's version. */
|
|
60
|
-
app: string;
|
|
61
|
-
sibling: boolean;
|
|
62
|
-
action: 'remove' | 'keep';
|
|
63
|
-
/**
|
|
64
|
-
* Why a copy stays: `range` -- a range that loads it is one the app's
|
|
65
|
-
* version misses (or one that cannot be read); `context` -- removing it
|
|
66
|
-
* would change what its own dependencies resolve to.
|
|
67
|
-
*/
|
|
68
|
-
reason?: 'range' | 'context';
|
|
69
|
-
/** The ranges the app's version does not satisfy (`range`), or a sibling's drift (`remove`). */
|
|
70
|
-
unmet: Ask[];
|
|
71
|
-
/** `context`: the dependency that would resolve elsewhere, and both versions. */
|
|
72
|
-
context?: {
|
|
73
|
-
dep: string;
|
|
74
|
-
here: string;
|
|
75
|
-
app: string | null;
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/** What a plan found, without touching anything. */
|
|
79
|
-
export interface PrunePlan {
|
|
80
|
-
remove: PruneDecision[];
|
|
81
|
-
keep: PruneDecision[];
|
|
82
|
-
/** Checkouts left alone because they are not under the app root. */
|
|
83
|
-
outside: {
|
|
84
|
-
name: string;
|
|
85
|
-
path: string;
|
|
86
|
-
}[];
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Per-call caches: a requirement index per `node_modules` (built once, see
|
|
90
|
-
* `RequirementIndex`) and the package.json files read along the way.
|
|
91
|
-
*/
|
|
92
|
-
export interface PruneCache {
|
|
93
|
-
indexes: Map<string, RequirementIndex>;
|
|
94
|
-
/** How many indexes were built -- each is one read of a whole tree. */
|
|
95
|
-
builds: number;
|
|
96
|
-
}
|
|
97
|
-
export declare function newPruneCache(): PruneCache;
|
|
98
|
-
/**
|
|
99
|
-
* Decide, for every recorded checkout and every candidate copy in its
|
|
100
|
-
* `node_modules`, whether pruning removes it -- without removing anything.
|
|
101
|
-
* `pruneProvided` applies it; the run-time check (`checkOneCopy`) and
|
|
102
|
-
* `--list` call it on its own, which is why it has to be cheap: a copy whose
|
|
103
|
-
* checkout's own range rules it out is decided from that `package.json`
|
|
104
|
-
* alone, and every other range comes from one requirement index per
|
|
105
|
-
* `node_modules`, built at most once per call.
|
|
106
|
-
*
|
|
107
|
-
* Candidates are PER OWNER: a copy is a candidate in checkout O when the rule
|
|
108
|
-
* provides it AND it is a localized sibling, `react`/`react-dom`, or one of
|
|
109
|
-
* O's own runtime dependencies (`dependencies`, `peerDependencies`,
|
|
110
|
-
* `optionalDependencies`). O's devDependencies are O's tooling, whatever
|
|
111
|
-
* another checkout declares at runtime.
|
|
112
|
-
*/
|
|
113
|
-
export declare function planPrune(entries: Record<string, ManifestEntry>, deps: Pick<Deps, 'appRoot'>, scope?: PruneScope, cache?: PruneCache, candidates?: Candidates): PrunePlan;
|
|
114
|
-
/**
|
|
115
|
-
* @param entries the localized packages: every one counts as a sibling
|
|
116
|
-
* @param opts unused beyond `prune`, which callers check with `shouldPrune`
|
|
117
|
-
* @param deps `{appRoot, log, warn}`
|
|
118
|
-
* @param scope prune only some checkouts / names (the run-time check)
|
|
119
|
-
*
|
|
120
|
-
* A removal can make another copy removable -- the copy that went was the one
|
|
121
|
-
* asking a range the app misses, or the one a sibling copy's dependency
|
|
122
|
-
* resolved to -- so it plans and removes again until a pass removes nothing
|
|
123
|
-
* (at most `MAX_PRUNE_PASSES`): one call converges. A checkout recorded with
|
|
124
|
-
* `prune: false` is never touched.
|
|
125
|
-
*/
|
|
126
|
-
export declare function pruneProvided(entries: Record<string, ManifestEntry>, opts: PruneOptions, deps: Pick<Deps, 'appRoot' | 'log' | 'warn'>, scope?: PruneScope, cache?: PruneCache): {
|
|
127
|
-
removed: PruneDecision[];
|
|
128
|
-
kept: PruneDecision[];
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* Is `dep` -- declared by a checkout at `range` -- something the app provides,
|
|
132
|
-
* so that its absence from the checkout's own `node_modules` is not a
|
|
133
|
-
* dependency gone missing? `--relink` asks this before reinstalling a
|
|
134
|
-
* checkout, so a copy pruned on purpose does not trigger a reinstall on every
|
|
135
|
-
* postinstall. `pkg` is the checkout's `package.json`: only what would be a
|
|
136
|
-
* candidate in THAT checkout counts.
|
|
137
|
-
*/
|
|
138
|
-
export declare function isProvidedByApp(dep: string, range: string | undefined, entries: Record<string, ManifestEntry>, candidates: Candidates, deps: Pick<Deps, 'appRoot'>, pkg?: any): boolean;
|
|
139
|
-
/**
|
|
140
|
-
* Every range that would load a copy at the top of one `node_modules`: the
|
|
141
|
-
* requirements (`dependencies`, `peerDependencies`, `optionalDependencies`) of
|
|
142
|
-
* every installed package under it, read ONCE per `node_modules`, then asked
|
|
143
|
-
* per name. A package counts for `<nm>/<dep>` when nothing between it and
|
|
144
|
-
* `nm` holds its own `dep` -- Node would load the top-level copy.
|
|
145
|
-
*
|
|
146
|
-
* Read from npm's hidden lockfile (`node_modules/.package-lock.json`, which
|
|
147
|
-
* npm rewrites on every install in that tree) when there is one: measured
|
|
148
|
-
* over 21 checkouts, parsing all of them took ~45 ms where walking the same
|
|
149
|
-
* 16,800 package.json files took 0.8 s warm and 3.4 s cold. Without one (a
|
|
150
|
-
* tree npm did not write) the tree is walked, once. Either way a requirer is
|
|
151
|
-
* checked against the disk when asked about -- what an earlier prune removed
|
|
152
|
-
* asks nothing, and a copy is shadowed only by a directory that exists.
|
|
153
|
-
*/
|
|
154
|
-
export interface RequirementIndex {
|
|
155
|
-
asks(dep: string): Ask[];
|
|
156
|
-
}
|
|
157
|
-
/** `react@18.3.1 (app 19.2.0), prism-react-renderer@2.4.1 (its react would change), … and 4 more` */
|
|
158
|
-
export declare function summarizeKept(list: PruneDecision[]): string;
|
|
159
|
-
/** The full reason a copy stays, for `--list`. */
|
|
160
|
-
export declare function explainKept(k: PruneDecision): string;
|
|
161
|
-
/** The package dir's `node_modules`, and the clone root's when the package is a monorepo subdir. */
|
|
162
|
-
export declare function nodeModulesRoots(pkgDir: any, entry: any): string[];
|
|
163
|
-
export declare function realOrSelf(p: string): string;
|
|
164
|
-
export {};
|
|
165
|
-
//# sourceMappingURL=prune.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../../src/localize/prune.ts"],"names":[],"mappings":"AAgFA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAC;AAEnC,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACpC;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,GAC1B,UAAU,CAMZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKxE;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAE5D;AAED,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAExE;AAeD,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,2DAA2D;AAC3D,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,gGAAgG;IAChG,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,iFAAiF;IACjF,OAAO,CAAC,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,CAAC;CAC3D;AAED,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,oEAAoE;IACpE,OAAO,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAC3B,KAAK,GAAE,UAAe,EACtB,KAAK,GAAE,UAA4B,EACnC,UAAU,GAAE,UAAyC,GACpD,SAAS,CAsCX;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,EAC5C,KAAK,GAAE,UAAe,EACtB,KAAK,GAAE,UAA4B,GAClC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,aAAa,EAAE,CAAA;CAAC,CA4BnD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAC3B,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAYT;AAgJD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;CAC1B;AAkJD,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAI3D;AAQD,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAgBpD;AAeD,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,YAQ7C;AAwDD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5C"}
|