@sphereon/ssi-sdk.oid4vci-holder 0.33.0 → 0.33.1-feature.jose.vcdm.55
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/dist/index.cjs +3143 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +786 -0
- package/dist/index.d.ts +785 -11
- package/dist/index.js +3112 -31
- package/dist/index.js.map +1 -1
- package/package.json +44 -33
- package/src/agent/OID4VCIHolder.ts +9 -5
- package/dist/agent/OID4VCIHolder.d.ts +0 -59
- package/dist/agent/OID4VCIHolder.d.ts.map +0 -1
- package/dist/agent/OID4VCIHolder.js +0 -883
- package/dist/agent/OID4VCIHolder.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/link-handler/index.d.ts +0 -31
- package/dist/link-handler/index.d.ts.map +0 -1
- package/dist/link-handler/index.js +0 -65
- package/dist/link-handler/index.js.map +0 -1
- package/dist/listeners/headlessStateNavListener.d.ts +0 -3
- package/dist/listeners/headlessStateNavListener.d.ts.map +0 -1
- package/dist/listeners/headlessStateNavListener.js +0 -45
- package/dist/listeners/headlessStateNavListener.js.map +0 -1
- package/dist/localization/Localization.d.ts +0 -9
- package/dist/localization/Localization.d.ts.map +0 -1
- package/dist/localization/Localization.js +0 -46
- package/dist/localization/Localization.js.map +0 -1
- package/dist/localization/translations/en.json +0 -19
- package/dist/localization/translations/nl.json +0 -18
- package/dist/machines/firstPartyMachine.d.ts +0 -15
- package/dist/machines/firstPartyMachine.d.ts.map +0 -1
- package/dist/machines/firstPartyMachine.js +0 -222
- package/dist/machines/firstPartyMachine.js.map +0 -1
- package/dist/machines/oid4vciMachine.d.ts +0 -7
- package/dist/machines/oid4vciMachine.d.ts.map +0 -1
- package/dist/machines/oid4vciMachine.js +0 -727
- package/dist/machines/oid4vciMachine.js.map +0 -1
- package/dist/mappers/OIDC4VCIBrandingMapper.d.ts +0 -16
- package/dist/mappers/OIDC4VCIBrandingMapper.d.ts.map +0 -1
- package/dist/mappers/OIDC4VCIBrandingMapper.js +0 -201
- package/dist/mappers/OIDC4VCIBrandingMapper.js.map +0 -1
- package/dist/services/FirstPartyMachineServices.d.ts +0 -9
- package/dist/services/FirstPartyMachineServices.d.ts.map +0 -1
- package/dist/services/FirstPartyMachineServices.js +0 -53
- package/dist/services/FirstPartyMachineServices.js.map +0 -1
- package/dist/services/OID4VCIHolderService.d.ts +0 -28
- package/dist/services/OID4VCIHolderService.d.ts.map +0 -1
- package/dist/services/OID4VCIHolderService.js +0 -524
- package/dist/services/OID4VCIHolderService.js.map +0 -1
- package/dist/types/FirstPartyMachine.d.ts +0 -112
- package/dist/types/FirstPartyMachine.d.ts.map +0 -1
- package/dist/types/FirstPartyMachine.js +0 -30
- package/dist/types/FirstPartyMachine.js.map +0 -1
- package/dist/types/IOID4VCIHolder.d.ts +0 -558
- package/dist/types/IOID4VCIHolder.d.ts.map +0 -1
- package/dist/types/IOID4VCIHolder.js +0 -114
- package/dist/types/IOID4VCIHolder.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,40 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.oid4vci-holder",
|
|
3
|
-
"version": "0.33.
|
|
3
|
+
"version": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
"react-native": "./dist/index.js",
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
7
20
|
"veramo": {
|
|
8
21
|
"pluginInterfaces": {
|
|
9
22
|
"IOID4VCIHolder": "./src/types/IOID4VCIHolder.ts"
|
|
10
23
|
}
|
|
11
24
|
},
|
|
12
25
|
"scripts": {
|
|
13
|
-
"build": "
|
|
14
|
-
"build:clean": "tsc --build --clean && tsc --build"
|
|
26
|
+
"build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
|
|
15
27
|
},
|
|
16
28
|
"dependencies": {
|
|
17
|
-
"@sphereon/did-auth-siop": "0.17.
|
|
29
|
+
"@sphereon/did-auth-siop": "0.17.1-feature.esm.cjs.39",
|
|
18
30
|
"@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
|
|
19
|
-
"@sphereon/oid4vci-client": "0.17.
|
|
20
|
-
"@sphereon/oid4vci-common": "0.17.
|
|
21
|
-
"@sphereon/ssi-sdk-ext.did-utils": "0.28.
|
|
22
|
-
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.
|
|
23
|
-
"@sphereon/ssi-sdk-ext.jwt-service": "0.28.
|
|
24
|
-
"@sphereon/ssi-sdk-ext.key-utils": "0.28.
|
|
25
|
-
"@sphereon/ssi-sdk.contact-manager": "0.33.
|
|
26
|
-
"@sphereon/ssi-sdk.core": "0.33.
|
|
27
|
-
"@sphereon/ssi-sdk.credential-store": "0.33.
|
|
28
|
-
"@sphereon/ssi-sdk.credential-validation": "0.33.
|
|
29
|
-
"@sphereon/ssi-sdk.data-store": "0.33.
|
|
30
|
-
"@sphereon/ssi-sdk.issuance-branding": "0.33.
|
|
31
|
-
"@sphereon/ssi-sdk.mdl-mdoc": "0.33.
|
|
32
|
-
"@sphereon/ssi-sdk.oidf-client": "0.33.
|
|
33
|
-
"@sphereon/ssi-sdk.sd-jwt": "0.33.
|
|
34
|
-
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.33.
|
|
35
|
-
"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.33.
|
|
36
|
-
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.33.
|
|
37
|
-
"@sphereon/ssi-types": "0.33.
|
|
31
|
+
"@sphereon/oid4vci-client": "0.17.1-feature.esm.cjs.39",
|
|
32
|
+
"@sphereon/oid4vci-common": "0.17.1-feature.esm.cjs.39",
|
|
33
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.28.1-feature.esm.cjs.18",
|
|
34
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.1-feature.esm.cjs.18",
|
|
35
|
+
"@sphereon/ssi-sdk-ext.jwt-service": "0.28.1-feature.esm.cjs.18",
|
|
36
|
+
"@sphereon/ssi-sdk-ext.key-utils": "0.28.1-feature.esm.cjs.18",
|
|
37
|
+
"@sphereon/ssi-sdk.contact-manager": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
38
|
+
"@sphereon/ssi-sdk.core": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
39
|
+
"@sphereon/ssi-sdk.credential-store": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
40
|
+
"@sphereon/ssi-sdk.credential-validation": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
41
|
+
"@sphereon/ssi-sdk.data-store": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
42
|
+
"@sphereon/ssi-sdk.issuance-branding": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
43
|
+
"@sphereon/ssi-sdk.mdl-mdoc": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
44
|
+
"@sphereon/ssi-sdk.oidf-client": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
45
|
+
"@sphereon/ssi-sdk.sd-jwt": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
46
|
+
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
47
|
+
"@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
48
|
+
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
49
|
+
"@sphereon/ssi-types": "0.33.1-feature.jose.vcdm.55+6f02f6f8",
|
|
38
50
|
"@veramo/core": "4.2.0",
|
|
39
51
|
"@veramo/data-store": "4.2.0",
|
|
40
52
|
"@veramo/utils": "4.2.0",
|
|
@@ -46,8 +58,8 @@
|
|
|
46
58
|
"xstate": "^4.38.3"
|
|
47
59
|
},
|
|
48
60
|
"devDependencies": {
|
|
49
|
-
"@sphereon/oid4vc-common": "0.17.
|
|
50
|
-
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.
|
|
61
|
+
"@sphereon/oid4vc-common": "0.17.1-feature.esm.cjs.39",
|
|
62
|
+
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.1-feature.esm.cjs.18",
|
|
51
63
|
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*",
|
|
52
64
|
"@types/i18n-js": "^3.8.9",
|
|
53
65
|
"@types/lodash.memoize": "^4.1.9",
|
|
@@ -55,12 +67,12 @@
|
|
|
55
67
|
"@veramo/remote-client": "4.2.0",
|
|
56
68
|
"@veramo/remote-server": "4.2.0",
|
|
57
69
|
"nock": "^13.5.4",
|
|
58
|
-
"typeorm": "
|
|
59
|
-
"typescript": "5.
|
|
70
|
+
"typeorm": "0.3.20",
|
|
71
|
+
"typescript": "5.8.3"
|
|
60
72
|
},
|
|
61
73
|
"files": [
|
|
62
|
-
"dist
|
|
63
|
-
"src
|
|
74
|
+
"dist",
|
|
75
|
+
"src",
|
|
64
76
|
"README.md",
|
|
65
77
|
"plugin.schema.json",
|
|
66
78
|
"LICENSE"
|
|
@@ -77,6 +89,5 @@
|
|
|
77
89
|
"OID4VCI",
|
|
78
90
|
"State Machine"
|
|
79
91
|
],
|
|
80
|
-
"
|
|
81
|
-
"gitHead": "c575bdd6642bda761881f0152e0a70ddc82d7f61"
|
|
92
|
+
"gitHead": "6f02f6f83679198268c6e1ea956be24cc1017234"
|
|
82
93
|
}
|
|
@@ -47,6 +47,7 @@ import {
|
|
|
47
47
|
} from '@sphereon/ssi-sdk.data-store'
|
|
48
48
|
import {
|
|
49
49
|
CredentialMapper,
|
|
50
|
+
type CredentialProofFormat,
|
|
50
51
|
HasherSync,
|
|
51
52
|
IVerifiableCredential,
|
|
52
53
|
JoseSignatureAlgorithm,
|
|
@@ -65,7 +66,6 @@ import {
|
|
|
65
66
|
IDIDManager,
|
|
66
67
|
IKeyManager,
|
|
67
68
|
IResolver,
|
|
68
|
-
ProofFormat,
|
|
69
69
|
VerifiableCredential,
|
|
70
70
|
W3CVerifiableCredential,
|
|
71
71
|
} from '@veramo/core'
|
|
@@ -195,7 +195,7 @@ export async function verifyEBSICredentialIssuer(args: VerifyEBSICredentialIssue
|
|
|
195
195
|
throw Error('The issuer of the VC cannot be trusted')
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
const payload = await response.json()
|
|
198
|
+
const payload = (await response.json()) as VerifyEBSICredentialIssuerResult
|
|
199
199
|
|
|
200
200
|
if (!payload.attributes.some((a: Attribute) => issuerType.includes(a.issuerType))) {
|
|
201
201
|
throw Error(`The issuer type is required to be one of: ${issuerType.join(', ')}`)
|
|
@@ -930,7 +930,11 @@ export class OID4VCIHolder implements IAgentPlugin {
|
|
|
930
930
|
if (CredentialMapper.isWrappedSdJwtVerifiableCredential(wrappedIssuerVC)) {
|
|
931
931
|
issuer = trimmed(wrappedIssuerVC.decoded?.sub)
|
|
932
932
|
} else if (CredentialMapper.isWrappedW3CVerifiableCredential(wrappedIssuerVC)) {
|
|
933
|
-
issuer =
|
|
933
|
+
issuer =
|
|
934
|
+
trimmed(wrappedIssuerVC.credential?.sub) ??
|
|
935
|
+
// @ts-ignore
|
|
936
|
+
trimmed(wrappedIssuerVC.credential?.credentialSubject?.id) ??
|
|
937
|
+
trimmed(this.idFromW3cCredentialSubject(wrappedIssuerVC))
|
|
934
938
|
} else if (CredentialMapper.isWrappedMdocCredential(wrappedIssuerVC)) {
|
|
935
939
|
return Promise.reject(Error('mdoc not yet supported'))
|
|
936
940
|
}
|
|
@@ -962,7 +966,7 @@ export class OID4VCIHolder implements IAgentPlugin {
|
|
|
962
966
|
logger.log(`Issuer for self-issued credential will be: ${issuer}`)
|
|
963
967
|
|
|
964
968
|
const holderCredentialToSign = wrappedIssuerVC.decoded
|
|
965
|
-
let proofFormat:
|
|
969
|
+
let proofFormat: CredentialProofFormat = 'lds'
|
|
966
970
|
if (wrappedIssuerVC.format.includes('jwt') && !wrappedIssuerVC.format.includes('mso_mdoc')) {
|
|
967
971
|
holderCredentialToSign.iss = issuer
|
|
968
972
|
proofFormat = 'jwt'
|
|
@@ -990,7 +994,7 @@ export class OID4VCIHolder implements IAgentPlugin {
|
|
|
990
994
|
|
|
991
995
|
logger.log(`Subject issuance/signing will sign credential of type ${proofFormat}:`, holderCredentialToSign)
|
|
992
996
|
const issuedVC = await context.agent.createVerifiableCredential({
|
|
993
|
-
credential: holderCredentialToSign as CredentialPayload,
|
|
997
|
+
credential: ('vc' in holderCredentialToSign ? holderCredentialToSign.vc : holderCredentialToSign) as CredentialPayload,
|
|
994
998
|
fetchRemoteContexts: true,
|
|
995
999
|
save: false,
|
|
996
1000
|
proofFormat,
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Jwt } from '@sphereon/oid4vci-common';
|
|
2
|
-
import { IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
|
-
import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
|
|
4
|
-
import { IAgentContext, IAgentPlugin, IDIDManager, IKeyManager, IResolver } from '@veramo/core';
|
|
5
|
-
import { IOID4VCIHolder, OID4VCIHolderEvent, OID4VCIHolderOptions, RequiredContext, VerifyEBSICredentialIssuerArgs, VerifyEBSICredentialIssuerResult } from '../types/IOID4VCIHolder';
|
|
6
|
-
import 'cross-fetch/polyfill';
|
|
7
|
-
/**
|
|
8
|
-
* {@inheritDoc IOID4VCIHolder}
|
|
9
|
-
*/
|
|
10
|
-
export declare const oid4vciHolderContextMethods: Array<string>;
|
|
11
|
-
export declare function signCallback(identifier: ManagedIdentifierOptsOrResult, context: IAgentContext<IKeyManager & IDIDManager & IResolver & IIdentifierResolution & IJwtService>, nonce?: string): (jwt: Jwt, kid?: string) => Promise<string>;
|
|
12
|
-
export declare function verifyEBSICredentialIssuer(args: VerifyEBSICredentialIssuerArgs): Promise<VerifyEBSICredentialIssuerResult>;
|
|
13
|
-
export declare class OID4VCIHolder implements IAgentPlugin {
|
|
14
|
-
private readonly hasher?;
|
|
15
|
-
readonly eventTypes: Array<OID4VCIHolderEvent>;
|
|
16
|
-
readonly methods: IOID4VCIHolder;
|
|
17
|
-
private readonly vcFormatPreferences;
|
|
18
|
-
private readonly jsonldCryptographicSuitePreferences;
|
|
19
|
-
private readonly didMethodPreferences;
|
|
20
|
-
private readonly jwtCryptographicSuitePreferences;
|
|
21
|
-
private static readonly DEFAULT_MOBILE_REDIRECT_URI;
|
|
22
|
-
private readonly defaultAuthorizationRequestOpts;
|
|
23
|
-
private readonly onContactIdentityCreated?;
|
|
24
|
-
private readonly onCredentialStored?;
|
|
25
|
-
private readonly onIdentifierCreated?;
|
|
26
|
-
private readonly onVerifyEBSICredentialIssuer?;
|
|
27
|
-
constructor(options?: OID4VCIHolderOptions);
|
|
28
|
-
onEvent(event: any, context: RequiredContext): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* FIXME: This method can only be used locally. Creating the interpreter should be local to where the agent is running
|
|
31
|
-
*/
|
|
32
|
-
private oid4vciHolderGetMachineInterpreter;
|
|
33
|
-
/**
|
|
34
|
-
* This method is run before the machine starts! So there is no concept of the state machine context or states yet
|
|
35
|
-
*
|
|
36
|
-
* The result of this method can be directly passed into the start method of the state machine
|
|
37
|
-
* @param args
|
|
38
|
-
* @param context
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
private oid4vciHolderStart;
|
|
42
|
-
private oid4vciHolderCreateCredentialsToSelectFrom;
|
|
43
|
-
private oid4vciHolderGetContact;
|
|
44
|
-
private oid4vciHolderGetCredentials;
|
|
45
|
-
private oid4vciHolderGetCredential;
|
|
46
|
-
private oid4vciHolderAddContactIdentity;
|
|
47
|
-
private oid4vciHolderGetIssuerBranding;
|
|
48
|
-
private oid4vciHolderStoreIssuerBranding;
|
|
49
|
-
private oid4vciHolderAssertValidCredentials;
|
|
50
|
-
private oid4vciHolderStoreCredentialBranding;
|
|
51
|
-
private oid4vciHolderStoreCredentials;
|
|
52
|
-
private oid4vciHolderSendNotification;
|
|
53
|
-
private getFederationTrust;
|
|
54
|
-
private oid4vciHolderGetIssuerMetadata;
|
|
55
|
-
private determineSubjectCorrelation;
|
|
56
|
-
private idFromW3cCredentialSubject;
|
|
57
|
-
private getCredentialDefinition;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=OID4VCIHolder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OID4VCIHolder.d.ts","sourceRoot":"","sources":["../../src/agent/OID4VCIHolder.ts"],"names":[],"mappings":"AACA,OAAO,EAaL,GAAG,EAGJ,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,qBAAqB,EAQrB,6BAA6B,EAC9B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,WAAW,EAAa,MAAM,mCAAmC,CAAA;AA8B1E,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EAIV,MAAM,cAAc,CAAA;AAKrB,OAAO,EAaL,cAAc,EAGd,kBAAkB,EAClB,oBAAoB,EAUpB,eAAe,EAQf,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,yBAAyB,CAAA;AAYhC,OAAO,sBAAsB,CAAA;AAG7B;;GAEG;AAGH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAYrD,CAAA;AAID,wBAAgB,YAAY,CAC1B,UAAU,EAAE,6BAA6B,EACzC,OAAO,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,qBAAqB,GAAG,WAAW,CAAC,EACnG,KAAK,CAAC,EAAE,MAAM,SAEK,GAAG,QAAQ,MAAM,qBAyBrC;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAwBhI;AAED,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY;IACpC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAI7C;IAED,QAAQ,CAAC,OAAO,EAAE,cAAc,CAe/B;IAED,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8E;IAClH,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAMnD;IACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMpC;IACD,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAIhD;IACD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAA6C;IAChG,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAuF;IACvI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAuD;IACjG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAiD;IACrF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAkD;IACvF,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAqF;gBAEvH,OAAO,CAAC,EAAE,oBAAoB;IAoC7B,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE;;OAEG;YACW,kCAAkC;IA6ChD;;;;;;;OAOG;YACW,kBAAkB;YA4GlB,0CAA0C;YAsD1C,uBAAuB;YAqDvB,2BAA2B;YA6C3B,0BAA0B;YAwF1B,+BAA+B;YAoD/B,8BAA8B;YA8B9B,gCAAgC;YA2BhC,mCAAmC;YAgBnC,oCAAoC;YAiCpC,6BAA6B;YAqL7B,6BAA6B;YAkB7B,kBAAkB;YAkClB,8BAA8B;IAK5C,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,uBAAuB;CAMhC"}
|