authula 0.7.13 → 0.7.15
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 +7 -2
- package/dist/{index-cq14Wq4Z.d.ts → index-DVhn7FFt.d.ts} +107 -107
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/index.d.ts +1841 -1064
- package/dist/plugins/index.js +716 -110
- package/dist/plugins/index.js.map +1 -1
- package/package.json +32 -26
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as SignUpRequestMetadata, $n as CallbackResponse, $t as GetSessionStateResponse, A as UpdateUserResponse, An as CreateRoleResponse, At as OrganizationMetadata, B as UpdateOrganizationRequestMetadata, Bn as CreateOrganizationInvitationRequest, Bt as OrganizationMemberResponse, C as UsersPage, Cn as DeleteApiKeyResponse, Ct as MagicLinkSignInResponse, D as UpsertUserStateRequest, Dn as CreateUserRequest, Dt as ListUsersParams, E as UpsertUserStateResponse, En as CreateUserResponse, Et as MagicLinkExchangeRequest, F as UpdatePermissionResponse, Fn as CreatePermissionRequest, Ft as ListOrganizationTeamsParams, G as UpdateAccountResponse, Gn as CreateApiKeyRequestMetadata, Gt as ListApiKeysParams, H as UpdateApiKeyResponse, Hn as CreateOrganizationInvitationParams, Ht as ListOrganizationInvitationsResponse, I as UpdatePermissionRequest, In as CreateOrganizationTeamRequest, It as ListOrganizationTeamMembersResponse, J as StopImpersonationResponse, Jn as CheckUserPermissionsResponse, Jt as GetUserPermissionsResponse, K as UpdateAccountRequest, Kn as CreateAccountResponse, Kt as Jwk, L as UpdateOrganizationTeamRequest, Ln as CreateOrganizationTeamRequestMetadata, Lt as OrganizationTeamMemberResponse, M as UpdateUserRequestMetadata, Mn as CreateRoleRequest, Mt as ListOrganizationTeamsResponse, N as UpdateRoleResponse, Nn as CreatePermissionResponse, Nt as OrganizationTeam, O as UpsertSessionStateResponse, On as CreateUserRequestMetadata, Ot as ListOrganizationsResponse, P as UpdateRoleRequest, Pn as Permission, Pt as OrganizationTeamMetadata, Q as SignUpRequest, Qn as ChangeEmailResponse, Qt as GetTOTPURIResponse, R as UpdateOrganizationTeamRequestMetadata, Rn as CreateOrganizationRequest, Rt as ListOrganizationTeamMembersParams, S as VerifyApiKeyRequest, Sn as DeleteOrganizationMemberResponse, St as MagicLinkVerifyResponse, T as UserAccountsResponse, Tn as CreateUserStateRequest, Tt as MagicLinkExchangeResponse, U as UpdateApiKeyRequest, Un as CreateApiKeyResponse, Ut as Pagination, V as UpdateOrganizationMemberRequest, Vn as CreateOrganizationInvitationQuery, Vt as ListOrganizationMembersParams, W as UpdateApiKeyRequestMetadata, Wn as CreateApiKeyRequest, Wt as ListOrganizationInvitationsParams, X as StartImpersonationRequest, Xn as ChangePasswordResponse, Xt as PermissionGrantSource, Y as StartImpersonationResponse, Yn as CheckUserPermissionsRequest, Yt as UserPermissionInfo, Z as SignUpResponse, Zn as ChangePasswordRequest, Zt as GetUserByIDResponse, _ as VerifyTOTPRequest, _n as DeleteRoleResponse, _r as Account, _t as RefreshTokenRequest, a as AuthulaClientConfig, an as GetMeResponse, ar as AssignUserRoleResponse, at as RoleDetails, b as VerifyBackupCodeRequest, bn as DeleteOrganizationTeamMemberResponse, bt as OauthCallbackParams, c as CookieStore, cn as GetApiKeyResponse, cr as ApiKeyMetadata, ct as RequestPasswordResetRequest, d as AuthulaClient, dn as GenerateBackupCodesResponse, dr as Session, dt as ReplaceUserRolesRequest, en as GetOrganizationInvitationResponse, er as User, et as SignOutResponse, f as AfterFetchHook, fn as EnableResponse, fr as AdminSessionState, ft as ReplaceRolePermissionsRequest, g as VerifyTOTPResponse, gn as DeleteSessionStateResponse, gr as AddOrganizationMemberRequest, gt as RefreshTokenResponse, h as WellKnownJWKSResponse, hn as DeleteUserResponse, hr as AddOrganizationTeamMemberRequest, ht as RemoveRolePermissionResponse, in as OrganizationInvitationStatus, ir as AuthorizeResponse, it as SendEmailVerificationRequest, j as UpdateUserRequest, jn as Role, jt as ListOrganizationsParams, k as UpsertSessionStateRequest, kn as CreateSessionStateRequest, kt as Organization, l as FetchOptions, ln as GetAllApiKeysResponse, lr as AdminUserState, lt as RequestEmailChangeRequest, m as FetchContext, mn as DeleteUserStateResponse, mr as AddRolePermissionRequest, mt as RemoveUserRoleResponse, n as createClient, nn as OrganizationSummaryMetadata, nr as BanUserResponse, nt as SignInResponse, o as AuthulaClientOptions, on as GetImpersonationByIDResponse, or as AssignUserRoleRequest, ot as RevokeSessionResponse, p as BeforeFetchHook, pn as DisableResponse, pr as AddRolePermissionResponse, pt as ReplaceRolePermissionResponse, q as UnbanUserResponse, qn as CreateAccountRequest, qt as GetUserStateResponse, r as ApiError, rn as OrganizationInvitation, rr as BanUserRequest, rt as SignInRequest, s as CookieAttributes, sn as Impersonation, sr as ApiKey, st as RevokeSessionRequest, t as ClientWithPlugins, tn as OrganizationSummary, tr as UserMetadata, tt as SignOutRequest, u as Plugin, un as GetAccountByIDResponse, ur as AdminUserSession, ut as ReplaceUserRolesResponse, v as VerifyMagicLinkParams, vn as DeletePermissionResponse, vr as AcceptOrganizationInvitationQuery, vt as OrganizationTeamMember, w as UserRoleInfo, wn as DeleteAccountResponse, wt as MagicLinkSignInRequest, x as VerifyApiKeyResponse, xn as DeleteOrganizationResponse, xt as OauthAuthorizeParams, y as VerifyBackupCodeResponse, yn as DeleteOrganizationTeamResponse, yr as AcceptOrganizationInvitationParams, yt as OrganizationMember, z as UpdateOrganizationRequest, zn as CreateOrganizationRequestMetadata, zt as ListOrganizationMembersResponse } from "./index-
|
|
1
|
+
import { $ as SignUpRequestMetadata, $n as CallbackResponse, $t as GetSessionStateResponse, A as UpdateUserResponse, An as CreateRoleResponse, At as OrganizationMetadata, B as UpdateOrganizationRequestMetadata, Bn as CreateOrganizationInvitationRequest, Bt as OrganizationMemberResponse, C as UsersPage, Cn as DeleteApiKeyResponse, Ct as MagicLinkSignInResponse, D as UpsertUserStateRequest, Dn as CreateUserRequest, Dt as ListUsersParams, E as UpsertUserStateResponse, En as CreateUserResponse, Et as MagicLinkExchangeRequest, F as UpdatePermissionResponse, Fn as CreatePermissionRequest, Ft as ListOrganizationTeamsParams, G as UpdateAccountResponse, Gn as CreateApiKeyRequestMetadata, Gt as ListApiKeysParams, H as UpdateApiKeyResponse, Hn as CreateOrganizationInvitationParams, Ht as ListOrganizationInvitationsResponse, I as UpdatePermissionRequest, In as CreateOrganizationTeamRequest, It as ListOrganizationTeamMembersResponse, J as StopImpersonationResponse, Jn as CheckUserPermissionsResponse, Jt as GetUserPermissionsResponse, K as UpdateAccountRequest, Kn as CreateAccountResponse, Kt as Jwk, L as UpdateOrganizationTeamRequest, Ln as CreateOrganizationTeamRequestMetadata, Lt as OrganizationTeamMemberResponse, M as UpdateUserRequestMetadata, Mn as CreateRoleRequest, Mt as ListOrganizationTeamsResponse, N as UpdateRoleResponse, Nn as CreatePermissionResponse, Nt as OrganizationTeam, O as UpsertSessionStateResponse, On as CreateUserRequestMetadata, Ot as ListOrganizationsResponse, P as UpdateRoleRequest, Pn as Permission, Pt as OrganizationTeamMetadata, Q as SignUpRequest, Qn as ChangeEmailResponse, Qt as GetTOTPURIResponse, R as UpdateOrganizationTeamRequestMetadata, Rn as CreateOrganizationRequest, Rt as ListOrganizationTeamMembersParams, S as VerifyApiKeyRequest, Sn as DeleteOrganizationMemberResponse, St as MagicLinkVerifyResponse, T as UserAccountsResponse, Tn as CreateUserStateRequest, Tt as MagicLinkExchangeResponse, U as UpdateApiKeyRequest, Un as CreateApiKeyResponse, Ut as Pagination, V as UpdateOrganizationMemberRequest, Vn as CreateOrganizationInvitationQuery, Vt as ListOrganizationMembersParams, W as UpdateApiKeyRequestMetadata, Wn as CreateApiKeyRequest, Wt as ListOrganizationInvitationsParams, X as StartImpersonationRequest, Xn as ChangePasswordResponse, Xt as PermissionGrantSource, Y as StartImpersonationResponse, Yn as CheckUserPermissionsRequest, Yt as UserPermissionInfo, Z as SignUpResponse, Zn as ChangePasswordRequest, Zt as GetUserByIDResponse, _ as VerifyTOTPRequest, _n as DeleteRoleResponse, _r as Account, _t as RefreshTokenRequest, a as AuthulaClientConfig, an as GetMeResponse, ar as AssignUserRoleResponse, at as RoleDetails, b as VerifyBackupCodeRequest, bn as DeleteOrganizationTeamMemberResponse, bt as OauthCallbackParams, c as CookieStore, cn as GetApiKeyResponse, cr as ApiKeyMetadata, ct as RequestPasswordResetRequest, d as AuthulaClient, dn as GenerateBackupCodesResponse, dr as Session, dt as ReplaceUserRolesRequest, en as GetOrganizationInvitationResponse, er as User, et as SignOutResponse, f as AfterFetchHook, fn as EnableResponse, fr as AdminSessionState, ft as ReplaceRolePermissionsRequest, g as VerifyTOTPResponse, gn as DeleteSessionStateResponse, gr as AddOrganizationMemberRequest, gt as RefreshTokenResponse, h as WellKnownJWKSResponse, hn as DeleteUserResponse, hr as AddOrganizationTeamMemberRequest, ht as RemoveRolePermissionResponse, in as OrganizationInvitationStatus, ir as AuthorizeResponse, it as SendEmailVerificationRequest, j as UpdateUserRequest, jn as Role, jt as ListOrganizationsParams, k as UpsertSessionStateRequest, kn as CreateSessionStateRequest, kt as Organization, l as FetchOptions, ln as GetAllApiKeysResponse, lr as AdminUserState, lt as RequestEmailChangeRequest, m as FetchContext, mn as DeleteUserStateResponse, mr as AddRolePermissionRequest, mt as RemoveUserRoleResponse, n as createClient, nn as OrganizationSummaryMetadata, nr as BanUserResponse, nt as SignInResponse, o as AuthulaClientOptions, on as GetImpersonationByIDResponse, or as AssignUserRoleRequest, ot as RevokeSessionResponse, p as BeforeFetchHook, pn as DisableResponse, pr as AddRolePermissionResponse, pt as ReplaceRolePermissionResponse, q as UnbanUserResponse, qn as CreateAccountRequest, qt as GetUserStateResponse, r as ApiError, rn as OrganizationInvitation, rr as BanUserRequest, rt as SignInRequest, s as CookieAttributes, sn as Impersonation, sr as ApiKey, st as RevokeSessionRequest, t as ClientWithPlugins, tn as OrganizationSummary, tr as UserMetadata, tt as SignOutRequest, u as Plugin, un as GetAccountByIDResponse, ur as AdminUserSession, ut as ReplaceUserRolesResponse, v as VerifyMagicLinkParams, vn as DeletePermissionResponse, vr as AcceptOrganizationInvitationQuery, vt as OrganizationTeamMember, w as UserRoleInfo, wn as DeleteAccountResponse, wt as MagicLinkSignInRequest, x as VerifyApiKeyResponse, xn as DeleteOrganizationResponse, xt as OauthAuthorizeParams, y as VerifyBackupCodeResponse, yn as DeleteOrganizationTeamResponse, yr as AcceptOrganizationInvitationParams, yt as OrganizationMember, z as UpdateOrganizationRequest, zn as CreateOrganizationRequestMetadata, zt as ListOrganizationMembersResponse } from "./index-DVhn7FFt.js";
|
|
2
2
|
export { AcceptOrganizationInvitationParams, AcceptOrganizationInvitationQuery, Account, AddOrganizationMemberRequest, AddOrganizationTeamMemberRequest, AddRolePermissionRequest, AddRolePermissionResponse, AdminSessionState, AdminUserSession, AdminUserState, AfterFetchHook, ApiError, ApiKey, ApiKeyMetadata, AssignUserRoleRequest, AssignUserRoleResponse, AuthorizeResponse, AuthulaClient, AuthulaClientConfig, AuthulaClientOptions, BanUserRequest, BanUserResponse, BeforeFetchHook, CallbackResponse, ChangeEmailResponse, ChangePasswordRequest, ChangePasswordResponse, CheckUserPermissionsRequest, CheckUserPermissionsResponse, type ClientWithPlugins, CookieAttributes, CookieStore, CreateAccountRequest, CreateAccountResponse, CreateApiKeyRequest, CreateApiKeyRequestMetadata, CreateApiKeyResponse, CreateOrganizationInvitationParams, CreateOrganizationInvitationQuery, CreateOrganizationInvitationRequest, CreateOrganizationRequest, CreateOrganizationRequestMetadata, CreateOrganizationTeamRequest, CreateOrganizationTeamRequestMetadata, CreatePermissionRequest, CreatePermissionResponse, CreateRoleRequest, CreateRoleResponse, CreateSessionStateRequest, CreateUserRequest, CreateUserRequestMetadata, CreateUserResponse, CreateUserStateRequest, DeleteAccountResponse, DeleteApiKeyResponse, DeleteOrganizationMemberResponse, DeleteOrganizationResponse, DeleteOrganizationTeamMemberResponse, DeleteOrganizationTeamResponse, DeletePermissionResponse, DeleteRoleResponse, DeleteSessionStateResponse, DeleteUserResponse, DeleteUserStateResponse, DisableResponse, EnableResponse, FetchContext, FetchOptions, GenerateBackupCodesResponse, GetAccountByIDResponse, GetAllApiKeysResponse, GetApiKeyResponse, GetImpersonationByIDResponse, GetMeResponse, GetOrganizationInvitationResponse, GetSessionStateResponse, GetTOTPURIResponse, GetUserByIDResponse, GetUserPermissionsResponse, GetUserStateResponse, Impersonation, Jwk, ListApiKeysParams, ListOrganizationInvitationsParams, ListOrganizationInvitationsResponse, ListOrganizationMembersParams, ListOrganizationMembersResponse, ListOrganizationTeamMembersParams, ListOrganizationTeamMembersResponse, ListOrganizationTeamsParams, ListOrganizationTeamsResponse, ListOrganizationsParams, ListOrganizationsResponse, ListUsersParams, MagicLinkExchangeRequest, MagicLinkExchangeResponse, MagicLinkSignInRequest, MagicLinkSignInResponse, MagicLinkVerifyResponse, OauthAuthorizeParams, OauthCallbackParams, Organization, OrganizationInvitation, OrganizationInvitationStatus, OrganizationMember, OrganizationMemberResponse, OrganizationMetadata, OrganizationSummary, OrganizationSummaryMetadata, OrganizationTeam, OrganizationTeamMember, OrganizationTeamMemberResponse, OrganizationTeamMetadata, Pagination, Permission, PermissionGrantSource, Plugin, RefreshTokenRequest, RefreshTokenResponse, RemoveRolePermissionResponse, RemoveUserRoleResponse, ReplaceRolePermissionResponse, ReplaceRolePermissionsRequest, ReplaceUserRolesRequest, ReplaceUserRolesResponse, RequestEmailChangeRequest, RequestPasswordResetRequest, RevokeSessionRequest, RevokeSessionResponse, Role, RoleDetails, SendEmailVerificationRequest, Session, SignInRequest, SignInResponse, SignOutRequest, SignOutResponse, SignUpRequest, SignUpRequestMetadata, SignUpResponse, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationResponse, UnbanUserResponse, UpdateAccountRequest, UpdateAccountResponse, UpdateApiKeyRequest, UpdateApiKeyRequestMetadata, UpdateApiKeyResponse, UpdateOrganizationMemberRequest, UpdateOrganizationRequest, UpdateOrganizationRequestMetadata, UpdateOrganizationTeamRequest, UpdateOrganizationTeamRequestMetadata, UpdatePermissionRequest, UpdatePermissionResponse, UpdateRoleRequest, UpdateRoleResponse, UpdateUserRequest, UpdateUserRequestMetadata, UpdateUserResponse, UpsertSessionStateRequest, UpsertSessionStateResponse, UpsertUserStateRequest, UpsertUserStateResponse, User, UserAccountsResponse, UserMetadata, UserPermissionInfo, UserRoleInfo, UsersPage, VerifyApiKeyRequest, VerifyApiKeyResponse, VerifyBackupCodeRequest, VerifyBackupCodeResponse, VerifyMagicLinkParams, VerifyTOTPRequest, VerifyTOTPResponse, WellKnownJWKSResponse, createClient };
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var AuthulaClient = class {
|
|
|
19
19
|
afterFetchHooks = [];
|
|
20
20
|
constructor(options) {
|
|
21
21
|
this.plugins = options.plugins || [];
|
|
22
|
-
const { plugins, ...rest } = options;
|
|
22
|
+
const { plugins: _, ...rest } = options;
|
|
23
23
|
this.config = rest;
|
|
24
24
|
for (const plugin of this.plugins) this[plugin.id] = plugin.init(this);
|
|
25
25
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/gen/models/organization-invitation-status.ts","../src/client.ts","../src/sdk.ts"],"sourcesContent":["/**\n * Generated by orval
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/gen/models/organization-invitation-status.ts","../src/client.ts","../src/sdk.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Authula API\n * Authula API - An open-source authentication solution that scales with you.\n * OpenAPI spec version: 0.1.0\n */\n\n/**\n * The type of the invitation status\n */\nexport type OrganizationInvitationStatus =\n (typeof OrganizationInvitationStatus)[keyof typeof OrganizationInvitationStatus];\n\nexport const OrganizationInvitationStatus = {\n pending: \"pending\",\n accepted: \"accepted\",\n rejected: \"rejected\",\n revoked: \"revoked\",\n expired: \"expired\",\n} as const;\n","import { parseCookie } from \"cookie\";\n\nimport type {\n FetchContext,\n AuthulaClientConfig,\n AuthulaClientOptions,\n Plugin,\n BeforeFetchHook,\n AfterFetchHook,\n} from \"./types\";\n\nexport class AuthulaClient {\n public readonly config: AuthulaClientConfig;\n private readonly plugins: Array<Plugin>;\n private readonly beforeFetchHooks: BeforeFetchHook[] = [];\n private readonly afterFetchHooks: AfterFetchHook[] = [];\n\n constructor(options: AuthulaClientOptions) {\n this.plugins = options.plugins || [];\n\n const { plugins: _, ...rest } = options;\n this.config = rest;\n\n for (const plugin of this.plugins) {\n (this as any)[plugin.id] = plugin.init(this);\n }\n }\n\n public registerBeforeFetch(hook: BeforeFetchHook): void {\n this.beforeFetchHooks.push(hook);\n }\n\n public registerAfterFetch(hook: AfterFetchHook): void {\n this.afterFetchHooks.push(hook);\n }\n\n public async runBeforeFetch(ctx: FetchContext): Promise<void> {\n for (const hook of this.beforeFetchHooks) {\n await hook(ctx);\n }\n }\n\n public async runAfterFetch(ctx: FetchContext, res: Response) {\n for (const hook of this.afterFetchHooks) {\n const result = await hook(ctx, res);\n if (result === \"retry\") {\n return \"retry\";\n }\n }\n }\n\n public getPlugin<T extends Plugin>(id: string): T | undefined {\n return this.plugins.find((plugin) => plugin.id === id) as T | undefined;\n }\n\n public async getCookie(name: string): Promise<string | undefined> {\n const all = await this.getAllCookies();\n return all ? all[name] : undefined;\n }\n\n public async getAllCookies(): Promise<Record<string, string | undefined> | undefined> {\n if (this.config.cookies) {\n try {\n const store = await this.config.cookies();\n const all = store.getAll();\n const map: Record<string, string> = {};\n for (const c of all) {\n map[c.name] = c.value;\n }\n return map;\n } catch {\n return undefined;\n }\n }\n\n if (typeof document !== \"undefined\") {\n return parseCookie(document.cookie);\n }\n\n return undefined;\n }\n}\n","import { AuthulaClient } from \"./client\";\nimport type { AuthulaClientOptions, Plugin } from \"./types\";\n\n// Helper to extract plugin methods\nexport type InferPluginMethods<P> = P extends { init: (client: any) => infer M }\n ? M\n : never;\n\nexport type ClientWithPlugins<T extends readonly Plugin[]> = AuthulaClient & {\n [P in T[number] as P[\"id\"]]: InferPluginMethods<P>;\n};\n\nexport function createClient<const T extends readonly Plugin[]>(\n options: Omit<AuthulaClientOptions, \"plugins\"> & { plugins: T },\n): ClientWithPlugins<T> {\n return new AuthulaClient(options as any) as ClientWithPlugins<T>;\n}\n"],"mappings":";;;;AAcA,MAAa,+BAA+B;CAC1C,SAAS;CACT,UAAU;CACV,UAAU;CACV,SAAS;CACT,SAAS;AACX;;;;ACTA,IAAa,gBAAb,MAA2B;CACzB,AAAgB;CAChB,AAAiB;CACjB,AAAiB,mBAAsC,CAAC;CACxD,AAAiB,kBAAoC,CAAC;CAEtD,YAAY,SAA+B;EACzC,KAAK,UAAU,QAAQ,WAAW,CAAC;EAEnC,MAAM,EAAE,SAAS,GAAG,GAAG,SAAS;EAChC,KAAK,SAAS;EAEd,KAAK,MAAM,UAAU,KAAK,SACxB,AAAC,KAAa,OAAO,MAAM,OAAO,KAAK,IAAI;CAE/C;CAEA,AAAO,oBAAoB,MAA6B;EACtD,KAAK,iBAAiB,KAAK,IAAI;CACjC;CAEA,AAAO,mBAAmB,MAA4B;EACpD,KAAK,gBAAgB,KAAK,IAAI;CAChC;CAEA,MAAa,eAAe,KAAkC;EAC5D,KAAK,MAAM,QAAQ,KAAK,kBACtB,MAAM,KAAK,GAAG;CAElB;CAEA,MAAa,cAAc,KAAmB,KAAe;EAC3D,KAAK,MAAM,QAAQ,KAAK,iBAEtB,IAAI,MADiB,KAAK,KAAK,GAAG,MACnB,SACb,OAAO;CAGb;CAEA,AAAO,UAA4B,IAA2B;EAC5D,OAAO,KAAK,QAAQ,MAAM,WAAW,OAAO,OAAO,EAAE;CACvD;CAEA,MAAa,UAAU,MAA2C;EAChE,MAAM,MAAM,MAAM,KAAK,cAAc;EACrC,OAAO,MAAM,IAAI,QAAQ;CAC3B;CAEA,MAAa,gBAAyE;EACpF,IAAI,KAAK,OAAO,SACd,IAAI;GAEF,MAAM,OAAM,MADQ,KAAK,OAAO,QAAQ,EACvB,CAAC,OAAO;GACzB,MAAM,MAA8B,CAAC;GACrC,KAAK,MAAM,KAAK,KACd,IAAI,EAAE,QAAQ,EAAE;GAElB,OAAO;EACT,QAAQ;GACN;EACF;EAGF,IAAI,OAAO,aAAa,aACtB,OAAO,YAAY,SAAS,MAAM;CAItC;AACF;;;;ACrEA,SAAgB,aACd,SACsB;CACtB,OAAO,IAAI,cAAc,OAAc;AACzC"}
|