@mesadev/sdk 0.44.1 → 0.46.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/README.md +28 -17
- package/dist/api/access-token.d.ts +6 -47
- package/dist/api/access-token.d.ts.map +1 -1
- package/dist/api/access-token.js +6 -83
- package/dist/api/access-token.js.map +1 -1
- package/dist/api/client.d.ts +1 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/repo-tag-filter.d.ts +7 -6
- package/dist/api/repo-tag-filter.d.ts.map +1 -1
- package/dist/api/resources.d.ts +54 -124
- package/dist/api/resources.d.ts.map +1 -1
- package/dist/api/resources.js +50 -80
- package/dist/api/resources.js.map +1 -1
- package/dist/fs/index.d.ts +1 -1
- package/dist/fs/index.d.ts.map +1 -1
- package/dist/fs/index.js.map +1 -1
- package/dist/fs/layout.d.ts +43 -10
- package/dist/fs/layout.d.ts.map +1 -1
- package/dist/fs/layout.js +49 -5
- package/dist/fs/layout.js.map +1 -1
- package/dist/fs/mesa-file-system.d.ts +23 -14
- package/dist/fs/mesa-file-system.d.ts.map +1 -1
- package/dist/fs/mesa-file-system.js +16 -6
- package/dist/fs/mesa-file-system.js.map +1 -1
- package/dist/fs/native-loader.d.ts +37 -8
- package/dist/fs/native-loader.d.ts.map +1 -1
- package/dist/fs/native-loader.js +1 -1
- package/dist/fs/native-loader.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/errors.d.ts +2 -8
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +1 -10
- package/dist/lib/errors.js.map +1 -1
- package/dist/mesa.d.ts +27 -85
- package/dist/mesa.d.ts.map +1 -1
- package/dist/mesa.js +58 -232
- package/dist/mesa.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/webhooks/index.d.ts +1 -1
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/index.js +1 -1
- package/dist/webhooks/index.js.map +1 -1
- package/dist/webhooks/schemas.d.ts +0 -125
- package/dist/webhooks/schemas.d.ts.map +1 -1
- package/dist/webhooks/schemas.js +4 -4
- package/dist/webhooks/schemas.js.map +1 -1
- package/package.json +6 -6
package/dist/mesa.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { WhoamiResponse } from '@mesadev/rest';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { type ApiResources, type FixedTokenBookmarksMergeInput, type FixedTokenChangesCreateInput, type FixedTokenChangesPatchInput, type PrivateKeyBookmarksMergeInput, type PrivateKeyChangesCreateInput, type PrivateKeyChangesPatchInput, type
|
|
3
|
+
import { type ApiResources, type FixedTokenBookmarksMergeInput, type FixedTokenChangesCreateInput, type FixedTokenChangesPatchInput, type PrivateKeyBookmarksMergeInput, type PrivateKeyChangesCreateInput, type PrivateKeyChangesPatchInput, type TokensCreatePrivateKeyInput, type TokensCreateResponse } from './api/resources.js';
|
|
4
4
|
import { type Layout, type LayoutSpec } from './fs/layout.js';
|
|
5
|
-
import { MesaFileSystem, type
|
|
5
|
+
import { MesaFileSystem, type TelemetryConfig } from './fs/mesa-file-system.js';
|
|
6
6
|
declare const authSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
7
7
|
privateKey: z.ZodString;
|
|
8
8
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -22,19 +22,13 @@ type AccessTokenMesaOptions = {
|
|
|
22
22
|
accessToken: string;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
-
type
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
type CredentialSpecific<TOptions extends MesaOptions, TPrivateKey, TAccessToken, TApiKey, TDynamic> = [
|
|
29
|
-
TOptions
|
|
30
|
-
] extends [PrivateKeyMesaOptions] ? TPrivateKey : [TOptions] extends [AccessTokenMesaOptions] ? TAccessToken : [TOptions] extends [ApiKeyMesaOptions] ? TApiKey : TDynamic;
|
|
25
|
+
type CredentialSpecific<TOptions extends MesaOptions, TPrivateKey, TAccessToken, TDynamic> = [TOptions] extends [
|
|
26
|
+
PrivateKeyMesaOptions
|
|
27
|
+
] ? TPrivateKey : [TOptions] extends [AccessTokenMesaOptions] ? TAccessToken : TDynamic;
|
|
31
28
|
type PrivateKeyTokens = {
|
|
32
29
|
create: (input: TokensCreatePrivateKeyInput) => Promise<TokensCreateResponse>;
|
|
33
30
|
};
|
|
34
|
-
type
|
|
35
|
-
create: (input?: TokensCreateLegacyInput) => Promise<TokensCreateResponse>;
|
|
36
|
-
};
|
|
37
|
-
type MesaTokens<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyTokens, Omit<ApiResources['tokens'], 'create'>, ApiKeyTokens, ApiResources['tokens']>;
|
|
31
|
+
type MesaTokens<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyTokens, Omit<ApiResources['tokens'], 'create'>, ApiResources['tokens']>;
|
|
38
32
|
type PrivateKeyBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
39
33
|
merge: (input: PrivateKeyBookmarksMergeInput) => ReturnType<ApiResources['bookmarks']['merge']>;
|
|
40
34
|
};
|
|
@@ -42,9 +36,9 @@ type FixedTokenBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
|
42
36
|
merge: (input: FixedTokenBookmarksMergeInput) => ReturnType<ApiResources['bookmarks']['merge']>;
|
|
43
37
|
};
|
|
44
38
|
type DynamicBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
45
|
-
merge:
|
|
39
|
+
merge: PrivateKeyBookmarks['merge'] & FixedTokenBookmarks['merge'];
|
|
46
40
|
};
|
|
47
|
-
type MesaBookmarks<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyBookmarks, FixedTokenBookmarks,
|
|
41
|
+
type MesaBookmarks<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyBookmarks, FixedTokenBookmarks, DynamicBookmarks>;
|
|
48
42
|
type PrivateKeyChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
49
43
|
create: (input: PrivateKeyChangesCreateInput) => ReturnType<ApiResources['changes']['create']>;
|
|
50
44
|
patch: (input: PrivateKeyChangesPatchInput) => ReturnType<ApiResources['changes']['patch']>;
|
|
@@ -54,25 +48,23 @@ type FixedTokenChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
|
54
48
|
patch: (input: FixedTokenChangesPatchInput) => ReturnType<ApiResources['changes']['patch']>;
|
|
55
49
|
};
|
|
56
50
|
type DynamicChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
57
|
-
create:
|
|
58
|
-
patch:
|
|
51
|
+
create: PrivateKeyChanges['create'] & FixedTokenChanges['create'];
|
|
52
|
+
patch: PrivateKeyChanges['patch'] & FixedTokenChanges['patch'];
|
|
59
53
|
};
|
|
60
|
-
type MesaChanges<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyChanges, FixedTokenChanges,
|
|
54
|
+
type MesaChanges<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyChanges, FixedTokenChanges, DynamicChanges>;
|
|
61
55
|
export interface MesaOptions {
|
|
62
|
-
/** Long-lived API key (`mesa_...`) used directly for requests and to sign short-lived access tokens locally. */
|
|
63
|
-
apiKey?: string;
|
|
64
56
|
/** Organization-root Ed25519 private key used to sign REST request JWTs and `tokens.create()` locally. */
|
|
65
57
|
privateKey?: string;
|
|
66
58
|
/** Grouped private-key or signing-key access-token authentication. */
|
|
67
59
|
auth?: MesaAuth;
|
|
68
60
|
apiUrl?: string;
|
|
69
|
-
vcsUrl?: string;
|
|
70
|
-
org?: string;
|
|
71
61
|
fetch?: typeof globalThis.fetch;
|
|
72
62
|
userAgent?: string;
|
|
73
63
|
webhookSecret?: string;
|
|
74
64
|
}
|
|
75
|
-
|
|
65
|
+
type RejectUnknownMesaOptions<TOptions extends MesaOptions> = Exclude<keyof TOptions, keyof MesaOptions> extends never ? [] : [invalidOptions: never];
|
|
66
|
+
/** Non-token options accepted by {@link FsLayoutDefinition.mount}. */
|
|
67
|
+
export interface FsMountRuntimeOptions {
|
|
76
68
|
cache?: {
|
|
77
69
|
diskCache?: {
|
|
78
70
|
path: string;
|
|
@@ -80,25 +72,6 @@ interface FsMountBaseOptions {
|
|
|
80
72
|
};
|
|
81
73
|
};
|
|
82
74
|
telemetry?: TelemetryConfig;
|
|
83
|
-
/**
|
|
84
|
-
* Lifetime of the mount token, in seconds. API-key clients default to one
|
|
85
|
-
* hour and allow up to 24 hours. Private-key clients default to 15 minutes
|
|
86
|
-
* and allow up to four hours. There is no refresh; once the token expires,
|
|
87
|
-
* the mount fails closed.
|
|
88
|
-
*/
|
|
89
|
-
ttl?: number;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Canonical mount profile: present exactly the listed repositories at their
|
|
93
|
-
* `/org/repo` paths — no custom namespace, no whole-org enumeration. Tokens
|
|
94
|
-
* are name-scoped and signed fully offline (no resolution round-trips
|
|
95
|
-
* before the mount), and per-repo `readOnly` is enforced by the daemon.
|
|
96
|
-
* Layouts mount through a definition instead: `mesa.fs({ layout }).mount()`.
|
|
97
|
-
*/
|
|
98
|
-
export interface FsMountReposOptions extends FsMountBaseOptions {
|
|
99
|
-
/** Repos to mount at their canonical `/org/repo` paths. */
|
|
100
|
-
repos: RepoConfig[];
|
|
101
|
-
layout?: never;
|
|
102
75
|
}
|
|
103
76
|
/**
|
|
104
77
|
* A layout definition bundle produced by calling `mesa.fs({ layout, ttl })`:
|
|
@@ -115,7 +88,7 @@ export interface FsLayoutDefinition {
|
|
|
115
88
|
* mount options (`cache`, `telemetry`). The mount's token lifetime is the
|
|
116
89
|
* definition's `ttl`.
|
|
117
90
|
*/
|
|
118
|
-
mount(options?:
|
|
91
|
+
mount(options?: FsMountRuntimeOptions): Promise<MesaFileSystem>;
|
|
119
92
|
/**
|
|
120
93
|
* Mint the layout-scoped, least-privilege access token: repositories
|
|
121
94
|
* collected from every declaration and scoped by name, `['read']` when
|
|
@@ -125,14 +98,13 @@ export interface FsLayoutDefinition {
|
|
|
125
98
|
token(): Promise<TokensCreateResponse>;
|
|
126
99
|
}
|
|
127
100
|
type AccessTokenFsLayoutDefinition = Omit<FsLayoutDefinition, 'token'>;
|
|
128
|
-
type PrivateKeyFsMountReposOptions = FsMountReposOptions & {
|
|
129
|
-
authors: PrivateKeyAuthors;
|
|
130
|
-
};
|
|
131
|
-
type RuntimeFsMountReposOptions = FsMountReposOptions & {
|
|
132
|
-
authors?: PrivateKeyAuthors;
|
|
133
|
-
};
|
|
134
101
|
type PrivateKeyFsLayoutOptions = {
|
|
135
102
|
layout: LayoutSpec;
|
|
103
|
+
/**
|
|
104
|
+
* Lifetime of every token the definition mints, in seconds. Private-key
|
|
105
|
+
* clients default to 15 minutes and allow up to four hours. There is no
|
|
106
|
+
* refresh; once the token expires, the mount fails closed.
|
|
107
|
+
*/
|
|
136
108
|
ttl?: number;
|
|
137
109
|
authors: PrivateKeyAuthors;
|
|
138
110
|
};
|
|
@@ -146,32 +118,16 @@ type AccessTokenFsLayoutOptions = {
|
|
|
146
118
|
authors?: never;
|
|
147
119
|
ttl?: never;
|
|
148
120
|
};
|
|
149
|
-
type MesaFs<TOptions extends MesaOptions> = CredentialSpecific<TOptions,
|
|
150
|
-
(options: PrivateKeyFsLayoutOptions): FsLayoutDefinition;
|
|
151
|
-
mount: (options: PrivateKeyFsMountReposOptions) => Promise<MesaFileSystem>;
|
|
152
|
-
}, {
|
|
153
|
-
(options: AccessTokenFsLayoutOptions): AccessTokenFsLayoutDefinition;
|
|
154
|
-
mount: (options: Omit<FsMountReposOptions, 'ttl'>) => Promise<MesaFileSystem>;
|
|
155
|
-
}, {
|
|
156
|
-
(options: {
|
|
157
|
-
layout: LayoutSpec;
|
|
158
|
-
ttl?: number;
|
|
159
|
-
authors?: never;
|
|
160
|
-
}): FsLayoutDefinition;
|
|
161
|
-
mount: (options: FsMountReposOptions & {
|
|
162
|
-
authors?: never;
|
|
163
|
-
}) => Promise<MesaFileSystem>;
|
|
164
|
-
}, {
|
|
165
|
-
(options: RuntimeFsLayoutOptions): FsLayoutDefinition;
|
|
166
|
-
mount: (options: RuntimeFsMountReposOptions) => Promise<MesaFileSystem>;
|
|
167
|
-
}>;
|
|
121
|
+
type MesaFs<TOptions extends MesaOptions> = CredentialSpecific<TOptions, (options: PrivateKeyFsLayoutOptions) => FsLayoutDefinition, (options: AccessTokenFsLayoutOptions) => AccessTokenFsLayoutDefinition, (options: RuntimeFsLayoutOptions) => FsLayoutDefinition>;
|
|
168
122
|
export declare class Mesa<const TOptions extends MesaOptions = MesaOptions> {
|
|
169
|
-
/** The API key this client was constructed with, if it is an API-key client. */
|
|
170
|
-
readonly apiKey: string | undefined;
|
|
171
123
|
readonly apiUrl: string;
|
|
172
|
-
readonly vcsUrl: string;
|
|
173
124
|
readonly org: ApiResources['org'];
|
|
174
125
|
readonly tokens: MesaTokens<TOptions>;
|
|
126
|
+
/**
|
|
127
|
+
* @deprecated Manage API keys from the dashboard and authenticate new
|
|
128
|
+
* integrations with private keys instead. API keys remain supported for
|
|
129
|
+
* existing integrations.
|
|
130
|
+
*/
|
|
175
131
|
readonly apiKeys: ApiResources['apiKeys'];
|
|
176
132
|
readonly repos: ApiResources['repos'];
|
|
177
133
|
readonly content: ApiResources['content'];
|
|
@@ -183,13 +139,8 @@ export declare class Mesa<const TOptions extends MesaOptions = MesaOptions> {
|
|
|
183
139
|
readonly fs: MesaFs<TOptions>;
|
|
184
140
|
private readonly credential;
|
|
185
141
|
private readonly restClient;
|
|
186
|
-
private readonly orgResolutionPromise;
|
|
187
|
-
private readonly whoAmIResolutionPromise;
|
|
188
|
-
private cachedOrgSlug;
|
|
189
142
|
private cachedWhoAmI;
|
|
190
|
-
|
|
191
|
-
private keyIdResolutionPromise;
|
|
192
|
-
constructor(options?: TOptions);
|
|
143
|
+
constructor(options?: TOptions, ..._invalidOptions: RejectUnknownMesaOptions<TOptions>);
|
|
193
144
|
private createFs;
|
|
194
145
|
/**
|
|
195
146
|
* Derive the least-privilege token request for a layout: its repositories
|
|
@@ -199,19 +150,10 @@ export declare class Mesa<const TOptions extends MesaOptions = MesaOptions> {
|
|
|
199
150
|
* exists exactly once.
|
|
200
151
|
*/
|
|
201
152
|
private deriveLayoutTokenRequest;
|
|
202
|
-
resolveOrg(org?: string): Promise<string>;
|
|
203
153
|
whoami(): Promise<WhoamiResponse>;
|
|
204
154
|
private fetchWhoAmI;
|
|
205
|
-
/**
|
|
206
|
-
* Resolve and cache this client's API key id, needed to build the access
|
|
207
|
-
* token `kid` header. Sourced from GET /whoami, which returns the id of the
|
|
208
|
-
* key the request authenticated with. Lazily fetched and cached for the life
|
|
209
|
-
* of the client.
|
|
210
|
-
*/
|
|
211
|
-
private resolveKeyId;
|
|
212
155
|
/** Sign an access token locally from the credential this client holds. */
|
|
213
156
|
private signToken;
|
|
214
|
-
private resolveOrgFromWhoAmI;
|
|
215
157
|
}
|
|
216
158
|
export {};
|
|
217
159
|
//# sourceMappingURL=mesa.d.ts.map
|
package/dist/mesa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesa.d.ts","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mesa.d.ts","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAEhC,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,cAAc,EAA6B,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAS3G,QAAA,MAAM,UAAU;;;;oBAGd,CAAC;AAyGH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,KAAK,iBAAiB,GAAG,WAAW,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7E,KAAK,qBAAqB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AACvF,KAAK,sBAAsB,GAAG;IAAE,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAChE,KAAK,kBAAkB,CAAC,QAAQ,SAAS,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS;IAC9G,qBAAqB;CACtB,GACG,WAAW,GACX,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,CAAC,GACzC,YAAY,GACZ,QAAQ,CAAC;AAEf,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC/E,CAAC;AAEF,KAAK,UAAU,CAAC,QAAQ,SAAS,WAAW,IAAI,kBAAkB,CAChE,QAAQ,EACR,gBAAgB,EAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EACtC,YAAY,CAAC,QAAQ,CAAC,CACvB,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACpE,KAAK,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACpE,KAAK,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF,KAAK,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACjE,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;CACpE,CAAC;AAEF,KAAK,aAAa,CAAC,QAAQ,SAAS,WAAW,IAAI,kBAAkB,CACnE,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG;IAC3E,MAAM,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,KAAK,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7F,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG;IAC3E,MAAM,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,KAAK,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7F,CAAC;AAEF,KAAK,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG;IACxE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,WAAW,CAAC,QAAQ,SAAS,WAAW,IAAI,kBAAkB,CACjE,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,CACf,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,0GAA0G;IAC1G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,wBAAwB,CAAC,QAAQ,SAAS,WAAW,IACxD,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,WAAW,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAE1F,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,MAAM,IAAI,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChE;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACxC;AAED,KAAK,6BAA6B,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACvE,KAAK,yBAAyB,GAAG;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AACF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AACF,KAAK,0BAA0B,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvF,KAAK,MAAM,CAAC,QAAQ,SAAS,WAAW,IAAI,kBAAkB,CAC5D,QAAQ,EACR,CAAC,OAAO,EAAE,yBAAyB,KAAK,kBAAkB,EAC1D,CAAC,OAAO,EAAE,0BAA0B,KAAK,6BAA6B,EACtE,CAAC,OAAO,EAAE,sBAAsB,KAAK,kBAAkB,CACxD,CAAC;AAEF,qBAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,YAAY,CAA+B;gBAEvC,OAAO,GAAE,QAAyB,EAAE,GAAG,eAAe,EAAE,wBAAwB,CAAC,QAAQ,CAAC;IAsItG,OAAO,CAAC,QAAQ;IAgBhB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAgC1B,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;YAYzB,WAAW;IAMzB,0EAA0E;YAC5D,SAAS;CAsBxB"}
|