@shware/security 3.3.1 → 3.4.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 +353 -23
- package/dist/auth/index.cjs +1 -1
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.cts +2 -3
- package/dist/auth/index.d.cts.map +1 -1
- package/dist/auth/index.d.mts +2 -3
- package/dist/auth/index.d.mts.map +1 -1
- package/dist/auth/index.mjs +1 -1
- package/dist/auth/index.mjs.map +1 -1
- package/dist/auth/types.d.cts +4 -5
- package/dist/auth/types.d.cts.map +1 -1
- package/dist/auth/types.d.mts +4 -5
- package/dist/auth/types.d.mts.map +1 -1
- package/dist/core/index.d.cts +6 -7
- package/dist/core/index.d.cts.map +1 -1
- package/dist/core/index.d.mts +6 -7
- package/dist/core/index.d.mts.map +1 -1
- package/dist/email/schema.d.cts +2 -3
- package/dist/email/schema.d.cts.map +1 -1
- package/dist/email/schema.d.mts +2 -3
- package/dist/email/schema.d.mts.map +1 -1
- package/dist/oauth2/client.d.cts +3 -4
- package/dist/oauth2/client.d.cts.map +1 -1
- package/dist/oauth2/client.d.mts +3 -4
- package/dist/oauth2/client.d.mts.map +1 -1
- package/dist/oauth2/error.d.cts +3 -4
- package/dist/oauth2/error.d.cts.map +1 -1
- package/dist/oauth2/error.d.mts +3 -4
- package/dist/oauth2/error.d.mts.map +1 -1
- package/dist/oauth2/provider/apple-client-secret.d.cts +2 -3
- package/dist/oauth2/provider/apple-client-secret.d.cts.map +1 -1
- package/dist/oauth2/provider/apple-client-secret.d.mts +2 -3
- package/dist/oauth2/provider/apple-client-secret.d.mts.map +1 -1
- package/dist/oauth2/provider/apple.d.cts +6 -7
- package/dist/oauth2/provider/apple.d.cts.map +1 -1
- package/dist/oauth2/provider/apple.d.mts +6 -7
- package/dist/oauth2/provider/apple.d.mts.map +1 -1
- package/dist/oauth2/provider/common.d.cts +6 -6
- package/dist/oauth2/provider/common.d.cts.map +1 -1
- package/dist/oauth2/provider/common.d.mts +6 -6
- package/dist/oauth2/provider/common.d.mts.map +1 -1
- package/dist/oauth2/provider/facebook.d.cts +6 -7
- package/dist/oauth2/provider/facebook.d.cts.map +1 -1
- package/dist/oauth2/provider/facebook.d.mts +6 -7
- package/dist/oauth2/provider/facebook.d.mts.map +1 -1
- package/dist/oauth2/provider/github.d.cts +4 -5
- package/dist/oauth2/provider/github.d.cts.map +1 -1
- package/dist/oauth2/provider/github.d.mts +4 -5
- package/dist/oauth2/provider/github.d.mts.map +1 -1
- package/dist/oauth2/provider/google.d.cts +6 -7
- package/dist/oauth2/provider/google.d.cts.map +1 -1
- package/dist/oauth2/provider/google.d.mts +6 -7
- package/dist/oauth2/provider/google.d.mts.map +1 -1
- package/dist/oauth2/provider/wechat.d.cts +5 -6
- package/dist/oauth2/provider/wechat.d.cts.map +1 -1
- package/dist/oauth2/provider/wechat.d.mts +5 -6
- package/dist/oauth2/provider/wechat.d.mts.map +1 -1
- package/dist/oauth2/provider/x.d.cts +7 -7
- package/dist/oauth2/provider/x.d.cts.map +1 -1
- package/dist/oauth2/provider/x.d.mts +7 -7
- package/dist/oauth2/provider/x.d.mts.map +1 -1
- package/dist/oauth2/types.d.cts +18 -18
- package/dist/oauth2/types.d.cts.map +1 -1
- package/dist/oauth2/types.d.mts +18 -18
- package/dist/oauth2/types.d.mts.map +1 -1
- package/dist/session/common.d.cts +3 -4
- package/dist/session/common.d.cts.map +1 -1
- package/dist/session/common.d.mts +3 -4
- package/dist/session/common.d.mts.map +1 -1
- package/dist/session/db.cjs +1 -1
- package/dist/session/db.cjs.map +1 -1
- package/dist/session/db.d.cts +3 -3
- package/dist/session/db.d.cts.map +1 -1
- package/dist/session/db.d.mts +3 -3
- package/dist/session/db.d.mts.map +1 -1
- package/dist/session/db.mjs +1 -1
- package/dist/session/db.mjs.map +1 -1
- package/dist/session/map-session.d.cts +1 -2
- package/dist/session/map-session.d.cts.map +1 -1
- package/dist/session/map-session.d.mts +1 -2
- package/dist/session/map-session.d.mts.map +1 -1
- package/dist/session/redis.cjs +1 -1
- package/dist/session/redis.cjs.map +1 -1
- package/dist/session/redis.d.cts +3 -3
- package/dist/session/redis.d.cts.map +1 -1
- package/dist/session/redis.d.mts +3 -3
- package/dist/session/redis.d.mts.map +1 -1
- package/dist/session/redis.mjs +1 -1
- package/dist/session/redis.mjs.map +1 -1
- package/dist/session/types.d.cts +6 -7
- package/dist/session/types.d.cts.map +1 -1
- package/dist/session/types.d.mts +6 -7
- package/dist/session/types.d.mts.map +1 -1
- package/dist/utils/http.d.cts +7 -7
- package/dist/utils/http.d.cts.map +1 -1
- package/dist/utils/http.d.mts +7 -7
- package/dist/utils/http.d.mts.map +1 -1
- package/dist/utils/oauth2.d.cts +1 -2
- package/dist/utils/oauth2.d.cts.map +1 -1
- package/dist/utils/oauth2.d.mts +1 -2
- package/dist/utils/oauth2.d.mts.map +1 -1
- package/dist/utils/timing.d.cts +2 -2
- package/dist/utils/timing.d.cts.map +1 -1
- package/dist/utils/timing.d.mts +2 -2
- package/dist/utils/timing.d.mts.map +1 -1
- package/dist/utils/valid.d.cts +4 -4
- package/dist/utils/valid.d.cts.map +1 -1
- package/dist/utils/valid.d.mts +4 -4
- package/dist/utils/valid.d.mts.map +1 -1
- package/package.json +17 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apple-client-secret.d.mts","names":[],"sources":["../../../src/oauth2/provider/apple-client-secret.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"apple-client-secret.d.mts","names":[],"sources":["../../../src/oauth2/provider/apple-client-secret.ts"],"mappings":";iBAEiB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;;;;;;;wBAcc,wBAAwB,SAAS,4BAAwB,qBAmBZ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NativeCredential, OAuth2Token, Provider } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/apple.d.ts
|
|
3
|
-
declare function createAppleProvider(): Provider;
|
|
4
|
-
declare const apple: Provider;
|
|
5
|
-
interface AppleUserInfo {
|
|
3
|
+
export declare function createAppleProvider(): Provider;
|
|
4
|
+
export declare const apple: Provider;
|
|
5
|
+
export interface AppleUserInfo {
|
|
6
6
|
sub: string;
|
|
7
7
|
email: string;
|
|
8
8
|
email_verified: true | 'true';
|
|
@@ -20,23 +20,22 @@ interface AppleUserInfo {
|
|
|
20
20
|
nonce?: string;
|
|
21
21
|
nonce_supported?: boolean;
|
|
22
22
|
}
|
|
23
|
-
interface AppleToken extends OAuth2Token {
|
|
23
|
+
export interface AppleToken extends OAuth2Token {
|
|
24
24
|
access_token: string;
|
|
25
25
|
token_type: string;
|
|
26
26
|
expires_in: number;
|
|
27
27
|
refresh_token: string;
|
|
28
28
|
id_token: string;
|
|
29
29
|
}
|
|
30
|
-
interface AppleNativeCredential extends NativeCredential {
|
|
30
|
+
export interface AppleNativeCredential extends NativeCredential {
|
|
31
31
|
state: string;
|
|
32
32
|
code: string;
|
|
33
33
|
id_token: string;
|
|
34
34
|
user: string;
|
|
35
35
|
email?: string;
|
|
36
36
|
}
|
|
37
|
-
interface AppleErrorResponse {
|
|
37
|
+
export interface AppleErrorResponse {
|
|
38
38
|
error: 'invalid_request' | 'invalid_client' | 'invalid_grant' | 'unauthorized_client' | 'unsupported_grant_type' | 'invalid_scope';
|
|
39
39
|
}
|
|
40
40
|
//#endregion
|
|
41
|
-
export { AppleErrorResponse, AppleNativeCredential, AppleToken, AppleUserInfo, apple, createAppleProvider };
|
|
42
41
|
//# sourceMappingURL=apple.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apple.d.cts","names":[],"sources":["../../../src/oauth2/provider/apple.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"apple.d.cts","names":[],"sources":["../../../src/oauth2/provider/apple.ts"],"mappings":";;wBAMgB,uBAAuB;qBAwD1B,OAAK;iBAGD;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;MAAQ;MAAmB;;IAC3B;;EAEF;EACA;;iBAKe,mBAAmB;EAClC;EACA;EACA;EACA;EACA;;iBAGe,8BAA8B;EAC7C;EACA;EACA;EAEA;EACA;;iBAIe;EACf"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NativeCredential, OAuth2Token, Provider } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/apple.d.ts
|
|
3
|
-
declare function createAppleProvider(): Provider;
|
|
4
|
-
declare const apple: Provider;
|
|
5
|
-
interface AppleUserInfo {
|
|
3
|
+
export declare function createAppleProvider(): Provider;
|
|
4
|
+
export declare const apple: Provider;
|
|
5
|
+
export interface AppleUserInfo {
|
|
6
6
|
sub: string;
|
|
7
7
|
email: string;
|
|
8
8
|
email_verified: true | 'true';
|
|
@@ -20,23 +20,22 @@ interface AppleUserInfo {
|
|
|
20
20
|
nonce?: string;
|
|
21
21
|
nonce_supported?: boolean;
|
|
22
22
|
}
|
|
23
|
-
interface AppleToken extends OAuth2Token {
|
|
23
|
+
export interface AppleToken extends OAuth2Token {
|
|
24
24
|
access_token: string;
|
|
25
25
|
token_type: string;
|
|
26
26
|
expires_in: number;
|
|
27
27
|
refresh_token: string;
|
|
28
28
|
id_token: string;
|
|
29
29
|
}
|
|
30
|
-
interface AppleNativeCredential extends NativeCredential {
|
|
30
|
+
export interface AppleNativeCredential extends NativeCredential {
|
|
31
31
|
state: string;
|
|
32
32
|
code: string;
|
|
33
33
|
id_token: string;
|
|
34
34
|
user: string;
|
|
35
35
|
email?: string;
|
|
36
36
|
}
|
|
37
|
-
interface AppleErrorResponse {
|
|
37
|
+
export interface AppleErrorResponse {
|
|
38
38
|
error: 'invalid_request' | 'invalid_client' | 'invalid_grant' | 'unauthorized_client' | 'unsupported_grant_type' | 'invalid_scope';
|
|
39
39
|
}
|
|
40
40
|
//#endregion
|
|
41
|
-
export { AppleErrorResponse, AppleNativeCredential, AppleToken, AppleUserInfo, apple, createAppleProvider };
|
|
42
41
|
//# sourceMappingURL=apple.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apple.d.mts","names":[],"sources":["../../../src/oauth2/provider/apple.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"apple.d.mts","names":[],"sources":["../../../src/oauth2/provider/apple.ts"],"mappings":";;wBAMgB,uBAAuB;qBAwD1B,OAAK;iBAGD;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;MAAQ;MAAmB;;IAC3B;;EAEF;EACA;;iBAKe,mBAAmB;EAClC;EACA;EACA;EACA;EACA;;iBAGe,8BAA8B;EAC7C;EACA;EACA;EAEA;EACA;;iBAIe;EACf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExchangeCodeParams, PkceParameters, RefreshTokenParams } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/common.d.ts
|
|
3
|
-
declare function createAuthorizationUri(options: {
|
|
3
|
+
export declare function createAuthorizationUri(options: {
|
|
4
4
|
state: string;
|
|
5
5
|
scope: string[];
|
|
6
6
|
clientId: string;
|
|
@@ -8,11 +8,11 @@ declare function createAuthorizationUri(options: {
|
|
|
8
8
|
authorizationUri: string;
|
|
9
9
|
pkce?: Omit<PkceParameters, 'code_verifier'>;
|
|
10
10
|
}): URL;
|
|
11
|
-
declare function exchangeAuthorizationCode(params: ExchangeCodeParams & {
|
|
11
|
+
export declare function exchangeAuthorizationCode(params: ExchangeCodeParams & {
|
|
12
12
|
tokenUri: string;
|
|
13
13
|
authentication?: 'basic' | 'post';
|
|
14
14
|
}): Promise<Response>;
|
|
15
|
-
declare function refreshAccessToken(params: RefreshTokenParams & {
|
|
15
|
+
export declare function refreshAccessToken(params: RefreshTokenParams & {
|
|
16
16
|
tokenUri: string;
|
|
17
17
|
authentication?: 'basic' | 'post';
|
|
18
18
|
}): Promise<Response>;
|
|
@@ -23,8 +23,8 @@ interface RevokeTokenParams {
|
|
|
23
23
|
tokenRevokeUri: string;
|
|
24
24
|
authentication?: 'basic' | 'post';
|
|
25
25
|
}
|
|
26
|
-
declare function revokeToken(params: RevokeTokenParams): Promise<void>;
|
|
27
|
-
declare function verifyIdToken<T>(idToken: string, jwkSetUri: string): Promise<T>;
|
|
26
|
+
export declare function revokeToken(params: RevokeTokenParams): Promise<void>;
|
|
27
|
+
export declare function verifyIdToken<T>(idToken: string, jwkSetUri: string): Promise<T>;
|
|
28
28
|
//#endregion
|
|
29
|
-
export {
|
|
29
|
+
export {};
|
|
30
30
|
//# sourceMappingURL=common.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.cts","names":[],"sources":["../../../src/oauth2/provider/common.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"common.d.cts","names":[],"sources":["../../../src/oauth2/provider/common.ts"],"mappings":";;wBAIgB,uBAAuB;EACrC;EACA;EACA;EACA;EACA;EACA,OAAO,KAAK;IACb;wBAcqB,0BACpB,QAAQ;EACN;EACA;IACD,QAAA;wBAwBmB,mBACpB,QAAQ;EACN;EACA;IACD,QAAA;UAsBO;EACR;EACA;EACA;EACA;EACA;;wBAGoB,YAAY,QAAQ,oBAAiB;wBAwBrC,cAAc,GAAG,iBAAiB,oBAAiB,QAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExchangeCodeParams, PkceParameters, RefreshTokenParams } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/common.d.ts
|
|
3
|
-
declare function createAuthorizationUri(options: {
|
|
3
|
+
export declare function createAuthorizationUri(options: {
|
|
4
4
|
state: string;
|
|
5
5
|
scope: string[];
|
|
6
6
|
clientId: string;
|
|
@@ -8,11 +8,11 @@ declare function createAuthorizationUri(options: {
|
|
|
8
8
|
authorizationUri: string;
|
|
9
9
|
pkce?: Omit<PkceParameters, 'code_verifier'>;
|
|
10
10
|
}): URL;
|
|
11
|
-
declare function exchangeAuthorizationCode(params: ExchangeCodeParams & {
|
|
11
|
+
export declare function exchangeAuthorizationCode(params: ExchangeCodeParams & {
|
|
12
12
|
tokenUri: string;
|
|
13
13
|
authentication?: 'basic' | 'post';
|
|
14
14
|
}): Promise<Response>;
|
|
15
|
-
declare function refreshAccessToken(params: RefreshTokenParams & {
|
|
15
|
+
export declare function refreshAccessToken(params: RefreshTokenParams & {
|
|
16
16
|
tokenUri: string;
|
|
17
17
|
authentication?: 'basic' | 'post';
|
|
18
18
|
}): Promise<Response>;
|
|
@@ -23,8 +23,8 @@ interface RevokeTokenParams {
|
|
|
23
23
|
tokenRevokeUri: string;
|
|
24
24
|
authentication?: 'basic' | 'post';
|
|
25
25
|
}
|
|
26
|
-
declare function revokeToken(params: RevokeTokenParams): Promise<void>;
|
|
27
|
-
declare function verifyIdToken<T>(idToken: string, jwkSetUri: string): Promise<T>;
|
|
26
|
+
export declare function revokeToken(params: RevokeTokenParams): Promise<void>;
|
|
27
|
+
export declare function verifyIdToken<T>(idToken: string, jwkSetUri: string): Promise<T>;
|
|
28
28
|
//#endregion
|
|
29
|
-
export {
|
|
29
|
+
export {};
|
|
30
30
|
//# sourceMappingURL=common.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.mts","names":[],"sources":["../../../src/oauth2/provider/common.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"common.d.mts","names":[],"sources":["../../../src/oauth2/provider/common.ts"],"mappings":";;wBAIgB,uBAAuB;EACrC;EACA;EACA;EACA;EACA;EACA,OAAO,KAAK;IACb;wBAcqB,0BACpB,QAAQ;EACN;EACA;IACD,QAAA;wBAwBmB,mBACpB,QAAQ;EACN;EACA;IACD,QAAA;UAsBO;EACR;EACA;EACA;EACA;EACA;;wBAGoB,YAAY,QAAQ,oBAAiB;wBAwBrC,cAAc,GAAG,iBAAiB,oBAAiB,QAAA"}
|
|
@@ -4,16 +4,16 @@ import { OAuth2Token, Provider } from "../types.cjs";
|
|
|
4
4
|
* ref: https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow/
|
|
5
5
|
* ref: https://developers.facebook.com/tools/explorer
|
|
6
6
|
* */
|
|
7
|
-
declare function createFacebookProvider(): Provider;
|
|
8
|
-
declare const facebook: Provider;
|
|
9
|
-
interface FacebookDecodedIdToken {
|
|
7
|
+
export declare function createFacebookProvider(): Provider;
|
|
8
|
+
export declare const facebook: Provider;
|
|
9
|
+
export interface FacebookDecodedIdToken {
|
|
10
10
|
sub: string;
|
|
11
11
|
name: string;
|
|
12
12
|
email: string;
|
|
13
13
|
picture: string;
|
|
14
14
|
nonce?: string;
|
|
15
15
|
}
|
|
16
|
-
interface FacebookUserInfo {
|
|
16
|
+
export interface FacebookUserInfo {
|
|
17
17
|
id: string;
|
|
18
18
|
name: string;
|
|
19
19
|
email: string;
|
|
@@ -27,13 +27,13 @@ interface FacebookUserInfo {
|
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
interface FacebookToken extends OAuth2Token {
|
|
30
|
+
export interface FacebookToken extends OAuth2Token {
|
|
31
31
|
access_token: string;
|
|
32
32
|
token_type: 'bearer';
|
|
33
33
|
expires_in: number;
|
|
34
34
|
id_token?: string;
|
|
35
35
|
}
|
|
36
|
-
type FacebookAppCredential = {
|
|
36
|
+
export type FacebookAppCredential = {
|
|
37
37
|
state: string;
|
|
38
38
|
id_token: string;
|
|
39
39
|
} | {
|
|
@@ -41,5 +41,4 @@ type FacebookAppCredential = {
|
|
|
41
41
|
access_token: string;
|
|
42
42
|
};
|
|
43
43
|
//#endregion
|
|
44
|
-
export { FacebookAppCredential, FacebookDecodedIdToken, FacebookToken, FacebookUserInfo, createFacebookProvider, facebook };
|
|
45
44
|
//# sourceMappingURL=facebook.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facebook.d.cts","names":[],"sources":["../../../src/oauth2/provider/facebook.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"facebook.d.cts","names":[],"sources":["../../../src/oauth2/provider/facebook.ts"],"mappings":";;;;;;wBASgB,0BAA0B;qBA8E7B,UAAQ;iBAEJ;EACf;EACA;EACA;EACA;EACA;;iBAGe;EACf;EACA;EACA;EACA;EACA;IACE;MACE;MACA;MACA;MACA;;;;iBAKW,sBAAsB;EACrC;EACA;EACA;EACA;;YAGU;EACN;EAAe;;EACf;EAAe"}
|
|
@@ -4,16 +4,16 @@ import { OAuth2Token, Provider } from "../types.mjs";
|
|
|
4
4
|
* ref: https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow/
|
|
5
5
|
* ref: https://developers.facebook.com/tools/explorer
|
|
6
6
|
* */
|
|
7
|
-
declare function createFacebookProvider(): Provider;
|
|
8
|
-
declare const facebook: Provider;
|
|
9
|
-
interface FacebookDecodedIdToken {
|
|
7
|
+
export declare function createFacebookProvider(): Provider;
|
|
8
|
+
export declare const facebook: Provider;
|
|
9
|
+
export interface FacebookDecodedIdToken {
|
|
10
10
|
sub: string;
|
|
11
11
|
name: string;
|
|
12
12
|
email: string;
|
|
13
13
|
picture: string;
|
|
14
14
|
nonce?: string;
|
|
15
15
|
}
|
|
16
|
-
interface FacebookUserInfo {
|
|
16
|
+
export interface FacebookUserInfo {
|
|
17
17
|
id: string;
|
|
18
18
|
name: string;
|
|
19
19
|
email: string;
|
|
@@ -27,13 +27,13 @@ interface FacebookUserInfo {
|
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
interface FacebookToken extends OAuth2Token {
|
|
30
|
+
export interface FacebookToken extends OAuth2Token {
|
|
31
31
|
access_token: string;
|
|
32
32
|
token_type: 'bearer';
|
|
33
33
|
expires_in: number;
|
|
34
34
|
id_token?: string;
|
|
35
35
|
}
|
|
36
|
-
type FacebookAppCredential = {
|
|
36
|
+
export type FacebookAppCredential = {
|
|
37
37
|
state: string;
|
|
38
38
|
id_token: string;
|
|
39
39
|
} | {
|
|
@@ -41,5 +41,4 @@ type FacebookAppCredential = {
|
|
|
41
41
|
access_token: string;
|
|
42
42
|
};
|
|
43
43
|
//#endregion
|
|
44
|
-
export { FacebookAppCredential, FacebookDecodedIdToken, FacebookToken, FacebookUserInfo, createFacebookProvider, facebook };
|
|
45
44
|
//# sourceMappingURL=facebook.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facebook.d.mts","names":[],"sources":["../../../src/oauth2/provider/facebook.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"facebook.d.mts","names":[],"sources":["../../../src/oauth2/provider/facebook.ts"],"mappings":";;;;;;wBASgB,0BAA0B;qBA8E7B,UAAQ;iBAEJ;EACf;EACA;EACA;EACA;EACA;;iBAGe;EACf;EACA;EACA;EACA;EACA;IACE;MACE;MACA;MACA;MACA;;;;iBAKW,sBAAsB;EACrC;EACA;EACA;EACA;;YAGU;EACN;EAAe;;EACf;EAAe"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/github.d.ts
|
|
3
|
-
declare function createGithubProvider(): Provider;
|
|
4
|
-
declare const github: Provider;
|
|
5
|
-
interface GithubUserInfo {
|
|
3
|
+
export declare function createGithubProvider(): Provider;
|
|
4
|
+
export declare const github: Provider;
|
|
5
|
+
export interface GithubUserInfo {
|
|
6
6
|
login: string;
|
|
7
7
|
id: string;
|
|
8
8
|
node_id: string;
|
|
@@ -48,7 +48,7 @@ interface GithubUserInfo {
|
|
|
48
48
|
collaborators: string;
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
interface GithubToken extends OAuth2Token {
|
|
51
|
+
export interface GithubToken extends OAuth2Token {
|
|
52
52
|
access_token: string;
|
|
53
53
|
token_type: string;
|
|
54
54
|
scope: string;
|
|
@@ -56,5 +56,4 @@ interface GithubToken extends OAuth2Token {
|
|
|
56
56
|
refresh_token: string;
|
|
57
57
|
}
|
|
58
58
|
//#endregion
|
|
59
|
-
export { GithubToken, GithubUserInfo, createGithubProvider, github };
|
|
60
59
|
//# sourceMappingURL=github.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.cts","names":[],"sources":["../../../src/oauth2/provider/github.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"github.d.cts","names":[],"sources":["../../../src/oauth2/provider/github.ts"],"mappings":";;wBAKgB,wBAAwB;qBA2D3B,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;IACA;;;iBAWa,oBAAoB;EACnC;EACA;EACA;EACA;EACA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/github.d.ts
|
|
3
|
-
declare function createGithubProvider(): Provider;
|
|
4
|
-
declare const github: Provider;
|
|
5
|
-
interface GithubUserInfo {
|
|
3
|
+
export declare function createGithubProvider(): Provider;
|
|
4
|
+
export declare const github: Provider;
|
|
5
|
+
export interface GithubUserInfo {
|
|
6
6
|
login: string;
|
|
7
7
|
id: string;
|
|
8
8
|
node_id: string;
|
|
@@ -48,7 +48,7 @@ interface GithubUserInfo {
|
|
|
48
48
|
collaborators: string;
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
interface GithubToken extends OAuth2Token {
|
|
51
|
+
export interface GithubToken extends OAuth2Token {
|
|
52
52
|
access_token: string;
|
|
53
53
|
token_type: string;
|
|
54
54
|
scope: string;
|
|
@@ -56,5 +56,4 @@ interface GithubToken extends OAuth2Token {
|
|
|
56
56
|
refresh_token: string;
|
|
57
57
|
}
|
|
58
58
|
//#endregion
|
|
59
|
-
export { GithubToken, GithubUserInfo, createGithubProvider, github };
|
|
60
59
|
//# sourceMappingURL=github.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.mts","names":[],"sources":["../../../src/oauth2/provider/github.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"github.d.mts","names":[],"sources":["../../../src/oauth2/provider/github.ts"],"mappings":";;wBAKgB,wBAAwB;qBA2D3B,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;IACA;;;iBAWa,oBAAoB;EACnC;EACA;EACA;EACA;EACA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NativeCredential, OAuth2Token, OneTapProvider } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/google.d.ts
|
|
3
|
-
declare function createGoogleProvider(): OneTapProvider;
|
|
4
|
-
declare const google: OneTapProvider;
|
|
5
|
-
interface GoogleUserInfo {
|
|
3
|
+
export declare function createGoogleProvider(): OneTapProvider;
|
|
4
|
+
export declare const google: OneTapProvider;
|
|
5
|
+
export interface GoogleUserInfo {
|
|
6
6
|
aud: string;
|
|
7
7
|
azp: string;
|
|
8
8
|
email: string;
|
|
@@ -21,7 +21,7 @@ interface GoogleUserInfo {
|
|
|
21
21
|
sub: string;
|
|
22
22
|
nonce?: string;
|
|
23
23
|
}
|
|
24
|
-
interface GoogleToken extends OAuth2Token {
|
|
24
|
+
export interface GoogleToken extends OAuth2Token {
|
|
25
25
|
access_token: string;
|
|
26
26
|
token_type: string;
|
|
27
27
|
expires_in: number;
|
|
@@ -29,16 +29,15 @@ interface GoogleToken extends OAuth2Token {
|
|
|
29
29
|
id_token: string;
|
|
30
30
|
scope: string;
|
|
31
31
|
}
|
|
32
|
-
interface GoogleAppCredential extends NativeCredential {
|
|
32
|
+
export interface GoogleAppCredential extends NativeCredential {
|
|
33
33
|
state: string;
|
|
34
34
|
code: string;
|
|
35
35
|
client_id: string;
|
|
36
36
|
redirect_uri: string;
|
|
37
37
|
}
|
|
38
|
-
interface GoogleErrorResponse {
|
|
38
|
+
export interface GoogleErrorResponse {
|
|
39
39
|
error: 'invalid_request' | 'invalid_client' | 'invalid_grant' | 'invalid_token' | 'invalid_scope' | 'unauthorized_client' | 'unsupported_grant_type' | 'access_denied' | 'server_error';
|
|
40
40
|
error_description: string;
|
|
41
41
|
}
|
|
42
42
|
//#endregion
|
|
43
|
-
export { GoogleAppCredential, GoogleErrorResponse, GoogleToken, GoogleUserInfo, createGoogleProvider, google };
|
|
44
43
|
//# sourceMappingURL=google.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.cts","names":[],"sources":["../../../src/oauth2/provider/google.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"google.d.cts","names":[],"sources":["../../../src/oauth2/provider/google.ts"],"mappings":";;wBAegB,wBAAwB;qBA0G3B,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBAAoB;EACnC;EACA;EACA;EACA;EACA;EACA;;iBAIe,4BAA4B;EAC3C;EACA;EACA;EACA;;iBAGe;EACf;EAUA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NativeCredential, OAuth2Token, OneTapProvider } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/google.d.ts
|
|
3
|
-
declare function createGoogleProvider(): OneTapProvider;
|
|
4
|
-
declare const google: OneTapProvider;
|
|
5
|
-
interface GoogleUserInfo {
|
|
3
|
+
export declare function createGoogleProvider(): OneTapProvider;
|
|
4
|
+
export declare const google: OneTapProvider;
|
|
5
|
+
export interface GoogleUserInfo {
|
|
6
6
|
aud: string;
|
|
7
7
|
azp: string;
|
|
8
8
|
email: string;
|
|
@@ -21,7 +21,7 @@ interface GoogleUserInfo {
|
|
|
21
21
|
sub: string;
|
|
22
22
|
nonce?: string;
|
|
23
23
|
}
|
|
24
|
-
interface GoogleToken extends OAuth2Token {
|
|
24
|
+
export interface GoogleToken extends OAuth2Token {
|
|
25
25
|
access_token: string;
|
|
26
26
|
token_type: string;
|
|
27
27
|
expires_in: number;
|
|
@@ -29,16 +29,15 @@ interface GoogleToken extends OAuth2Token {
|
|
|
29
29
|
id_token: string;
|
|
30
30
|
scope: string;
|
|
31
31
|
}
|
|
32
|
-
interface GoogleAppCredential extends NativeCredential {
|
|
32
|
+
export interface GoogleAppCredential extends NativeCredential {
|
|
33
33
|
state: string;
|
|
34
34
|
code: string;
|
|
35
35
|
client_id: string;
|
|
36
36
|
redirect_uri: string;
|
|
37
37
|
}
|
|
38
|
-
interface GoogleErrorResponse {
|
|
38
|
+
export interface GoogleErrorResponse {
|
|
39
39
|
error: 'invalid_request' | 'invalid_client' | 'invalid_grant' | 'invalid_token' | 'invalid_scope' | 'unauthorized_client' | 'unsupported_grant_type' | 'access_denied' | 'server_error';
|
|
40
40
|
error_description: string;
|
|
41
41
|
}
|
|
42
42
|
//#endregion
|
|
43
|
-
export { GoogleAppCredential, GoogleErrorResponse, GoogleToken, GoogleUserInfo, createGoogleProvider, google };
|
|
44
43
|
//# sourceMappingURL=google.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.mts","names":[],"sources":["../../../src/oauth2/provider/google.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"google.d.mts","names":[],"sources":["../../../src/oauth2/provider/google.ts"],"mappings":";;wBAegB,wBAAwB;qBA0G3B,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBAAoB;EACnC;EACA;EACA;EACA;EACA;EACA;;iBAIe,4BAA4B;EAC3C;EACA;EACA;EACA;;iBAGe;EACf;EAUA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/wechat.d.ts
|
|
3
|
-
type Options = {
|
|
3
|
+
export type Options = {
|
|
4
4
|
isWechatBrowser: boolean;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
7
|
* reference: https://developers.weixin.qq.com/doc/offiaccount/en/OA_Web_Apps/Wechat_webpage_authorization.html
|
|
8
8
|
*/
|
|
9
|
-
declare function createWechatProvider(options?: Options): Provider;
|
|
10
|
-
declare const wechat: Provider;
|
|
11
|
-
interface WechatUserInfo {
|
|
9
|
+
export declare function createWechatProvider(options?: Options): Provider;
|
|
10
|
+
export declare const wechat: Provider;
|
|
11
|
+
export interface WechatUserInfo {
|
|
12
12
|
openid: string;
|
|
13
13
|
nickname: string;
|
|
14
14
|
sex: 0 | 1 | 2;
|
|
@@ -26,7 +26,7 @@ interface WechatUserInfo {
|
|
|
26
26
|
privilege: string[];
|
|
27
27
|
unionid?: string;
|
|
28
28
|
}
|
|
29
|
-
interface WechatToken extends OAuth2Token {
|
|
29
|
+
export interface WechatToken extends OAuth2Token {
|
|
30
30
|
access_token: string;
|
|
31
31
|
expires_in: number;
|
|
32
32
|
refresh_token: string;
|
|
@@ -35,5 +35,4 @@ interface WechatToken extends OAuth2Token {
|
|
|
35
35
|
unionid?: string;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
|
-
export { Options, WechatToken, WechatUserInfo, createWechatProvider, wechat };
|
|
39
38
|
//# sourceMappingURL=wechat.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wechat.d.cts","names":[],"sources":["../../../src/oauth2/provider/wechat.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"wechat.d.cts","names":[],"sources":["../../../src/oauth2/provider/wechat.ts"],"mappings":";;YAIY;EAAY;;;;;wBAKR,qBAAqB,UAAS,UAAuC;qBAuExE,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;;;EAQA;EACA;EACA;;iBAGe,oBAAoB;EACnC;EACA;EACA;EACA;EACA;EACA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/wechat.d.ts
|
|
3
|
-
type Options = {
|
|
3
|
+
export type Options = {
|
|
4
4
|
isWechatBrowser: boolean;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
7
|
* reference: https://developers.weixin.qq.com/doc/offiaccount/en/OA_Web_Apps/Wechat_webpage_authorization.html
|
|
8
8
|
*/
|
|
9
|
-
declare function createWechatProvider(options?: Options): Provider;
|
|
10
|
-
declare const wechat: Provider;
|
|
11
|
-
interface WechatUserInfo {
|
|
9
|
+
export declare function createWechatProvider(options?: Options): Provider;
|
|
10
|
+
export declare const wechat: Provider;
|
|
11
|
+
export interface WechatUserInfo {
|
|
12
12
|
openid: string;
|
|
13
13
|
nickname: string;
|
|
14
14
|
sex: 0 | 1 | 2;
|
|
@@ -26,7 +26,7 @@ interface WechatUserInfo {
|
|
|
26
26
|
privilege: string[];
|
|
27
27
|
unionid?: string;
|
|
28
28
|
}
|
|
29
|
-
interface WechatToken extends OAuth2Token {
|
|
29
|
+
export interface WechatToken extends OAuth2Token {
|
|
30
30
|
access_token: string;
|
|
31
31
|
expires_in: number;
|
|
32
32
|
refresh_token: string;
|
|
@@ -35,5 +35,4 @@ interface WechatToken extends OAuth2Token {
|
|
|
35
35
|
unionid?: string;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
|
-
export { Options, WechatToken, WechatUserInfo, createWechatProvider, wechat };
|
|
39
38
|
//# sourceMappingURL=wechat.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wechat.d.mts","names":[],"sources":["../../../src/oauth2/provider/wechat.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"wechat.d.mts","names":[],"sources":["../../../src/oauth2/provider/wechat.ts"],"mappings":";;YAIY;EAAY;;;;;wBAKR,qBAAqB,UAAS,UAAuC;qBAuExE,QAAM;iBAEF;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;;;EAQA;EACA;EACA;;iBAGe,oBAAoB;EACnC;EACA;EACA;EACA;EACA;EACA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.cjs";
|
|
2
2
|
//#region src/oauth2/provider/x.d.ts
|
|
3
|
-
interface XOptions {
|
|
3
|
+
export interface XOptions {
|
|
4
4
|
userFields?: UserField[];
|
|
5
5
|
}
|
|
6
|
-
declare function createXProvider(options?: XOptions): Provider;
|
|
7
|
-
declare const x: Provider;
|
|
6
|
+
export declare function createXProvider(options?: XOptions): Provider;
|
|
7
|
+
export declare const x: Provider;
|
|
8
8
|
type UserField = 'affiliation' | 'connection_status' | 'created_at' | 'description' | 'entities' | 'id' | 'is_identity_verified' | 'location' | 'most_recent_tweet_id' | 'name' | 'parody' | 'pinned_tweet_id' | 'profile_banner_url' | 'profile_image_url' | 'protected' | 'public_metrics' | 'receives_your_dm' | 'subscription' | 'subscription_type' | 'url' | 'username' | 'verified' | 'verified_followers_count' | 'verified_type' | 'withheld';
|
|
9
|
-
interface XUser {
|
|
9
|
+
export interface XUser {
|
|
10
10
|
id: string;
|
|
11
11
|
name: string;
|
|
12
12
|
email?: string;
|
|
@@ -30,7 +30,7 @@ interface XUser {
|
|
|
30
30
|
pinned_tweet_id?: string;
|
|
31
31
|
created_at?: string;
|
|
32
32
|
}
|
|
33
|
-
interface XUserInfo {
|
|
33
|
+
export interface XUserInfo {
|
|
34
34
|
data: XUser;
|
|
35
35
|
includes?: {
|
|
36
36
|
tweets?: {
|
|
@@ -57,7 +57,7 @@ type MentionEntity = {
|
|
|
57
57
|
end: string;
|
|
58
58
|
username: string;
|
|
59
59
|
};
|
|
60
|
-
interface XToken extends OAuth2Token {
|
|
60
|
+
export interface XToken extends OAuth2Token {
|
|
61
61
|
token_type: string;
|
|
62
62
|
expires_in: number;
|
|
63
63
|
access_token: string;
|
|
@@ -65,5 +65,5 @@ interface XToken extends OAuth2Token {
|
|
|
65
65
|
refresh_token: string;
|
|
66
66
|
}
|
|
67
67
|
//#endregion
|
|
68
|
-
export {
|
|
68
|
+
export {};
|
|
69
69
|
//# sourceMappingURL=x.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x.d.cts","names":[],"sources":["../../../src/oauth2/provider/x.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"x.d.cts","names":[],"sources":["../../../src/oauth2/provider/x.ts"],"mappings":";;iBAUiB;EACf,aAAa;;wBAaC,gBAAgB,UAAU,WAAW;qBAwFxC,GAAC;KAET;iBA2BY;EACf;EACA;EACA;EACA;EACA;EACA;IACE;MAAO,MAAM;;IACb;MACE,UAAU;MACV,UAAU;MACV,UAAU;;;EAGd;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe;EACf,MAAM;EACN;IAAa;MAAW;MAAY;;IAAkB,QAAQ;;;KAG3D;EACH;EACA;EACA;EACA;EACA;;KAEG;EAAkB;EAAe;EAAa;;KAC9C;EAAkB;EAAe;EAAa;;iBAElC,eAAe;EAC9B;EACA;EACA;EACA;EACA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { OAuth2Token, Provider } from "../types.mjs";
|
|
2
2
|
//#region src/oauth2/provider/x.d.ts
|
|
3
|
-
interface XOptions {
|
|
3
|
+
export interface XOptions {
|
|
4
4
|
userFields?: UserField[];
|
|
5
5
|
}
|
|
6
|
-
declare function createXProvider(options?: XOptions): Provider;
|
|
7
|
-
declare const x: Provider;
|
|
6
|
+
export declare function createXProvider(options?: XOptions): Provider;
|
|
7
|
+
export declare const x: Provider;
|
|
8
8
|
type UserField = 'affiliation' | 'connection_status' | 'created_at' | 'description' | 'entities' | 'id' | 'is_identity_verified' | 'location' | 'most_recent_tweet_id' | 'name' | 'parody' | 'pinned_tweet_id' | 'profile_banner_url' | 'profile_image_url' | 'protected' | 'public_metrics' | 'receives_your_dm' | 'subscription' | 'subscription_type' | 'url' | 'username' | 'verified' | 'verified_followers_count' | 'verified_type' | 'withheld';
|
|
9
|
-
interface XUser {
|
|
9
|
+
export interface XUser {
|
|
10
10
|
id: string;
|
|
11
11
|
name: string;
|
|
12
12
|
email?: string;
|
|
@@ -30,7 +30,7 @@ interface XUser {
|
|
|
30
30
|
pinned_tweet_id?: string;
|
|
31
31
|
created_at?: string;
|
|
32
32
|
}
|
|
33
|
-
interface XUserInfo {
|
|
33
|
+
export interface XUserInfo {
|
|
34
34
|
data: XUser;
|
|
35
35
|
includes?: {
|
|
36
36
|
tweets?: {
|
|
@@ -57,7 +57,7 @@ type MentionEntity = {
|
|
|
57
57
|
end: string;
|
|
58
58
|
username: string;
|
|
59
59
|
};
|
|
60
|
-
interface XToken extends OAuth2Token {
|
|
60
|
+
export interface XToken extends OAuth2Token {
|
|
61
61
|
token_type: string;
|
|
62
62
|
expires_in: number;
|
|
63
63
|
access_token: string;
|
|
@@ -65,5 +65,5 @@ interface XToken extends OAuth2Token {
|
|
|
65
65
|
refresh_token: string;
|
|
66
66
|
}
|
|
67
67
|
//#endregion
|
|
68
|
-
export {
|
|
68
|
+
export {};
|
|
69
69
|
//# sourceMappingURL=x.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x.d.mts","names":[],"sources":["../../../src/oauth2/provider/x.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"x.d.mts","names":[],"sources":["../../../src/oauth2/provider/x.ts"],"mappings":";;iBAUiB;EACf,aAAa;;wBAaC,gBAAgB,UAAU,WAAW;qBAwFxC,GAAC;KAET;iBA2BY;EACf;EACA;EACA;EACA;EACA;EACA;IACE;MAAO,MAAM;;IACb;MACE,UAAU;MACV,UAAU;MACV,UAAU;;;EAGd;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe;EACf,MAAM;EACN;IAAa;MAAW;MAAY;;IAAkB,QAAQ;;;KAG3D;EACH;EACA;EACA;EACA;EACA;;KAEG;EAAkB;EAAe;EAAa;;KAC9C;EAAkB;EAAe;EAAa;;iBAElC,eAAe;EAC9B;EACA;EACA;EACA;EACA"}
|