@emilia-protocol/gate 0.18.2 → 0.20.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 +56 -0
- package/README.md +64 -0
- package/action-refusal-statement.js +1 -0
- package/coverage-reconciliation-attestation.js +1 -0
- package/dist/action-refusal-statement.d.ts +109 -0
- package/dist/action-refusal-statement.d.ts.map +1 -0
- package/dist/action-refusal-statement.js +333 -0
- package/dist/action-refusal-statement.js.map +1 -0
- package/dist/coverage-reconciliation-attestation.d.ts +29 -0
- package/dist/coverage-reconciliation-attestation.d.ts.map +1 -0
- package/dist/coverage-reconciliation-attestation.js +111 -0
- package/dist/coverage-reconciliation-attestation.js.map +1 -0
- package/dist/gate-qualification-v2.d.ts +4 -0
- package/dist/gate-qualification-v2.d.ts.map +1 -1
- package/dist/gate-qualification-v2.js +39 -47
- package/dist/gate-qualification-v2.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/loss-allocation-schedule.d.ts +53 -0
- package/dist/loss-allocation-schedule.d.ts.map +1 -0
- package/dist/loss-allocation-schedule.js +351 -0
- package/dist/loss-allocation-schedule.js.map +1 -0
- package/dist/loss-experience-feed.d.ts +82 -0
- package/dist/loss-experience-feed.d.ts.map +1 -0
- package/dist/loss-experience-feed.js +314 -0
- package/dist/loss-experience-feed.js.map +1 -0
- package/dist/open-exposure-ledger-postgres.d.ts +40 -0
- package/dist/open-exposure-ledger-postgres.d.ts.map +1 -0
- package/dist/open-exposure-ledger-postgres.js +577 -0
- package/dist/open-exposure-ledger-postgres.js.map +1 -0
- package/dist/open-exposure-ledger.d.ts +243 -0
- package/dist/open-exposure-ledger.d.ts.map +1 -0
- package/dist/open-exposure-ledger.js +794 -0
- package/dist/open-exposure-ledger.js.map +1 -0
- package/dist/receipt-census.d.ts +21 -0
- package/dist/receipt-census.d.ts.map +1 -0
- package/dist/receipt-census.js +162 -0
- package/dist/receipt-census.js.map +1 -0
- package/dist/reliance-program.d.ts +88 -0
- package/dist/reliance-program.d.ts.map +1 -0
- package/dist/reliance-program.js +437 -0
- package/dist/reliance-program.js.map +1 -0
- package/dist/reliance-risk-crypto.d.ts +28 -0
- package/dist/reliance-risk-crypto.d.ts.map +1 -0
- package/dist/reliance-risk-crypto.js +110 -0
- package/dist/reliance-risk-crypto.js.map +1 -0
- package/dist/remedy-program.d.ts.map +1 -1
- package/dist/remedy-program.js +28 -18
- package/dist/remedy-program.js.map +1 -1
- package/loss-allocation-schedule.js +1 -0
- package/loss-experience-feed.js +1 -0
- package/open-exposure-ledger-postgres.js +1 -0
- package/open-exposure-ledger.js +1 -0
- package/package.json +42 -2
- package/receipt-census.js +1 -0
- package/reliance-program.js +3 -0
- package/src/action-refusal-statement.ts +396 -0
- package/src/coverage-reconciliation-attestation.ts +107 -0
- package/src/gate-qualification-v2.ts +56 -46
- package/src/index.ts +7 -0
- package/src/loss-allocation-schedule.ts +427 -0
- package/src/loss-experience-feed.ts +398 -0
- package/src/open-exposure-ledger-postgres.ts +701 -0
- package/src/open-exposure-ledger.ts +1213 -0
- package/src/receipt-census.ts +163 -0
- package/src/reliance-program.ts +499 -0
- package/src/reliance-risk-crypto.ts +114 -0
- package/src/remedy-program.ts +28 -17
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Open Exposure Ledger v1.
|
|
3
|
+
*
|
|
4
|
+
* The ledger reserves fixed minor-unit exposure before provider entry. A
|
|
5
|
+
* reservation remains open while RESERVED, INVOKING, or INDETERMINATE and can
|
|
6
|
+
* be closed only by a separately authenticated reconciliation authority. The
|
|
7
|
+
* in-memory implementation is a linearizable conformance/reference store; it
|
|
8
|
+
* is not a durability claim.
|
|
9
|
+
*/
|
|
10
|
+
export declare const OPEN_EXPOSURE_LEDGER_VERSION = "EP-OPEN-EXPOSURE-LEDGER-v1";
|
|
11
|
+
export declare const OPEN_EXPOSURE_HISTORY_VERSION = "EP-OPEN-EXPOSURE-HISTORY-v1";
|
|
12
|
+
export type OpenExposureRole = 'POLICY_ADMIN' | 'ORIGIN' | 'EXECUTOR' | 'RECONCILER' | 'READER';
|
|
13
|
+
export interface OpenExposureAuth {
|
|
14
|
+
role: OpenExposureRole;
|
|
15
|
+
authorityId: string;
|
|
16
|
+
credential: string;
|
|
17
|
+
}
|
|
18
|
+
export type OpenExposureCeilingScope = 'TENANT' | 'PROGRAM' | 'COUNTERPARTY' | 'ACTION_CLASS';
|
|
19
|
+
export interface OpenExposureCeilingInput {
|
|
20
|
+
tenantId: string;
|
|
21
|
+
ceilingId: string;
|
|
22
|
+
scope: OpenExposureCeilingScope;
|
|
23
|
+
scopeValue: string;
|
|
24
|
+
currency: string;
|
|
25
|
+
windowStart: string;
|
|
26
|
+
windowEnd: string;
|
|
27
|
+
limitMinor: bigint;
|
|
28
|
+
policyDigest: string;
|
|
29
|
+
}
|
|
30
|
+
export interface OpenExposureCeiling extends OpenExposureCeilingInput {
|
|
31
|
+
'@version': typeof OPEN_EXPOSURE_LEDGER_VERSION;
|
|
32
|
+
ceilingDigest: string;
|
|
33
|
+
}
|
|
34
|
+
export interface OpenExposureInvocationBinding {
|
|
35
|
+
programVersion: string;
|
|
36
|
+
programSourceDigest: string;
|
|
37
|
+
programDigest: string;
|
|
38
|
+
caid: string;
|
|
39
|
+
actionDigest: string;
|
|
40
|
+
admissionSnapshotDigest: string;
|
|
41
|
+
authorizationDigest: string;
|
|
42
|
+
authorizationExpiresAt: string;
|
|
43
|
+
}
|
|
44
|
+
export interface OpenExposureReserveInput extends OpenExposureInvocationBinding {
|
|
45
|
+
tenantId: string;
|
|
46
|
+
exposureId: string;
|
|
47
|
+
operationToken: string;
|
|
48
|
+
programId: string;
|
|
49
|
+
counterpartyId: string;
|
|
50
|
+
actionClass: string;
|
|
51
|
+
amountMinor: bigint;
|
|
52
|
+
currency: string;
|
|
53
|
+
windowStart: string;
|
|
54
|
+
windowEnd: string;
|
|
55
|
+
reservedAt: string;
|
|
56
|
+
invokeBy: string;
|
|
57
|
+
reconcileBy: string;
|
|
58
|
+
originAuthorityId: string;
|
|
59
|
+
executorAuthorityId: string;
|
|
60
|
+
reconciliationAuthorityId: string;
|
|
61
|
+
reservationEvidenceDigest: string;
|
|
62
|
+
}
|
|
63
|
+
export type OpenExposureStatus = 'RESERVED' | 'INVOKING' | 'INDETERMINATE' | 'CLOSED_COMMITTED' | 'CLOSED_PROVEN_NOT_COMMITTED';
|
|
64
|
+
export type OpenExposureReconciliationOutcome = 'COMMITTED' | 'PROVEN_NOT_COMMITTED' | 'INDETERMINATE';
|
|
65
|
+
export interface OpenExposureRecord {
|
|
66
|
+
'@version': typeof OPEN_EXPOSURE_LEDGER_VERSION;
|
|
67
|
+
tenantId: string;
|
|
68
|
+
exposureId: string;
|
|
69
|
+
operationTokenDigest: string;
|
|
70
|
+
reservationDigest: string;
|
|
71
|
+
programId: string;
|
|
72
|
+
programVersion: string;
|
|
73
|
+
programSourceDigest: string;
|
|
74
|
+
programDigest: string;
|
|
75
|
+
caid: string;
|
|
76
|
+
actionDigest: string;
|
|
77
|
+
admissionSnapshotDigest: string;
|
|
78
|
+
authorizationDigest: string;
|
|
79
|
+
authorizationExpiresAt: string;
|
|
80
|
+
counterpartyId: string;
|
|
81
|
+
actionClass: string;
|
|
82
|
+
amountMinor: bigint;
|
|
83
|
+
currency: string;
|
|
84
|
+
windowStart: string;
|
|
85
|
+
windowEnd: string;
|
|
86
|
+
reservedAt: string;
|
|
87
|
+
invokeBy: string;
|
|
88
|
+
reconcileBy: string;
|
|
89
|
+
originAuthorityId: string;
|
|
90
|
+
executorAuthorityId: string;
|
|
91
|
+
reconciliationAuthorityId: string;
|
|
92
|
+
reservationEvidenceDigest: string;
|
|
93
|
+
ceilingDigests: readonly string[];
|
|
94
|
+
revision: number;
|
|
95
|
+
status: OpenExposureStatus;
|
|
96
|
+
invokedAt: string | null;
|
|
97
|
+
invocationPermitDigest: string | null;
|
|
98
|
+
indeterminateEvidenceDigest: string | null;
|
|
99
|
+
reconciliationOutcome: OpenExposureReconciliationOutcome | null;
|
|
100
|
+
reconciliationEvidenceDigest: string | null;
|
|
101
|
+
lastChangedAt: string;
|
|
102
|
+
predecessorRecordDigest: string | null;
|
|
103
|
+
recordDigest: string;
|
|
104
|
+
}
|
|
105
|
+
export type OpenExposureHistoryEvent = 'RESERVED' | 'INVOKING' | 'INDETERMINATE' | 'RECONCILED_INDETERMINATE' | 'CLOSED_COMMITTED' | 'CLOSED_PROVEN_NOT_COMMITTED';
|
|
106
|
+
export interface OpenExposureHistoryEntry {
|
|
107
|
+
'@version': typeof OPEN_EXPOSURE_HISTORY_VERSION;
|
|
108
|
+
tenantId: string;
|
|
109
|
+
exposureId: string;
|
|
110
|
+
sequence: number;
|
|
111
|
+
event: OpenExposureHistoryEvent;
|
|
112
|
+
programVersion: string;
|
|
113
|
+
programSourceDigest: string;
|
|
114
|
+
programDigest: string;
|
|
115
|
+
caid: string;
|
|
116
|
+
actionDigest: string;
|
|
117
|
+
admissionSnapshotDigest: string;
|
|
118
|
+
authorizationDigest: string;
|
|
119
|
+
authorizationExpiresAt: string;
|
|
120
|
+
invocationPermitDigest: string | null;
|
|
121
|
+
recordDigest: string;
|
|
122
|
+
evidenceDigest: string;
|
|
123
|
+
recordedAt: string;
|
|
124
|
+
predecessorEntryDigest: string | null;
|
|
125
|
+
entryDigest: string;
|
|
126
|
+
}
|
|
127
|
+
export type OpenExposureRefusalReason = 'unauthenticated' | 'wrong_authority' | 'authority_separation_required' | 'ceiling_not_configured' | 'ceiling_exceeded' | 'ceiling_id_conflict' | 'ceiling_scope_conflict' | 'exposure_exists' | 'exposure_not_found' | 'operation_token_conflict' | 'immutable_binding_conflict' | 'invocation_expired' | 'reconciliation_token_conflict' | 'state_conflict' | 'reconciliation_required' | 'already_closed';
|
|
128
|
+
export type OpenExposureRefusal = {
|
|
129
|
+
ok: false;
|
|
130
|
+
reason: OpenExposureRefusalReason;
|
|
131
|
+
};
|
|
132
|
+
export type OpenExposureCeilingResult = {
|
|
133
|
+
ok: true;
|
|
134
|
+
ceiling: Readonly<OpenExposureCeiling>;
|
|
135
|
+
replayed: boolean;
|
|
136
|
+
} | OpenExposureRefusal;
|
|
137
|
+
export type OpenExposureRecordResult = {
|
|
138
|
+
ok: true;
|
|
139
|
+
record: Readonly<OpenExposureRecord>;
|
|
140
|
+
replayed: boolean;
|
|
141
|
+
} | OpenExposureRefusal;
|
|
142
|
+
export type OpenExposureBeginResult = {
|
|
143
|
+
ok: true;
|
|
144
|
+
record: Readonly<OpenExposureRecord>;
|
|
145
|
+
replayed: false;
|
|
146
|
+
invocationPermit: string;
|
|
147
|
+
} | OpenExposureRefusal;
|
|
148
|
+
export interface OpenExposureReference {
|
|
149
|
+
tenantId: string;
|
|
150
|
+
exposureId: string;
|
|
151
|
+
}
|
|
152
|
+
export interface OpenExposureBeginInput extends OpenExposureReference, OpenExposureInvocationBinding {
|
|
153
|
+
operationToken: string;
|
|
154
|
+
}
|
|
155
|
+
export interface OpenExposureIndeterminateInput extends OpenExposureReference {
|
|
156
|
+
operationToken: string;
|
|
157
|
+
evidenceDigest: string;
|
|
158
|
+
observedAt: string;
|
|
159
|
+
}
|
|
160
|
+
export interface OpenExposureReconciliationInput extends OpenExposureReference {
|
|
161
|
+
operationToken: string;
|
|
162
|
+
reconciliationToken: string;
|
|
163
|
+
outcome: OpenExposureReconciliationOutcome;
|
|
164
|
+
evidenceDigest: string;
|
|
165
|
+
observedAt: string;
|
|
166
|
+
}
|
|
167
|
+
export interface OpenExposureSumInput {
|
|
168
|
+
tenantId: string;
|
|
169
|
+
currency: string;
|
|
170
|
+
windowStart: string;
|
|
171
|
+
windowEnd: string;
|
|
172
|
+
programId?: string;
|
|
173
|
+
counterpartyId?: string;
|
|
174
|
+
actionClass?: string;
|
|
175
|
+
}
|
|
176
|
+
export interface OpenExposureBreakdown {
|
|
177
|
+
key: string;
|
|
178
|
+
amountMinor: bigint;
|
|
179
|
+
}
|
|
180
|
+
export type OpenExposureReadResult = {
|
|
181
|
+
ok: true;
|
|
182
|
+
record: Readonly<OpenExposureRecord> | null;
|
|
183
|
+
} | OpenExposureRefusal;
|
|
184
|
+
export type OpenExposureHistoryResult = {
|
|
185
|
+
ok: true;
|
|
186
|
+
entries: readonly Readonly<OpenExposureHistoryEntry>[];
|
|
187
|
+
} | OpenExposureRefusal;
|
|
188
|
+
export type OpenExposureSumResult = {
|
|
189
|
+
ok: true;
|
|
190
|
+
totalMinor: bigint;
|
|
191
|
+
byProgram: readonly Readonly<OpenExposureBreakdown>[];
|
|
192
|
+
byCounterparty: readonly Readonly<OpenExposureBreakdown>[];
|
|
193
|
+
byActionClass: readonly Readonly<OpenExposureBreakdown>[];
|
|
194
|
+
byStatus: readonly Readonly<OpenExposureBreakdown>[];
|
|
195
|
+
} | OpenExposureRefusal;
|
|
196
|
+
export interface OpenExposureAgingInput {
|
|
197
|
+
tenantId: string;
|
|
198
|
+
asOf: string;
|
|
199
|
+
minimumAgeMs: number;
|
|
200
|
+
limit: number;
|
|
201
|
+
}
|
|
202
|
+
export interface OpenExposureDeadlineInput {
|
|
203
|
+
tenantId: string;
|
|
204
|
+
dueAtOrBefore: string;
|
|
205
|
+
limit: number;
|
|
206
|
+
}
|
|
207
|
+
export type OpenExposureListResult = {
|
|
208
|
+
ok: true;
|
|
209
|
+
records: readonly Readonly<OpenExposureRecord>[];
|
|
210
|
+
} | OpenExposureRefusal;
|
|
211
|
+
export interface OpenExposureAuthenticationInput {
|
|
212
|
+
tenantId: string;
|
|
213
|
+
auth: Readonly<OpenExposureAuth>;
|
|
214
|
+
}
|
|
215
|
+
export interface CreateMemoryOpenExposureLedgerOptions {
|
|
216
|
+
authenticate: (input: Readonly<OpenExposureAuthenticationInput>) => boolean | Promise<boolean>;
|
|
217
|
+
/** Absolute UTC clock backed by a monotonic source. */
|
|
218
|
+
clock?: () => string;
|
|
219
|
+
}
|
|
220
|
+
export interface OpenExposureLedger {
|
|
221
|
+
readonly durable: boolean;
|
|
222
|
+
readonly atomicReserve: true;
|
|
223
|
+
readonly appendOnlyHistory: true;
|
|
224
|
+
readonly blindRelease: false;
|
|
225
|
+
readonly reconciliationOnlyCloseout: true;
|
|
226
|
+
readonly testOnly?: true;
|
|
227
|
+
registerCeiling(input: OpenExposureCeilingInput, auth: OpenExposureAuth): Promise<OpenExposureCeilingResult>;
|
|
228
|
+
reserve(input: OpenExposureReserveInput, auth: OpenExposureAuth): Promise<OpenExposureRecordResult>;
|
|
229
|
+
beginInvocation(input: OpenExposureBeginInput, auth: OpenExposureAuth): Promise<OpenExposureBeginResult>;
|
|
230
|
+
markIndeterminate(input: OpenExposureIndeterminateInput, auth: OpenExposureAuth): Promise<OpenExposureRecordResult>;
|
|
231
|
+
reconcile(input: OpenExposureReconciliationInput, auth: OpenExposureAuth): Promise<OpenExposureRecordResult>;
|
|
232
|
+
read(input: OpenExposureReference, auth: OpenExposureAuth): Promise<OpenExposureReadResult>;
|
|
233
|
+
history(input: OpenExposureReference, auth: OpenExposureAuth): Promise<OpenExposureHistoryResult>;
|
|
234
|
+
sumOpen(input: OpenExposureSumInput, auth: OpenExposureAuth): Promise<OpenExposureSumResult>;
|
|
235
|
+
listAging(input: OpenExposureAgingInput, auth: OpenExposureAuth): Promise<OpenExposureListResult>;
|
|
236
|
+
listDeadlines(input: OpenExposureDeadlineInput, auth: OpenExposureAuth): Promise<OpenExposureListResult>;
|
|
237
|
+
}
|
|
238
|
+
export declare class OpenExposureValidationError extends TypeError {
|
|
239
|
+
readonly code: string;
|
|
240
|
+
constructor(code: string, message: string);
|
|
241
|
+
}
|
|
242
|
+
export declare function createMemoryOpenExposureLedger(options: CreateMemoryOpenExposureLedgerOptions): OpenExposureLedger;
|
|
243
|
+
//# sourceMappingURL=open-exposure-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-exposure-ledger.d.ts","sourceRoot":"","sources":["../src/open-exposure-ledger.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAKH,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AACzE,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAChC,QAAQ,GACR,SAAS,GACT,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,wBAAwB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB;IACnE,UAAU,EAAE,OAAO,4BAA4B,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,6BAA6B;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,6BAA6B,CAAC;AAElC,MAAM,MAAM,iCAAiC,GACzC,WAAW,GACX,sBAAsB,GACtB,eAAe,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,4BAA4B,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,qBAAqB,EAAE,iCAAiC,GAAG,IAAI,CAAC;IAChE,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,UAAU,GACV,eAAe,GACf,0BAA0B,GAC1B,kBAAkB,GAClB,6BAA6B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,6BAA6B,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,wBAAwB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,iBAAiB,GACjB,+BAA+B,GAC/B,wBAAwB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,wBAAwB,GACxB,iBAAiB,GACjB,oBAAoB,GACpB,0BAA0B,GAC1B,4BAA4B,GAC5B,oBAAoB,GACpB,+BAA+B,GAC/B,gBAAgB,GAChB,yBAAyB,GACzB,gBAAgB,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,yBAAyB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACvE,mBAAmB,CAAC;AAExB,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACrE,mBAAmB,CAAC;AAExB,MAAM,MAAM,uBAAuB,GAC/B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACD,mBAAmB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBACf,SAAQ,qBAAqB,EAAE,6BAA6B;IAC5D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IAC3E,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,iCAAiC,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;CAAE,GACzD,mBAAmB,CAAC;AAExB,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,SAAS,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAA;CAAE,GACpE,mBAAmB,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAC7B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACtD,cAAc,EAAE,SAAS,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;IAC3D,aAAa,EAAE,SAAS,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;IAC1D,QAAQ,EAAE,SAAS,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;CACtD,GACD,mBAAmB,CAAC;AAExB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAA;CAAE,GAC9D,mBAAmB,CAAC;AAExB,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qCAAqC;IACpD,YAAY,EAAE,CACZ,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,KAC7C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB,eAAe,CACb,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,OAAO,CACL,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,eAAe,CACb,KAAK,EAAE,sBAAsB,EAC7B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACpC,iBAAiB,CACf,KAAK,EAAE,8BAA8B,EACrC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,SAAS,CACP,KAAK,EAAE,+BAA+B,EACtC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,IAAI,CACF,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,OAAO,CACL,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,SAAS,CACP,KAAK,EAAE,sBAAsB,EAC7B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,aAAa,CACX,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED,qBAAa,2BAA4B,SAAQ,SAAS;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAwRD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qCAAqC,GAC7C,kBAAkB,CAkkBpB"}
|