payload-auth 1.8.4 → 1.9.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.
Files changed (139) hide show
  1. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  2. package/dist/better-auth/adapter/index.js +38 -21
  3. package/dist/better-auth/adapter/transform/index.d.ts +6 -6
  4. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/transform/index.js +160 -52
  6. package/dist/better-auth/generated-types.d.ts +14 -11
  7. package/dist/better-auth/generated-types.d.ts.map +1 -1
  8. package/dist/better-auth/generated-types.js +1 -1
  9. package/dist/better-auth/plugin/constants.d.ts +3 -7
  10. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  11. package/dist/better-auth/plugin/constants.js +5 -9
  12. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  13. package/dist/better-auth/plugin/index.js +8 -12
  14. package/dist/better-auth/plugin/lib/{apply-disabled-default-auth-config.d.ts → apply-ba-admin-config.d.ts} +4 -3
  15. package/dist/better-auth/plugin/lib/apply-ba-admin-config.d.ts.map +1 -0
  16. package/dist/better-auth/plugin/lib/apply-ba-admin-config.js +88 -0
  17. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +7 -12
  18. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  19. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +5 -5
  20. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -1
  21. package/dist/better-auth/plugin/lib/build-collections/device-code.js +8 -3
  22. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  23. package/dist/better-auth/plugin/lib/build-collections/jwks.js +2 -1
  24. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/lib/build-collections/members.js +4 -7
  26. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  27. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +3 -3
  28. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  29. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +4 -4
  30. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  31. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +3 -3
  32. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  33. package/dist/better-auth/plugin/lib/build-collections/organizations.js +10 -5
  34. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  35. package/dist/better-auth/plugin/lib/build-collections/sessions.js +2 -2
  36. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +2 -1
  38. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  39. package/dist/better-auth/plugin/lib/build-collections/teams.js +3 -3
  40. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +2 -2
  41. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
  42. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +10 -2
  43. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
  44. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +36 -2
  45. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +0 -1
  46. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -1
  47. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -2
  48. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +4 -3
  50. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
  51. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +36 -2
  52. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +4 -2
  53. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  54. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +103 -33
  55. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +0 -4
  56. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +1 -5
  58. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  59. package/dist/better-auth/plugin/lib/build-collections/users/index.js +6 -25
  60. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +8 -3
  62. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  63. package/dist/better-auth/plugin/lib/build-collections/verifications.js +3 -3
  64. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  65. package/dist/better-auth/plugin/lib/get-payload-auth.js +4 -1
  66. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +3 -4
  68. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +2 -3
  69. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +7 -49
  71. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  72. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +6 -1
  73. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  74. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +5 -2
  75. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
  76. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +2 -1
  77. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +2 -2
  78. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.d.ts +16 -0
  79. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.d.ts.map +1 -0
  80. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-invite-after-signup-middleware.js +96 -0
  81. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -1
  82. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +2 -2
  83. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -1
  84. package/dist/better-auth/plugin/lib/set-login-methods.js +2 -2
  85. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -1
  86. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +8 -4
  87. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -1
  88. package/dist/better-auth/plugin/payload/components/passkeys/index.js +3 -2
  89. package/dist/better-auth/plugin/payload/utils/resolve-base-url.d.ts +9 -0
  90. package/dist/better-auth/plugin/payload/utils/resolve-base-url.d.ts.map +1 -0
  91. package/dist/better-auth/plugin/payload/utils/resolve-base-url.js +49 -0
  92. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  93. package/dist/better-auth/plugin/payload/views/admin-login/client.js +1 -1
  94. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  95. package/dist/better-auth/plugin/payload/views/admin-login/index.js +3 -2
  96. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  97. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +2 -5
  98. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  99. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +3 -2
  100. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  101. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +4 -3
  102. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  103. package/dist/better-auth/plugin/payload/views/reset-password/index.js +4 -3
  104. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
  105. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +3 -2
  106. package/dist/better-auth/plugin/types.d.ts +13 -56
  107. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  108. package/dist/better-auth/plugin/types.js +1 -1
  109. package/dist/better-auth/scripts/generate-types.js +8 -6
  110. package/package.json +20 -17
  111. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +0 -1
  112. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +0 -87
  113. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +0 -4
  114. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
  115. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +0 -51
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +0 -4
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +0 -1
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +0 -90
  119. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +0 -7
  120. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +0 -1
  121. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +0 -80
  122. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +0 -7
  123. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +0 -1
  124. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +0 -15
  125. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +0 -3
  126. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +0 -1
  127. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +0 -17
  128. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +0 -3
  129. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +0 -1
  130. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +0 -90
  131. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +0 -8
  132. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +0 -1
  133. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +0 -23
  134. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +0 -26
  135. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +0 -1
  136. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +0 -62
  137. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +0 -10
  138. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +0 -1
  139. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +0 -62
@@ -1,27 +1,18 @@
1
- import { BASE_ERROR_CODES } from "@better-auth/core/error";
1
+ import type { BASE_ERROR_CODES } from "@better-auth/core/error";
2
2
  import type { AuthContext } from "better-auth";
3
- import { router } from "better-auth/api";
3
+ import type { router } from "better-auth/api";
4
4
  import type { DBFieldAttribute } from "better-auth/db";
5
- import type { BetterAuthOptions as BetterAuthOptionsType, BetterAuthPlugin as BetterAuthPluginType, InferAPI, InferPluginTypes, InferSession, InferUser } from "better-auth/types";
5
+ import type { BetterAuthOptions as BetterAuthOptionsType, BetterAuthPlugin as BetterAuthPluginType, InferAPI, InferPluginContext, InferPluginTypes, Session, User } from "better-auth/types";
6
6
  import type { BasePayload, CollectionConfig, Config, Endpoint, Field, Payload, PayloadRequest } from "payload";
7
- import { ModelKey } from "../generated-types";
8
- import { adminRoutes, baPluginSlugs, defaults, loginMethods, socialProviders } from "./constants";
7
+ import type { ModelKey } from "../generated-types";
8
+ import type { adminRoutes, baPluginSlugs, defaults, loginMethods, socialProviders } from "./constants";
9
9
  /**
10
10
  * BetterAuth options with the following caveats:
11
11
  * - The `database` option is removed as it is configured internally
12
- * - The `user` `modelName` and `fields` is removed as it is configured internally
13
- * - The `account` `modelName` and `fields` is removed as it is configured internally
14
- * - The `session` `modelName` and `fields` is removed as it is configured internally
15
- * - The `verification` `modelName` and `fields` is removed as it is configured internally
16
12
  *
17
13
  * @see https://www.better-auth.com/docs/reference/options
18
14
  */
19
- export interface BetterAuthOptions extends Omit<BetterAuthOptionsType, "database" | "user" | "account" | "verification" | "session" | "advanced"> {
20
- user?: Omit<NonNullable<BetterAuthOptionsType["user"]>, "modelName" | "fields"> | undefined;
21
- account?: Omit<NonNullable<BetterAuthOptionsType["account"]>, "modelName" | "fields"> | undefined;
22
- session?: Omit<NonNullable<BetterAuthOptionsType["session"]>, "modelName" | "fields"> | undefined;
23
- verification?: Omit<NonNullable<BetterAuthOptionsType["verification"]>, "modelName" | "fields"> | undefined;
24
- advanced?: Omit<NonNullable<BetterAuthOptionsType["advanced"]>, "generateId"> | undefined;
15
+ export interface BetterAuthOptions extends Omit<BetterAuthOptionsType, "database"> {
25
16
  }
26
17
  export interface SanitizedBetterAuthOptions extends Omit<BetterAuthOptionsType, "database"> {
27
18
  }
@@ -39,24 +30,7 @@ export interface PayloadAuthOptions {
39
30
  */
40
31
  disabled?: boolean;
41
32
  /**
42
- * Disable the default payload auth
43
- *
44
- * This will ensure that better-auth handles both admin and frontend auth
45
- *
46
- * Admin will make use of custom admin routes for auth and give you more control
47
- *
48
- * Note: This will override the option passed in the users collection config
49
- *
50
- * Read about this more in the docs
51
- * @see https://www.payloadauth.com/docs/better-auth#disable-default-payload-auth
52
- *
53
- * @default false
54
- */
55
- disableDefaultPayloadAuth?: boolean;
56
- /**
57
- * Custom admin components when disableDefaultPayloadAuth is true
58
- *
59
- * These components will be used to render the login, create first admin, and other auth-related views
33
+ * Custom admin components for Better Auth login, signup, and other auth-related views
60
34
  */
61
35
  admin?: {
62
36
  /**
@@ -82,7 +56,7 @@ export interface PayloadAuthOptions {
82
56
  logTables?: boolean;
83
57
  };
84
58
  /**
85
- * Hide the better-authplugin collections from the payload admin UI
59
+ * Hide the better-auth plugin collections from the payload admin UI
86
60
  * @default false
87
61
  */
88
62
  hidePluginCollections?: boolean;
@@ -110,10 +84,6 @@ export interface PayloadAuthOptions {
110
84
  /**
111
85
  * BetterAuth options with the following caveats:
112
86
  * - The `database` option is removed as it is configured internally
113
- * - The `user` `modelName` and `fields` is removed as it is configured internally
114
- * - The `account` `modelName` and `fields` is removed as it is configured internally
115
- * - The `session` `modelName` and `fields` is removed as it is configured internally
116
- * - The `verification` `modelName` and `fields` is removed as it is configured internally
117
87
  *
118
88
  * @see https://www.better-auth.com/docs/reference/options
119
89
  */
@@ -213,13 +183,6 @@ export interface PayloadAuthOptions {
213
183
  collectionOverrides?: (options: {
214
184
  collection: CollectionConfig;
215
185
  }) => CollectionConfig;
216
- /**
217
- * This will block the first on sign up verification email from better-auth.
218
- * If you are using Payload's userCollection.verify option, you will want to set this to true.
219
- * Function that will be blocked: options.emailVerificationsendVerificationEmail
220
- * @default false
221
- */
222
- blockFirstBetterAuthVerificationEmail?: boolean;
223
186
  };
224
187
  /**
225
188
  * Configure the Accounts collections:
@@ -384,10 +347,7 @@ export type EndpointWithBetterAuth<O extends PayloadAuthOptions> = Omit<Endpoint
384
347
  handler: (req: PayloadRequestWithBetterAuth<O>) => Promise<Response> | Response;
385
348
  };
386
349
  type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
387
- type PrettifyDeep<T> = {
388
- [K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : T[K] extends object ? T[K] extends Array<any> ? T[K] : T[K] extends Date ? T[K] : PrettifyDeep<T[K]> : T[K];
389
- } & {};
390
- type InferPluginErrorCodes<O extends BetterAuthOptions> = O["plugins"] extends Array<infer P> ? UnionToIntersection<P extends BetterAuthPluginType ? P["$ERROR_CODES"] extends Record<string, any> ? P["$ERROR_CODES"] : never : never> extends infer R ? [R] extends [never] ? {} : R : {} : {};
350
+ type InferPluginErrorCodes<O extends BetterAuthOptions> = O["plugins"] extends Array<infer P> ? UnionToIntersection<P extends BetterAuthPluginType ? P["$ERROR_CODES"] extends Record<string, any> ? P["$ERROR_CODES"] : {} : {}> : {};
391
351
  export type RoleArray<O extends readonly string[] = readonly [typeof defaults.userRole]> = O[number][] | null;
392
352
  type OverrideRole<T, O extends readonly string[]> = T extends object ? Omit<T, "role"> & {
393
353
  role: RoleArray<O>;
@@ -398,19 +358,18 @@ type ExtractRoles<O> = O extends {
398
358
  roles?: infer R;
399
359
  };
400
360
  } ? R extends readonly string[] ? R : readonly [] : readonly [typeof defaults.userRole];
401
- type BaseErrorCodes = typeof BASE_ERROR_CODES;
402
361
  export type BetterAuthReturn<O extends PayloadAuthOptions = PayloadAuthOptions> = {
403
362
  handler: (request: Request) => Promise<Response>;
404
363
  api: InferAPI<ReturnType<typeof router<ExtractBA<O>>>>["endpoints"];
405
364
  options: ExtractBA<O>;
406
- $ERROR_CODES: InferPluginErrorCodes<ExtractBA<O>> & BaseErrorCodes;
407
- $context: Promise<AuthContext>;
365
+ $ERROR_CODES: InferPluginErrorCodes<ExtractBA<O>> & typeof BASE_ERROR_CODES;
366
+ $context: Promise<AuthContext<ExtractBA<O>>> & InferPluginContext<ExtractBA<O>>;
408
367
  $Infer: InferPluginTypes<ExtractBA<O>> extends {
409
368
  Session: any;
410
369
  } ? InferPluginTypes<ExtractBA<O>> : {
411
370
  Session: {
412
- session: PrettifyDeep<InferSession<ExtractBA<O>>>;
413
- user: OverrideRole<PrettifyDeep<InferUser<ExtractBA<O>>>, ExtractRoles<O>>;
371
+ session: Session<ExtractBA<O>["session"], ExtractBA<O>["plugins"]>;
372
+ user: OverrideRole<User<ExtractBA<O>["user"], ExtractBA<O>["plugins"]>, ExtractRoles<O>>;
414
373
  };
415
374
  } & InferPluginTypes<ExtractBA<O>>;
416
375
  };
@@ -431,8 +390,6 @@ export interface BuildCollectionProps {
431
390
  }
432
391
  export type FieldOverrides<K extends string = string> = {
433
392
  [Key in K]?: (field: DBFieldAttribute) => Partial<Field>;
434
- } & {
435
- [key: string]: (field: DBFieldAttribute) => Partial<Field>;
436
393
  };
437
394
  export type FieldWithIds = {
438
395
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkFTRV9FUlJPUl9DT0RFUyB9IGZyb20gXCJAYmV0dGVyLWF1dGgvY29yZS9lcnJvclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRoQ29udGV4dCB9IGZyb20gXCJiZXR0ZXItYXV0aFwiO1xuaW1wb3J0IHsgcm91dGVyIH0gZnJvbSBcImJldHRlci1hdXRoL2FwaVwiO1xuaW1wb3J0IHR5cGUgeyBEQkZpZWxkQXR0cmlidXRlIH0gZnJvbSBcImJldHRlci1hdXRoL2RiXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJldHRlckF1dGhPcHRpb25zIGFzIEJldHRlckF1dGhPcHRpb25zVHlwZSxcbiAgQmV0dGVyQXV0aFBsdWdpbiBhcyBCZXR0ZXJBdXRoUGx1Z2luVHlwZSxcbiAgSW5mZXJBUEksXG4gIEluZmVyUGx1Z2luVHlwZXMsXG4gIEluZmVyU2Vzc2lvbixcbiAgSW5mZXJVc2VyXG59IGZyb20gXCJiZXR0ZXItYXV0aC90eXBlc1wiO1xuaW1wb3J0IHR5cGUge1xuICBCYXNlUGF5bG9hZCxcbiAgQ29sbGVjdGlvbkNvbmZpZyxcbiAgQ29uZmlnLFxuICBFbmRwb2ludCxcbiAgRmllbGQsXG4gIFBheWxvYWQsXG4gIFBheWxvYWRSZXF1ZXN0XG59IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyBNb2RlbEtleSB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB7XG4gIGFkbWluUm91dGVzLFxuICBiYVBsdWdpblNsdWdzLFxuICBkZWZhdWx0cyxcbiAgbG9naW5NZXRob2RzLFxuICBzb2NpYWxQcm92aWRlcnNcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG4vKipcbiAqIEJldHRlckF1dGggb3B0aW9ucyB3aXRoIHRoZSBmb2xsb3dpbmcgY2F2ZWF0czpcbiAqIC0gVGhlIGBkYXRhYmFzZWAgb3B0aW9uIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gKiAtIFRoZSBgdXNlcmAgYG1vZGVsTmFtZWAgYW5kIGBmaWVsZHNgIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gKiAtIFRoZSBgYWNjb3VudGAgYG1vZGVsTmFtZWAgYW5kIGBmaWVsZHNgIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gKiAtIFRoZSBgc2Vzc2lvbmAgYG1vZGVsTmFtZWAgYW5kIGBmaWVsZHNgIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gKiAtIFRoZSBgdmVyaWZpY2F0aW9uYCBgbW9kZWxOYW1lYCBhbmQgYGZpZWxkc2AgaXMgcmVtb3ZlZCBhcyBpdCBpcyBjb25maWd1cmVkIGludGVybmFsbHlcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3JlZmVyZW5jZS9vcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmV0dGVyQXV0aE9wdGlvbnNcbiAgZXh0ZW5kcyBPbWl0PFxuICAgIEJldHRlckF1dGhPcHRpb25zVHlwZSxcbiAgICBcImRhdGFiYXNlXCIgfCBcInVzZXJcIiB8IFwiYWNjb3VudFwiIHwgXCJ2ZXJpZmljYXRpb25cIiB8IFwic2Vzc2lvblwiIHwgXCJhZHZhbmNlZFwiXG4gID4ge1xuICB1c2VyPzpcbiAgICB8IE9taXQ8Tm9uTnVsbGFibGU8QmV0dGVyQXV0aE9wdGlvbnNUeXBlW1widXNlclwiXT4sIFwibW9kZWxOYW1lXCIgfCBcImZpZWxkc1wiPlxuICAgIHwgdW5kZWZpbmVkO1xuICBhY2NvdW50PzpcbiAgICB8IE9taXQ8XG4gICAgICAgIE5vbk51bGxhYmxlPEJldHRlckF1dGhPcHRpb25zVHlwZVtcImFjY291bnRcIl0+LFxuICAgICAgICBcIm1vZGVsTmFtZVwiIHwgXCJmaWVsZHNcIlxuICAgICAgPlxuICAgIHwgdW5kZWZpbmVkO1xuICBzZXNzaW9uPzpcbiAgICB8IE9taXQ8XG4gICAgICAgIE5vbk51bGxhYmxlPEJldHRlckF1dGhPcHRpb25zVHlwZVtcInNlc3Npb25cIl0+LFxuICAgICAgICBcIm1vZGVsTmFtZVwiIHwgXCJmaWVsZHNcIlxuICAgICAgPlxuICAgIHwgdW5kZWZpbmVkO1xuICB2ZXJpZmljYXRpb24/OlxuICAgIHwgT21pdDxcbiAgICAgICAgTm9uTnVsbGFibGU8QmV0dGVyQXV0aE9wdGlvbnNUeXBlW1widmVyaWZpY2F0aW9uXCJdPixcbiAgICAgICAgXCJtb2RlbE5hbWVcIiB8IFwiZmllbGRzXCJcbiAgICAgID5cbiAgICB8IHVuZGVmaW5lZDtcbiAgYWR2YW5jZWQ/OlxuICAgIHwgT21pdDxOb25OdWxsYWJsZTxCZXR0ZXJBdXRoT3B0aW9uc1R5cGVbXCJhZHZhbmNlZFwiXT4sIFwiZ2VuZXJhdGVJZFwiPlxuICAgIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG4gIGV4dGVuZHMgT21pdDxCZXR0ZXJBdXRoT3B0aW9uc1R5cGUsIFwiZGF0YWJhc2VcIj4ge31cblxuZXhwb3J0IHR5cGUgU29jaWFsUHJvdmlkZXIgPSAodHlwZW9mIHNvY2lhbFByb3ZpZGVycylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgTG9naW5NZXRob2QgPSAodHlwZW9mIGxvZ2luTWV0aG9kcylbbnVtYmVyXTtcblxudHlwZSBQbHVnaW5Db2xsZWN0aW9uT3ZlcnJpZGVzID0ge1xuICBbSyBpbiBrZXlvZiB0eXBlb2YgYmFQbHVnaW5TbHVnc10/OiAob3B0aW9uczoge1xuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWc7XG4gIH0pID0+IENvbGxlY3Rpb25Db25maWc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRBdXRoT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEaXNhYmxlIHRoZSBwbHVnaW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGUgdGhlIGRlZmF1bHQgcGF5bG9hZCBhdXRoXG4gICAqXG4gICAqIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCBiZXR0ZXItYXV0aCBoYW5kbGVzIGJvdGggYWRtaW4gYW5kIGZyb250ZW5kIGF1dGhcbiAgICpcbiAgICogQWRtaW4gd2lsbCBtYWtlIHVzZSBvZiBjdXN0b20gYWRtaW4gcm91dGVzIGZvciBhdXRoIGFuZCBnaXZlIHlvdSBtb3JlIGNvbnRyb2xcbiAgICpcbiAgICogTm90ZTogVGhpcyB3aWxsIG92ZXJyaWRlIHRoZSBvcHRpb24gcGFzc2VkIGluIHRoZSB1c2VycyBjb2xsZWN0aW9uIGNvbmZpZ1xuICAgKlxuICAgKiBSZWFkIGFib3V0IHRoaXMgbW9yZSBpbiB0aGUgZG9jc1xuICAgKiBAc2VlIGh0dHBzOi8vd3d3LnBheWxvYWRhdXRoLmNvbS9kb2NzL2JldHRlci1hdXRoI2Rpc2FibGUtZGVmYXVsdC1wYXlsb2FkLWF1dGhcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGg/OiBib29sZWFuO1xuICAvKipcbiAgICogQ3VzdG9tIGFkbWluIGNvbXBvbmVudHMgd2hlbiBkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIGlzIHRydWVcbiAgICpcbiAgICogVGhlc2UgY29tcG9uZW50cyB3aWxsIGJlIHVzZWQgdG8gcmVuZGVyIHRoZSBsb2dpbiwgY3JlYXRlIGZpcnN0IGFkbWluLCBhbmQgb3RoZXIgYXV0aC1yZWxhdGVkIHZpZXdzXG4gICAqL1xuICBhZG1pbj86IHtcbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSB3aGljaCBzb2NpYWwgYnV0dG9ucyBhcmUgc2hvd24gaW4gdGhlIFBheWxvYWQgTG9naW4gLyBTaWduIFVwIHZpZXcuXG4gICAgICpcbiAgICAgKiBQcm92aWRlIGFuIGFycmF5IG9mIExvZ2luTWV0aG9kIGtleXMuXG4gICAgICovXG4gICAgbG9naW5NZXRob2RzPzogTG9naW5NZXRob2RbXTtcbiAgfTtcbiAgLyoqXG4gICAqIERlYnVnIG9wdGlvbnNcbiAgICovXG4gIGRlYnVnPzoge1xuICAgIC8qKlxuICAgICAqIEVuYWJsZSBkZWJ1ZyBsb2dzXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBlbmFibGVEZWJ1Z0xvZ3M/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIExvZyB0aGUgdGFibGVzIHRoYXQgYXJlIG5lZWRlZCBmb3IgYmV0dGVyLWF1dGggb24gaW5pdFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgbG9nVGFibGVzPzogYm9vbGVhbjtcbiAgfTtcbiAgLyoqXG4gICAqIEhpZGUgdGhlIGJldHRlci1hdXRocGx1Z2luIGNvbGxlY3Rpb25zIGZyb20gdGhlIHBheWxvYWQgYWRtaW4gVUlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGhpZGVQbHVnaW5Db2xsZWN0aW9ucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBhZG1pbiBncm91cCBmb3IgY29sbGVjdGlvbnMuXG4gICAqIEBkZWZhdWx0IFwiQXV0aFwiXG4gICAqL1xuICBjb2xsZWN0aW9uQWRtaW5Hcm91cD86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmUgYSB2YWxpZCBhZG1pbiBpbnZpdGF0aW9uIGZvciBhbnkgKnB1YmxpYyogc2lnbuKAkXVwLlxuICAgKlxuICAgKiDigJMgQXBwbGllcyB0byBib3RoIGVtYWlsL3Bhc3N3b3JkIGFuZCBzb2NpYWzigJFwcm92aWRlciBmbG93cy5cbiAgICog4oCTIEV4aXN0aW5nIHVzZXJzIGNhbiBzdGlsbCBzaWduIGluOyBhZG1pbnMgY2FuIHN0aWxsIGNyZWF0ZSB1c2VycyB2aWFcbiAgICogICB0aGUgUGF5bG9hZCBVSSBvciBzZXJ2ZXLigJFzaWRlIGNhbGxzLlxuICAgKiDigJMgSWdub3JlcyBwcm92aWRlcuKAkWxldmVsIGBkaXNhYmxlSW1wbGljaXRTaWduVXBgIGFuZCBgZGlzYWJsZVNpZ25VcGA6XG4gICAqICAgd2l0aCBhIHZhbGlkIGludml0ZSB0aGUgc2lnbuKAkXVwIHByb2NlZWRzLCB3aXRob3V0IG9uZSBpdCdzIGJsb2NrZWQuXG4gICAqIOKAkyBBbHNvIHNldHMgYGRpc2FibGVJbXBsaWNpdFNpZ25VcGAgZm9yIGFsbCBwcm92aWRlcnMsIHJlcXVpcmluZyBgcmVxdWVzdFNpZ25VcGAgdG8gYmUgdHJ1ZSBmb3IgYWxsIGBhdXRoQ2xpZW50LnNpZ25Jbi5zb2NpYWxgIGNhbGxzIHdoZW4gY3JlYXRpbmcgYSBuZXcgYWNjb3VudCB3aXRoIGEgcHJvdmlkZXIuXG4gICAqXG4gICAqIEVuYWJsZSB3aGVuIHlvdSB3YW50IE9BdXRoIGZvciBpbnRlcm5hbC9hZG1pbiB1c2Ugb25seSBhbmQgbm8gcHVibGljXG4gICAqIHJlZ2lzdHJhdGlvbnMgYXQgYWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVxdWlyZUFkbWluSW52aXRlRm9yU2lnblVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJldHRlckF1dGggb3B0aW9ucyB3aXRoIHRoZSBmb2xsb3dpbmcgY2F2ZWF0czpcbiAgICogLSBUaGUgYGRhdGFiYXNlYCBvcHRpb24gaXMgcmVtb3ZlZCBhcyBpdCBpcyBjb25maWd1cmVkIGludGVybmFsbHlcbiAgICogLSBUaGUgYHVzZXJgIGBtb2RlbE5hbWVgIGFuZCBgZmllbGRzYCBpcyByZW1vdmVkIGFzIGl0IGlzIGNvbmZpZ3VyZWQgaW50ZXJuYWxseVxuICAgKiAtIFRoZSBgYWNjb3VudGAgYG1vZGVsTmFtZWAgYW5kIGBmaWVsZHNgIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gICAqIC0gVGhlIGBzZXNzaW9uYCBgbW9kZWxOYW1lYCBhbmQgYGZpZWxkc2AgaXMgcmVtb3ZlZCBhcyBpdCBpcyBjb25maWd1cmVkIGludGVybmFsbHlcbiAgICogLSBUaGUgYHZlcmlmaWNhdGlvbmAgYG1vZGVsTmFtZWAgYW5kIGBmaWVsZHNgIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93d3cuYmV0dGVyLWF1dGguY29tL2RvY3MvcmVmZXJlbmNlL29wdGlvbnNcbiAgICovXG4gIGJldHRlckF1dGhPcHRpb25zPzogQmV0dGVyQXV0aE9wdGlvbnM7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBwbHVnaW4gY29uZmlndXJhdGlvbnNcbiAgICpcbiAgICogTm90ZTogVHlwZVNjcmlwdCBjYW5ub3QgZW5mb3JjZSB0aGF0IG9ubHkgZW5hYmxlZCBwbHVnaW5zIGFyZSBjb25maWd1cmVkXG4gICAqIGF0IGNvbXBpbGUgdGltZSwgYnV0IHRoaXMgd2lsbCBiZSB2YWxpZGF0ZWQgYXQgcnVudGltZS5cbiAgICovXG4gIHBsdWdpbkNvbGxlY3Rpb25PdmVycmlkZXM/OiBQbHVnaW5Db2xsZWN0aW9uT3ZlcnJpZGVzO1xuICAvKipcbiAgICogQ29uZmlndXJlIHRoZSBVc2VycyBjb2xsZWN0aW9uczpcbiAgICovXG4gIHVzZXJzPzoge1xuICAgIC8qKlxuICAgICAqIFdpbGwgc2V0IHRoZSBgbW9kZWxOYW1lYCBmb3IgdGhlIGB1c2VyYCB0YWJsZSBpbiBiZXR0ZXItYXV0aFxuICAgICAqXG4gICAgICogYW5kIHRoZSBgc2x1Z2AgZm9yIHRoZSBgdXNlcnNgIGNvbGxlY3Rpb24gaW4gcGF5bG9hZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ3VzZXJzJ1xuICAgICAqL1xuICAgIHNsdWc/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgcm9sZSBmb3IgdXNlcnNcbiAgICAgKlxuICAgICAqIFRoaXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHJvbGUgZm9yIHRoZSByb2xlIGZpZWxkIGluIHRoZSB1c2VycyBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBJZiB5b3UgZGVmaW5lIHRoaXMgeW91IG11c3QgYWxzbyBoYXZlIHRoaXMgcm9sZSBpbiB0aGUgcm9sZXMgYXJyYXlcbiAgICAgKlxuICAgICAqIFRoaXMgd2lsbCBhbHNvIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHRSb2xlIG9wdGlvbiBpbiB0aGUgYmV0dGVyLWF1dGggYWRtaW4gcGx1Z2luIGlmIHByZXNlbnRcbiAgICAgKiBAc2VlIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3BsdWdpbnMvYWRtaW4jZGVmYXVsdC1yb2xlXG4gICAgICogQGRlZmF1bHQgXCJ1c2VyXCJcbiAgICAgKi9cbiAgICBkZWZhdWx0Um9sZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCByb2xlIGZvciBhZG1pbnNcbiAgICAgKlxuICAgICAqIFRoaXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHJvbGUgZm9yIHdoZW4gYWRtaW5zIHNpZ24gdXAgaW4gdGhlIGNyZWF0ZSBmaXJzdCBhZG1pbiB2aWV3IG9yIHdoZW4gaW52aXRpbmcgbmV3IGFkbWluc1xuICAgICAqXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImFkbWluXCJcbiAgICAgKi9cbiAgICBkZWZhdWx0QWRtaW5Sb2xlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEFsbCByb2xlcyBmb3IgdGhlIHVzZXJzIGNvbGxlY3Rpb25cbiAgICAgKlxuICAgICAqIFRoZXNlIHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgYWxsIHRoZSBvcHRpb25zIGluIHRoZSB1c2VyIGNvbGxlY3Rpb24gcm9sZSBmaWVsZFxuICAgICAqXG4gICAgICogV2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgYWRtaW5Sb2xlcyBhcnJheSwgbm8gbmVlZCB0byB3b3JyeSBhYm91dCByZWRlZmluaW5nIGluIGFkbWluUm9sZXMgb3IgZHVwbGljYXRlc1xuICAgICAqXG4gICAgICogVGhpcyBzaG91bGQgbWF0Y2ggdGhlIHJvbGVzIGluIHRoZSBiZXR0ZXItYXV0aCBhZG1pbiBwbHVnaW4gaWYgeW91IGFyZSB1c2luZyBpdFxuICAgICAqIEBzZWUgaHR0cHM6Ly93d3cuYmV0dGVyLWF1dGguY29tL2RvY3MvcGx1Z2lucy9hZG1pbiNhY2Nlc3MtY29udHJvbFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW1widXNlclwiXVxuICAgICAqL1xuICAgIHJvbGVzPzogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogRGVmaW5lIGFkbWluIHJvbGVzIGZvciB0aGUgdXNlcnMgY29sbGVjdGlvblxuICAgICAqXG4gICAgICogVGhlc2Ugcm9sZXMgd2lsbCBiZSBnaXZlbiBhZG1pbiBhY2Nlc3MgdG8gYWxsIGF1dGggY29sbGVjdGlvbnMgY3JlYXRlZCBieSB0aGlzIHBsdWdpblxuICAgICAqXG4gICAgICogTm90ZTogV2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgcm9sZXMgYXJyYXksIG5vIG5lZWQgdG8gd29ycnkgYWJvdXQgcmVkZWZpbmluZyBpbiByb2xlcyBvciBkdXBsaWNhdGVzXG4gICAgICpcbiAgICAgKiBXaWxsIGJlIGFsc28gdXNlZCBhcyB0aGUgYWRtaW5Sb2xlcyBvcHRpb24gaW4gdGhlIGJldHRlci1hdXRoIGFkbWluIHBsdWdpbiBpZiBwcmVzZW50XG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3BsdWdpbnMvYWRtaW4jYWRtaW4tcm9sZXNcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFtcImFkbWluXCJdXG4gICAgICovXG4gICAgYWRtaW5Sb2xlcz86IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGB1c2Vyc2AgY29sbGVjdGlvbiBmcm9tIHRoZSBwYXlsb2FkIGFkbWluIFVJXG4gICAgICpcbiAgICAgKiBUaGlzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gaWYgeW91IGNoYW5nZSB0aGUgdmFsdWUgaW4gdGhlIGNvbGxlY3Rpb24gb3ZlcnJpZGVzIG9wdGlvblxuICAgICAqL1xuICAgIGhpZGRlbj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lIHdoaWNoIGZpZWxkcyB1c2VycyBjYW4gdXBkYXRlIHRoZW1zZWx2ZXNcbiAgICAgKlxuICAgICAqIFBhc3N3b3JkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgaW5jbHVkZWQgYW5kIGRvZXNuJ3QgbmVlZCB0byBiZSBzcGVjaWZpZWQgaGVyZVxuICAgICAqXG4gICAgICogQGV4YW1wbGUgWyduYW1lJywgJ2RhdGVPZkJpcnRoJywgJ3Bob25lTnVtYmVyJ11cbiAgICAgKiBAZGVmYXVsdCBbJ25hbWUnXVxuICAgICAqL1xuICAgIGFsbG93ZWRGaWVsZHM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvdmVycmlkZSB0aGUgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBUaGlzIGFsbG93cyBtb2RpZnlpbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFmdGVyIGl0IGhhcyBiZWVuIGJ1aWx0XG4gICAgICogRXhhbXBsZSB1c2UgY2FzZXMgaW5jbHVkZSBhZGRpbmcgc2F2ZVRvSnd0IHRvIHNwZWNpZmljIGZpZWxkcyBvclxuICAgICAqIG1vZGlmeWluZyBmaWVsZCBkZXNjcmlwdGlvbnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9iamVjdCBjb250YWluaW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhbmQgcG90ZW50aWFsbHkgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgTW9kaWZpZWQgY29sbGVjdGlvbiBjb25maWdcbiAgICAgKi9cbiAgICBjb2xsZWN0aW9uT3ZlcnJpZGVzPzogKG9wdGlvbnM6IHtcbiAgICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWc7XG4gICAgfSkgPT4gQ29sbGVjdGlvbkNvbmZpZztcbiAgICAvKipcbiAgICAgKiBUaGlzIHdpbGwgYmxvY2sgdGhlIGZpcnN0IG9uIHNpZ24gdXAgdmVyaWZpY2F0aW9uIGVtYWlsIGZyb20gYmV0dGVyLWF1dGguXG4gICAgICogSWYgeW91IGFyZSB1c2luZyBQYXlsb2FkJ3MgdXNlckNvbGxlY3Rpb24udmVyaWZ5IG9wdGlvbiwgeW91IHdpbGwgd2FudCB0byBzZXQgdGhpcyB0byB0cnVlLlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBibG9ja2VkOiBvcHRpb25zLmVtYWlsVmVyaWZpY2F0aW9uc2VuZFZlcmlmaWNhdGlvbkVtYWlsXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBibG9ja0ZpcnN0QmV0dGVyQXV0aFZlcmlmaWNhdGlvbkVtYWlsPzogYm9vbGVhbjtcbiAgfTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgQWNjb3VudHMgY29sbGVjdGlvbnM6XG4gICAqL1xuICBhY2NvdW50cz86IHtcbiAgICAvKipcbiAgICAgKiBXaWxsIHNldCB0aGUgYG1vZGVsTmFtZWAgZm9yIHRoZSBgYWNjb3VudGAgdGFibGUgaW4gYmV0dGVyLWF1dGhcbiAgICAgKlxuICAgICAqIGFuZCB0aGUgYHNsdWdgIGZvciB0aGUgYGFjY291bnRzYCBjb2xsZWN0aW9uIGluIHBheWxvYWRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdhY2NvdW50cydcbiAgICAgKi9cbiAgICBzbHVnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGBhY2NvdW50c2AgY29sbGVjdGlvbiBmcm9tIHRoZSBwYXlsb2FkIGFkbWluIFVJXG4gICAgICovXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvdmVycmlkZSB0aGUgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBUaGlzIGFsbG93cyBtb2RpZnlpbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFmdGVyIGl0IGhhcyBiZWVuIGJ1aWx0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPYmplY3QgY29udGFpbmluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYW5kIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgICAqIEByZXR1cm5zIE1vZGlmaWVkIGNvbGxlY3Rpb24gY29uZmlnXG4gICAgICovXG4gICAgY29sbGVjdGlvbk92ZXJyaWRlcz86IChvcHRpb25zOiB7XG4gICAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnO1xuICAgIH0pID0+IENvbGxlY3Rpb25Db25maWc7XG4gIH07XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIFNlc3Npb25zIGNvbGxlY3Rpb25zOlxuICAgKi9cbiAgc2Vzc2lvbnM/OiB7XG4gICAgLyoqXG4gICAgICogV2lsbCBzZXQgdGhlIGBtb2RlbE5hbWVgIGZvciB0aGUgYHNlc3Npb25gIHRhYmxlIGluIGJldHRlci1hdXRoXG4gICAgICpcbiAgICAgKiBhbmQgdGhlIGBzbHVnYCBmb3IgdGhlIGBzZXNzaW9uc2AgY29sbGVjdGlvbiBpbiBwYXlsb2FkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnc2Vzc2lvbnMnXG4gICAgICovXG4gICAgc2x1Zz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBgc2Vzc2lvbnNgIGNvbGxlY3Rpb24gZnJvbSB0aGUgcGF5bG9hZCBhZG1pbiBVSVxuICAgICAqL1xuICAgIGhpZGRlbj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gb3ZlcnJpZGUgdGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBhbGxvd3MgbW9kaWZ5aW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhZnRlciBpdCBoYXMgYmVlbiBidWlsdFxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFuZCBwb3RlbnRpYWxseSBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJucyBNb2RpZmllZCBjb2xsZWN0aW9uIGNvbmZpZ1xuICAgICAqL1xuICAgIGNvbGxlY3Rpb25PdmVycmlkZXM/OiAob3B0aW9uczoge1xuICAgICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZztcbiAgICB9KSA9PiBDb2xsZWN0aW9uQ29uZmlnO1xuICB9O1xuICAvKipcbiAgICogQ29uZmlndXJlIHRoZSBWZXJpZmljYXRpb25zIGNvbGxlY3Rpb25zOlxuICAgKi9cbiAgdmVyaWZpY2F0aW9ucz86IHtcbiAgICAvKipcbiAgICAgKiBXaWxsIHNldCB0aGUgYG1vZGVsTmFtZWAgZm9yIHRoZSBgdmVyaWZpY2F0aW9uYCB0YWJsZSBpbiBiZXR0ZXItYXV0aFxuICAgICAqXG4gICAgICogYW5kIHRoZSBgc2x1Z2AgZm9yIHRoZSBgdmVyaWZpY2F0aW9uc2AgY29sbGVjdGlvbiBpbiBwYXlsb2FkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAndmVyaWZpY2F0aW9ucydcbiAgICAgKi9cbiAgICBzbHVnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGB2ZXJpZmljYXRpb25zYCBjb2xsZWN0aW9uIGZyb20gdGhlIHBheWxvYWQgYWRtaW4gVUlcbiAgICAgKi9cbiAgICBoaWRkZW4/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIG92ZXJyaWRlIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIFRoaXMgYWxsb3dzIG1vZGlmeWluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYWZ0ZXIgaXQgaGFzIGJlZW4gYnVpbHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9iamVjdCBjb250YWluaW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhbmQgcG90ZW50aWFsbHkgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgTW9kaWZpZWQgY29sbGVjdGlvbiBjb25maWdcbiAgICAgKi9cbiAgICBjb2xsZWN0aW9uT3ZlcnJpZGVzPzogKG9wdGlvbnM6IHtcbiAgICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWc7XG4gICAgfSkgPT4gQ29sbGVjdGlvbkNvbmZpZztcbiAgfTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgQWRtaW4gSW52aXRhdGlvbnMgY29sbGVjdGlvbnM6XG4gICAqL1xuICBhZG1pbkludml0YXRpb25zPzoge1xuICAgIC8qKlxuICAgICAqIFdpbGwgc2V0IHRoZSBgc2x1Z2AgZm9yIHRoZSBgYWRtaW4taW52aXRhdGlvbnNgIGNvbGxlY3Rpb24gaW4gcGF5bG9hZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ2FkbWluLWludml0YXRpb25zJ1xuICAgICAqL1xuICAgIHNsdWc/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgYGFkbWluLWludml0YXRpb25zYCBjb2xsZWN0aW9uIGZyb20gdGhlIHBheWxvYWQgYWRtaW4gVUlcbiAgICAgKi9cbiAgICBoaWRkZW4/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBhZG1pbiBpbnZpdGUgdXJsXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPYmplY3QgY29udGFpbmluZyBwYXlsb2FkIGFuZCB0aGUgdG9rZW5cbiAgICAgKiBAcmV0dXJucyBUaGUgYWRtaW4gaW52aXRlIHVybFxuICAgICAqL1xuICAgIGdlbmVyYXRlSW52aXRlVXJsPzogR2VuZXJhdGVBZG1pbkludml0ZVVybEZuO1xuICAgIC8qKlxuICAgICAqIFRoaXMgd2lsbCBiZSB1c2VkIHRvIHNlbmQgdGhlIGFkbWluIGludml0ZSBlbWFpbFxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT2JqZWN0IGNvbnRhaW5pbmcgcGF5bG9hZCwgZW1haWwgYW5kIHRoZSB1cmxcbiAgICAgKiBAcmV0dXJucyBUaGUgYWRtaW4gaW52aXRlIHVybFxuICAgICAqL1xuICAgIHNlbmRJbnZpdGVFbWFpbD86IFNlbmRBZG1pbkludml0ZUVtYWlsRm47XG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gb3ZlcnJpZGUgdGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBhbGxvd3MgbW9kaWZ5aW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhZnRlciBpdCBoYXMgYmVlbiBidWlsdFxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFuZCBwb3RlbnRpYWxseSBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJucyBNb2RpZmllZCBjb2xsZWN0aW9uIGNvbmZpZ1xuICAgICAqL1xuICAgIGNvbGxlY3Rpb25PdmVycmlkZXM/OiAob3B0aW9uczoge1xuICAgICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZztcbiAgICB9KSA9PiBDb2xsZWN0aW9uQ29uZmlnO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBTZW5kQWRtaW5JbnZpdGVFbWFpbEZuID0gKG9wdGlvbnM6IHtcbiAgcGF5bG9hZDogUGF5bG9hZDtcbiAgZW1haWw6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59KSA9PiBQcm9taXNlPFxuICB7IHN1Y2Nlc3M6IHRydWU7IG1lc3NhZ2U/OiBzdHJpbmcgfSB8IHsgc3VjY2VzczogZmFsc2U7IG1lc3NhZ2U6IHN0cmluZyB9XG4+O1xuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZUFkbWluSW52aXRlVXJsRm4gPSAob3B0aW9uczoge1xuICBwYXlsb2FkOiBQYXlsb2FkO1xuICB0b2tlbjogc3RyaW5nO1xufSkgPT4gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBDb25maWdBZG1pbkN1c3RvbSA9IHtcbiAgYmV0dGVyQXV0aDoge1xuICAgIGFkbWluUm91dGVzOiB7XG4gICAgICBba2V5IGluIGtleW9mIHR5cGVvZiBhZG1pblJvdXRlc106IHN0cmluZztcbiAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCZXR0ZXJBdXRoUGx1Z2luIHtcbiAgKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnO1xuICBwbHVnaW5PcHRpb25zOiBQYXlsb2FkQXV0aE9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZFJlcXVlc3RXaXRoQmV0dGVyQXV0aDxPIGV4dGVuZHMgUGF5bG9hZEF1dGhPcHRpb25zPlxuICBleHRlbmRzIFBheWxvYWRSZXF1ZXN0IHtcbiAgcGF5bG9hZDogQmFzZVBheWxvYWQgJiB7XG4gICAgYmV0dGVyQXV0aDogQmV0dGVyQXV0aFJldHVybjxPPjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkhvb2tXaXRoQmV0dGVyQXV0aDxcbiAgTyBleHRlbmRzIFBheWxvYWRBdXRoT3B0aW9ucyxcbiAgVCBleHRlbmRzIChhcmdzOiBhbnkpID0+IGFueVxuPiA9IFQgZXh0ZW5kcyAoYXJnczogaW5mZXIgQSkgPT4gaW5mZXIgUlxuICA/IChhcmdzOiBPbWl0PEEsIFwicmVxXCI+ICYgeyByZXE6IFBheWxvYWRSZXF1ZXN0V2l0aEJldHRlckF1dGg8Tz4gfSkgPT4gUlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBFbmRwb2ludFdpdGhCZXR0ZXJBdXRoPE8gZXh0ZW5kcyBQYXlsb2FkQXV0aE9wdGlvbnM+ID0gT21pdDxcbiAgRW5kcG9pbnQsXG4gIFwiaGFuZGxlclwiXG4+ICYge1xuICBoYW5kbGVyOiAoXG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFdpdGhCZXR0ZXJBdXRoPE8+XG4gICkgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZTtcbn07XG5cbnR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxVPiA9IChVIGV4dGVuZHMgYW55ID8gKGs6IFUpID0+IHZvaWQgOiBuZXZlcikgZXh0ZW5kcyAoXG4gIGs6IGluZmVyIElcbikgPT4gdm9pZFxuICA/IElcbiAgOiBuZXZlcjtcbnR5cGUgUHJldHRpZnlEZWVwPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55XG4gICAgPyBUW0tdXG4gICAgOiBUW0tdIGV4dGVuZHMgb2JqZWN0XG4gICAgICA/IFRbS10gZXh0ZW5kcyBBcnJheTxhbnk+XG4gICAgICAgID8gVFtLXVxuICAgICAgICA6IFRbS10gZXh0ZW5kcyBEYXRlXG4gICAgICAgICAgPyBUW0tdXG4gICAgICAgICAgOiBQcmV0dGlmeURlZXA8VFtLXT5cbiAgICAgIDogVFtLXTtcbn0gJiB7fTtcblxudHlwZSBJbmZlclBsdWdpbkVycm9yQ29kZXM8TyBleHRlbmRzIEJldHRlckF1dGhPcHRpb25zPiA9XG4gIE9bXCJwbHVnaW5zXCJdIGV4dGVuZHMgQXJyYXk8aW5mZXIgUD5cbiAgICA/IFVuaW9uVG9JbnRlcnNlY3Rpb248XG4gICAgICAgIFAgZXh0ZW5kcyBCZXR0ZXJBdXRoUGx1Z2luVHlwZVxuICAgICAgICAgID8gUFtcIiRFUlJPUl9DT0RFU1wiXSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICAgICAgICAgID8gUFtcIiRFUlJPUl9DT0RFU1wiXVxuICAgICAgICAgICAgOiBuZXZlclxuICAgICAgICAgIDogbmV2ZXJcbiAgICAgID4gZXh0ZW5kcyBpbmZlciBSXG4gICAgICA/IFtSXSBleHRlbmRzIFtuZXZlcl1cbiAgICAgICAgPyB7fVxuICAgICAgICA6IFJcbiAgICAgIDoge31cbiAgICA6IHt9O1xuXG5leHBvcnQgdHlwZSBSb2xlQXJyYXk8XG4gIE8gZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXSA9IHJlYWRvbmx5IFt0eXBlb2YgZGVmYXVsdHMudXNlclJvbGVdXG4+ID0gT1tudW1iZXJdW10gfCBudWxsO1xudHlwZSBPdmVycmlkZVJvbGU8VCwgTyBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdPiA9IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyBPbWl0PFQsIFwicm9sZVwiPiAmIHsgcm9sZTogUm9sZUFycmF5PE8+IH1cbiAgOiBUO1xudHlwZSBFeHRyYWN0QkE8TyBleHRlbmRzIFBheWxvYWRBdXRoT3B0aW9ucz4gPSBOb25OdWxsYWJsZTxcbiAgT1tcImJldHRlckF1dGhPcHRpb25zXCJdXG4+O1xudHlwZSBFeHRyYWN0Um9sZXM8Tz4gPSBPIGV4dGVuZHMgeyB1c2Vycz86IHsgcm9sZXM/OiBpbmZlciBSIH0gfVxuICA/IFIgZXh0ZW5kcyByZWFkb25seSBzdHJpbmdbXVxuICAgID8gUlxuICAgIDogcmVhZG9ubHkgW11cbiAgOiByZWFkb25seSBbdHlwZW9mIGRlZmF1bHRzLnVzZXJSb2xlXTtcbnR5cGUgQmFzZUVycm9yQ29kZXMgPSB0eXBlb2YgQkFTRV9FUlJPUl9DT0RFUztcblxuZXhwb3J0IHR5cGUgQmV0dGVyQXV0aFJldHVybjxcbiAgTyBleHRlbmRzIFBheWxvYWRBdXRoT3B0aW9ucyA9IFBheWxvYWRBdXRoT3B0aW9uc1xuPiA9IHtcbiAgaGFuZGxlcjogKHJlcXVlc3Q6IFJlcXVlc3QpID0+IFByb21pc2U8UmVzcG9uc2U+O1xuICBhcGk6IEluZmVyQVBJPFJldHVyblR5cGU8dHlwZW9mIHJvdXRlcjxFeHRyYWN0QkE8Tz4+Pj5bXCJlbmRwb2ludHNcIl07XG4gIG9wdGlvbnM6IEV4dHJhY3RCQTxPPjtcbiAgJEVSUk9SX0NPREVTOiBJbmZlclBsdWdpbkVycm9yQ29kZXM8RXh0cmFjdEJBPE8+PiAmIEJhc2VFcnJvckNvZGVzO1xuICAkY29udGV4dDogUHJvbWlzZTxBdXRoQ29udGV4dD47XG4gICRJbmZlcjogSW5mZXJQbHVnaW5UeXBlczxFeHRyYWN0QkE8Tz4+IGV4dGVuZHMge1xuICAgIFNlc3Npb246IGFueTtcbiAgfVxuICAgID8gSW5mZXJQbHVnaW5UeXBlczxFeHRyYWN0QkE8Tz4+XG4gICAgOiB7XG4gICAgICAgIFNlc3Npb246IHtcbiAgICAgICAgICBzZXNzaW9uOiBQcmV0dGlmeURlZXA8SW5mZXJTZXNzaW9uPEV4dHJhY3RCQTxPPj4+O1xuICAgICAgICAgIHVzZXI6IE92ZXJyaWRlUm9sZTxcbiAgICAgICAgICAgIFByZXR0aWZ5RGVlcDxJbmZlclVzZXI8RXh0cmFjdEJBPE8+Pj4sXG4gICAgICAgICAgICBFeHRyYWN0Um9sZXM8Tz5cbiAgICAgICAgICA+O1xuICAgICAgICB9O1xuICAgICAgfSAmIEluZmVyUGx1Z2luVHlwZXM8RXh0cmFjdEJBPE8+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJldHRlckF1dGhGdW5jdGlvbk9wdGlvbnM8TyBleHRlbmRzIFBheWxvYWRBdXRoT3B0aW9ucz4gPSBPbWl0PFxuICBFeHRyYWN0QkE8Tz4sXG4gIFwiZGF0YWJhc2VcIiB8IFwicGx1Z2luc1wiXG4+ICYge1xuICBlbmFibGVEZWJ1Z0xvZ3M/OiBib29sZWFuO1xuICBwbHVnaW5zOiBFeHRyYWN0QkE8Tz5bXCJwbHVnaW5zXCJdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsdEJldHRlckF1dGhTY2hlbWEge1xuICBtb2RlbE5hbWU6IHN0cmluZztcbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBEQkZpZWxkQXR0cmlidXRlPjtcbiAgb3JkZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgQmV0dGVyQXV0aFNjaGVtYXMgPSBSZWNvcmQ8TW9kZWxLZXksIEJ1aWx0QmV0dGVyQXV0aFNjaGVtYT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRDb2xsZWN0aW9uUHJvcHMge1xuICByZXNvbHZlZFNjaGVtYXM6IEJldHRlckF1dGhTY2hlbWFzO1xuICBwbHVnaW5PcHRpb25zOiBQYXlsb2FkQXV0aE9wdGlvbnM7XG4gIGluY29taW5nQ29sbGVjdGlvbnM6IENvbGxlY3Rpb25Db25maWdbXTtcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRPdmVycmlkZXM8SyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSB7XG4gIFtLZXkgaW4gS10/OiAoZmllbGQ6IERCRmllbGRBdHRyaWJ1dGUpID0+IFBhcnRpYWw8RmllbGQ+O1xufSAmIHtcbiAgW2tleTogc3RyaW5nXTogKGZpZWxkOiBEQkZpZWxkQXR0cmlidXRlKSA9PiBQYXJ0aWFsPEZpZWxkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aElkcyA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgY3VzdG9tPzogeyBiZXR0ZXJBdXRoRmllbGRLZXk/OiBzdHJpbmcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkUnVsZSA9IHtcbiAgY29uZGl0aW9uPzogKGZpZWxkOiBEQkZpZWxkQXR0cmlidXRlKSA9PiBib29sZWFuO1xuICB0cmFuc2Zvcm06IChmaWVsZDogREJGaWVsZEF0dHJpYnV0ZSkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVpQkEsV0FHRSJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCQVNFX0VSUk9SX0NPREVTIH0gZnJvbSBcIkBiZXR0ZXItYXV0aC9jb3JlL2Vycm9yXCI7XG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSBcImJldHRlci1hdXRoXCI7XG5pbXBvcnQgdHlwZSB7IHJvdXRlciB9IGZyb20gXCJiZXR0ZXItYXV0aC9hcGlcIjtcbmltcG9ydCB0eXBlIHsgREJGaWVsZEF0dHJpYnV0ZSB9IGZyb20gXCJiZXR0ZXItYXV0aC9kYlwiO1xuaW1wb3J0IHR5cGUge1xuICBCZXR0ZXJBdXRoT3B0aW9ucyBhcyBCZXR0ZXJBdXRoT3B0aW9uc1R5cGUsXG4gIEJldHRlckF1dGhQbHVnaW4gYXMgQmV0dGVyQXV0aFBsdWdpblR5cGUsXG4gIEluZmVyQVBJLFxuICBJbmZlclBsdWdpbkNvbnRleHQsXG4gIEluZmVyUGx1Z2luVHlwZXMsXG4gIFNlc3Npb24sXG4gIFVzZXJcbn0gZnJvbSBcImJldHRlci1hdXRoL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJhc2VQYXlsb2FkLFxuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBDb25maWcsXG4gIEVuZHBvaW50LFxuICBGaWVsZCxcbiAgUGF5bG9hZCxcbiAgUGF5bG9hZFJlcXVlc3Rcbn0gZnJvbSBcInBheWxvYWRcIjtcbmltcG9ydCB0eXBlIHsgTW9kZWxLZXkgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIGFkbWluUm91dGVzLFxuICBiYVBsdWdpblNsdWdzLFxuICBkZWZhdWx0cyxcbiAgbG9naW5NZXRob2RzLFxuICBzb2NpYWxQcm92aWRlcnNcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG4vKipcbiAqIEJldHRlckF1dGggb3B0aW9ucyB3aXRoIHRoZSBmb2xsb3dpbmcgY2F2ZWF0czpcbiAqIC0gVGhlIGBkYXRhYmFzZWAgb3B0aW9uIGlzIHJlbW92ZWQgYXMgaXQgaXMgY29uZmlndXJlZCBpbnRlcm5hbGx5XG4gKlxuICogQHNlZSBodHRwczovL3d3dy5iZXR0ZXItYXV0aC5jb20vZG9jcy9yZWZlcmVuY2Uvb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJldHRlckF1dGhPcHRpb25zXG4gIGV4dGVuZHMgT21pdDxCZXR0ZXJBdXRoT3B0aW9uc1R5cGUsIFwiZGF0YWJhc2VcIj4ge31cblxuZXhwb3J0IGludGVyZmFjZSBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xuICBleHRlbmRzIE9taXQ8QmV0dGVyQXV0aE9wdGlvbnNUeXBlLCBcImRhdGFiYXNlXCI+IHt9XG5cbmV4cG9ydCB0eXBlIFNvY2lhbFByb3ZpZGVyID0gKHR5cGVvZiBzb2NpYWxQcm92aWRlcnMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIExvZ2luTWV0aG9kID0gKHR5cGVvZiBsb2dpbk1ldGhvZHMpW251bWJlcl07XG5cbnR5cGUgUGx1Z2luQ29sbGVjdGlvbk92ZXJyaWRlcyA9IHtcbiAgW0sgaW4ga2V5b2YgdHlwZW9mIGJhUGx1Z2luU2x1Z3NdPzogKG9wdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnO1xuICB9KSA9PiBDb2xsZWN0aW9uQ29uZmlnO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQXV0aE9wdGlvbnMge1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgcGx1Z2luXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gYWRtaW4gY29tcG9uZW50cyBmb3IgQmV0dGVyIEF1dGggbG9naW4sIHNpZ251cCwgYW5kIG90aGVyIGF1dGgtcmVsYXRlZCB2aWV3c1xuICAgKi9cbiAgYWRtaW4/OiB7XG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgd2hpY2ggc29jaWFsIGJ1dHRvbnMgYXJlIHNob3duIGluIHRoZSBQYXlsb2FkIExvZ2luIC8gU2lnbiBVcCB2aWV3LlxuICAgICAqXG4gICAgICogUHJvdmlkZSBhbiBhcnJheSBvZiBMb2dpbk1ldGhvZCBrZXlzLlxuICAgICAqL1xuICAgIGxvZ2luTWV0aG9kcz86IExvZ2luTWV0aG9kW107XG4gIH07XG4gIC8qKlxuICAgKiBEZWJ1ZyBvcHRpb25zXG4gICAqL1xuICBkZWJ1Zz86IHtcbiAgICAvKipcbiAgICAgKiBFbmFibGUgZGVidWcgbG9nc1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgZW5hYmxlRGVidWdMb2dzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBMb2cgdGhlIHRhYmxlcyB0aGF0IGFyZSBuZWVkZWQgZm9yIGJldHRlci1hdXRoIG9uIGluaXRcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIGxvZ1RhYmxlcz86IGJvb2xlYW47XG4gIH07XG4gIC8qKlxuICAgKiBIaWRlIHRoZSBiZXR0ZXItYXV0aCBwbHVnaW4gY29sbGVjdGlvbnMgZnJvbSB0aGUgcGF5bG9hZCBhZG1pbiBVSVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaGlkZVBsdWdpbkNvbGxlY3Rpb25zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGFkbWluIGdyb3VwIGZvciBjb2xsZWN0aW9ucy5cbiAgICogQGRlZmF1bHQgXCJBdXRoXCJcbiAgICovXG4gIGNvbGxlY3Rpb25BZG1pbkdyb3VwPzogc3RyaW5nO1xuICAvKipcbiAgICogUmVxdWlyZSBhIHZhbGlkIGFkbWluIGludml0YXRpb24gZm9yIGFueSAqcHVibGljKiBzaWdu4oCRdXAuXG4gICAqXG4gICAqIOKAkyBBcHBsaWVzIHRvIGJvdGggZW1haWwvcGFzc3dvcmQgYW5kIHNvY2lhbOKAkXByb3ZpZGVyIGZsb3dzLlxuICAgKiDigJMgRXhpc3RpbmcgdXNlcnMgY2FuIHN0aWxsIHNpZ24gaW47IGFkbWlucyBjYW4gc3RpbGwgY3JlYXRlIHVzZXJzIHZpYVxuICAgKiAgIHRoZSBQYXlsb2FkIFVJIG9yIHNlcnZlcuKAkXNpZGUgY2FsbHMuXG4gICAqIOKAkyBJZ25vcmVzIHByb3ZpZGVy4oCRbGV2ZWwgYGRpc2FibGVJbXBsaWNpdFNpZ25VcGAgYW5kIGBkaXNhYmxlU2lnblVwYDpcbiAgICogICB3aXRoIGEgdmFsaWQgaW52aXRlIHRoZSBzaWdu4oCRdXAgcHJvY2VlZHMsIHdpdGhvdXQgb25lIGl0J3MgYmxvY2tlZC5cbiAgICog4oCTIEFsc28gc2V0cyBgZGlzYWJsZUltcGxpY2l0U2lnblVwYCBmb3IgYWxsIHByb3ZpZGVycywgcmVxdWlyaW5nIGByZXF1ZXN0U2lnblVwYCB0byBiZSB0cnVlIGZvciBhbGwgYGF1dGhDbGllbnQuc2lnbkluLnNvY2lhbGAgY2FsbHMgd2hlbiBjcmVhdGluZyBhIG5ldyBhY2NvdW50IHdpdGggYSBwcm92aWRlci5cbiAgICpcbiAgICogRW5hYmxlIHdoZW4geW91IHdhbnQgT0F1dGggZm9yIGludGVybmFsL2FkbWluIHVzZSBvbmx5IGFuZCBubyBwdWJsaWNcbiAgICogcmVnaXN0cmF0aW9ucyBhdCBhbGwuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZXF1aXJlQWRtaW5JbnZpdGVGb3JTaWduVXA/OiBib29sZWFuO1xuICAvKipcbiAgICogQmV0dGVyQXV0aCBvcHRpb25zIHdpdGggdGhlIGZvbGxvd2luZyBjYXZlYXRzOlxuICAgKiAtIFRoZSBgZGF0YWJhc2VgIG9wdGlvbiBpcyByZW1vdmVkIGFzIGl0IGlzIGNvbmZpZ3VyZWQgaW50ZXJuYWxseVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3JlZmVyZW5jZS9vcHRpb25zXG4gICAqL1xuICBiZXR0ZXJBdXRoT3B0aW9ucz86IEJldHRlckF1dGhPcHRpb25zO1xuICAvKipcbiAgICogT3ZlcnJpZGUgcGx1Z2luIGNvbmZpZ3VyYXRpb25zXG4gICAqXG4gICAqIE5vdGU6IFR5cGVTY3JpcHQgY2Fubm90IGVuZm9yY2UgdGhhdCBvbmx5IGVuYWJsZWQgcGx1Z2lucyBhcmUgY29uZmlndXJlZFxuICAgKiBhdCBjb21waWxlIHRpbWUsIGJ1dCB0aGlzIHdpbGwgYmUgdmFsaWRhdGVkIGF0IHJ1bnRpbWUuXG4gICAqL1xuICBwbHVnaW5Db2xsZWN0aW9uT3ZlcnJpZGVzPzogUGx1Z2luQ29sbGVjdGlvbk92ZXJyaWRlcztcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgVXNlcnMgY29sbGVjdGlvbnM6XG4gICAqL1xuICB1c2Vycz86IHtcbiAgICAvKipcbiAgICAgKiBXaWxsIHNldCB0aGUgYG1vZGVsTmFtZWAgZm9yIHRoZSBgdXNlcmAgdGFibGUgaW4gYmV0dGVyLWF1dGhcbiAgICAgKlxuICAgICAqIGFuZCB0aGUgYHNsdWdgIGZvciB0aGUgYHVzZXJzYCBjb2xsZWN0aW9uIGluIHBheWxvYWRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICd1c2VycydcbiAgICAgKi9cbiAgICBzbHVnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IHJvbGUgZm9yIHVzZXJzXG4gICAgICpcbiAgICAgKiBUaGlzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCByb2xlIGZvciB0aGUgcm9sZSBmaWVsZCBpbiB0aGUgdXNlcnMgY29sbGVjdGlvblxuICAgICAqXG4gICAgICogSWYgeW91IGRlZmluZSB0aGlzIHlvdSBtdXN0IGFsc28gaGF2ZSB0aGlzIHJvbGUgaW4gdGhlIHJvbGVzIGFycmF5XG4gICAgICpcbiAgICAgKiBUaGlzIHdpbGwgYWxzbyBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0Um9sZSBvcHRpb24gaW4gdGhlIGJldHRlci1hdXRoIGFkbWluIHBsdWdpbiBpZiBwcmVzZW50XG4gICAgICogQHNlZSBodHRwczovL3d3dy5iZXR0ZXItYXV0aC5jb20vZG9jcy9wbHVnaW5zL2FkbWluI2RlZmF1bHQtcm9sZVxuICAgICAqIEBkZWZhdWx0IFwidXNlclwiXG4gICAgICovXG4gICAgZGVmYXVsdFJvbGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgcm9sZSBmb3IgYWRtaW5zXG4gICAgICpcbiAgICAgKiBUaGlzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCByb2xlIGZvciB3aGVuIGFkbWlucyBzaWduIHVwIGluIHRoZSBjcmVhdGUgZmlyc3QgYWRtaW4gdmlldyBvciB3aGVuIGludml0aW5nIG5ldyBhZG1pbnNcbiAgICAgKlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJhZG1pblwiXG4gICAgICovXG4gICAgZGVmYXVsdEFkbWluUm9sZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBbGwgcm9sZXMgZm9yIHRoZSB1c2VycyBjb2xsZWN0aW9uXG4gICAgICpcbiAgICAgKiBUaGVzZSB3aWxsIGJlIHVzZWQgdG8gZGVmaW5lIGFsbCB0aGUgb3B0aW9ucyBpbiB0aGUgdXNlciBjb2xsZWN0aW9uIHJvbGUgZmllbGRcbiAgICAgKlxuICAgICAqIFdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGFkbWluUm9sZXMgYXJyYXksIG5vIG5lZWQgdG8gd29ycnkgYWJvdXQgcmVkZWZpbmluZyBpbiBhZG1pblJvbGVzIG9yIGR1cGxpY2F0ZXNcbiAgICAgKlxuICAgICAqIFRoaXMgc2hvdWxkIG1hdGNoIHRoZSByb2xlcyBpbiB0aGUgYmV0dGVyLWF1dGggYWRtaW4gcGx1Z2luIGlmIHlvdSBhcmUgdXNpbmcgaXRcbiAgICAgKiBAc2VlIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3BsdWdpbnMvYWRtaW4jYWNjZXNzLWNvbnRyb2xcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFtcInVzZXJcIl1cbiAgICAgKi9cbiAgICByb2xlcz86IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIERlZmluZSBhZG1pbiByb2xlcyBmb3IgdGhlIHVzZXJzIGNvbGxlY3Rpb25cbiAgICAgKlxuICAgICAqIFRoZXNlIHJvbGVzIHdpbGwgYmUgZ2l2ZW4gYWRtaW4gYWNjZXNzIHRvIGFsbCBhdXRoIGNvbGxlY3Rpb25zIGNyZWF0ZWQgYnkgdGhpcyBwbHVnaW5cbiAgICAgKlxuICAgICAqIE5vdGU6IFdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIHJvbGVzIGFycmF5LCBubyBuZWVkIHRvIHdvcnJ5IGFib3V0IHJlZGVmaW5pbmcgaW4gcm9sZXMgb3IgZHVwbGljYXRlc1xuICAgICAqXG4gICAgICogV2lsbCBiZSBhbHNvIHVzZWQgYXMgdGhlIGFkbWluUm9sZXMgb3B0aW9uIGluIHRoZSBiZXR0ZXItYXV0aCBhZG1pbiBwbHVnaW4gaWYgcHJlc2VudFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL3d3dy5iZXR0ZXItYXV0aC5jb20vZG9jcy9wbHVnaW5zL2FkbWluI2FkbWluLXJvbGVzXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBbXCJhZG1pblwiXVxuICAgICAqL1xuICAgIGFkbWluUm9sZXM/OiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBgdXNlcnNgIGNvbGxlY3Rpb24gZnJvbSB0aGUgcGF5bG9hZCBhZG1pbiBVSVxuICAgICAqXG4gICAgICogVGhpcyB3aWxsIGJlIG92ZXJ3cml0dGVuIGlmIHlvdSBjaGFuZ2UgdGhlIHZhbHVlIGluIHRoZSBjb2xsZWN0aW9uIG92ZXJyaWRlcyBvcHRpb25cbiAgICAgKi9cbiAgICBoaWRkZW4/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZSB3aGljaCBmaWVsZHMgdXNlcnMgY2FuIHVwZGF0ZSB0aGVtc2VsdmVzXG4gICAgICpcbiAgICAgKiBQYXNzd29yZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGluY2x1ZGVkIGFuZCBkb2Vzbid0IG5lZWQgdG8gYmUgc3BlY2lmaWVkIGhlcmVcbiAgICAgKlxuICAgICAqIEBleGFtcGxlIFsnbmFtZScsICdkYXRlT2ZCaXJ0aCcsICdwaG9uZU51bWJlciddXG4gICAgICogQGRlZmF1bHQgWyduYW1lJ11cbiAgICAgKi9cbiAgICBhbGxvd2VkRmllbGRzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gb3ZlcnJpZGUgdGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBhbGxvd3MgbW9kaWZ5aW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhZnRlciBpdCBoYXMgYmVlbiBidWlsdFxuICAgICAqIEV4YW1wbGUgdXNlIGNhc2VzIGluY2x1ZGUgYWRkaW5nIHNhdmVUb0p3dCB0byBzcGVjaWZpYyBmaWVsZHMgb3JcbiAgICAgKiBtb2RpZnlpbmcgZmllbGQgZGVzY3JpcHRpb25zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPYmplY3QgY29udGFpbmluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYW5kIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgICAqIEByZXR1cm5zIE1vZGlmaWVkIGNvbGxlY3Rpb24gY29uZmlnXG4gICAgICovXG4gICAgY29sbGVjdGlvbk92ZXJyaWRlcz86IChvcHRpb25zOiB7XG4gICAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnO1xuICAgIH0pID0+IENvbGxlY3Rpb25Db25maWc7XG4gIH07XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIEFjY291bnRzIGNvbGxlY3Rpb25zOlxuICAgKi9cbiAgYWNjb3VudHM/OiB7XG4gICAgLyoqXG4gICAgICogV2lsbCBzZXQgdGhlIGBtb2RlbE5hbWVgIGZvciB0aGUgYGFjY291bnRgIHRhYmxlIGluIGJldHRlci1hdXRoXG4gICAgICpcbiAgICAgKiBhbmQgdGhlIGBzbHVnYCBmb3IgdGhlIGBhY2NvdW50c2AgY29sbGVjdGlvbiBpbiBwYXlsb2FkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnYWNjb3VudHMnXG4gICAgICovXG4gICAgc2x1Zz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBgYWNjb3VudHNgIGNvbGxlY3Rpb24gZnJvbSB0aGUgcGF5bG9hZCBhZG1pbiBVSVxuICAgICAqL1xuICAgIGhpZGRlbj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gb3ZlcnJpZGUgdGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBhbGxvd3MgbW9kaWZ5aW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhZnRlciBpdCBoYXMgYmVlbiBidWlsdFxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFuZCBwb3RlbnRpYWxseSBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJucyBNb2RpZmllZCBjb2xsZWN0aW9uIGNvbmZpZ1xuICAgICAqL1xuICAgIGNvbGxlY3Rpb25PdmVycmlkZXM/OiAob3B0aW9uczoge1xuICAgICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZztcbiAgICB9KSA9PiBDb2xsZWN0aW9uQ29uZmlnO1xuICB9O1xuICAvKipcbiAgICogQ29uZmlndXJlIHRoZSBTZXNzaW9ucyBjb2xsZWN0aW9uczpcbiAgICovXG4gIHNlc3Npb25zPzoge1xuICAgIC8qKlxuICAgICAqIFdpbGwgc2V0IHRoZSBgbW9kZWxOYW1lYCBmb3IgdGhlIGBzZXNzaW9uYCB0YWJsZSBpbiBiZXR0ZXItYXV0aFxuICAgICAqXG4gICAgICogYW5kIHRoZSBgc2x1Z2AgZm9yIHRoZSBgc2Vzc2lvbnNgIGNvbGxlY3Rpb24gaW4gcGF5bG9hZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ3Nlc3Npb25zJ1xuICAgICAqL1xuICAgIHNsdWc/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgYHNlc3Npb25zYCBjb2xsZWN0aW9uIGZyb20gdGhlIHBheWxvYWQgYWRtaW4gVUlcbiAgICAgKi9cbiAgICBoaWRkZW4/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIG92ZXJyaWRlIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIFRoaXMgYWxsb3dzIG1vZGlmeWluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYWZ0ZXIgaXQgaGFzIGJlZW4gYnVpbHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9iamVjdCBjb250YWluaW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhbmQgcG90ZW50aWFsbHkgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgTW9kaWZpZWQgY29sbGVjdGlvbiBjb25maWdcbiAgICAgKi9cbiAgICBjb2xsZWN0aW9uT3ZlcnJpZGVzPzogKG9wdGlvbnM6IHtcbiAgICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWc7XG4gICAgfSkgPT4gQ29sbGVjdGlvbkNvbmZpZztcbiAgfTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgVmVyaWZpY2F0aW9ucyBjb2xsZWN0aW9uczpcbiAgICovXG4gIHZlcmlmaWNhdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogV2lsbCBzZXQgdGhlIGBtb2RlbE5hbWVgIGZvciB0aGUgYHZlcmlmaWNhdGlvbmAgdGFibGUgaW4gYmV0dGVyLWF1dGhcbiAgICAgKlxuICAgICAqIGFuZCB0aGUgYHNsdWdgIGZvciB0aGUgYHZlcmlmaWNhdGlvbnNgIGNvbGxlY3Rpb24gaW4gcGF5bG9hZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ3ZlcmlmaWNhdGlvbnMnXG4gICAgICovXG4gICAgc2x1Zz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBgdmVyaWZpY2F0aW9uc2AgY29sbGVjdGlvbiBmcm9tIHRoZSBwYXlsb2FkIGFkbWluIFVJXG4gICAgICovXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvdmVycmlkZSB0aGUgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBUaGlzIGFsbG93cyBtb2RpZnlpbmcgdGhlIGNvbGxlY3Rpb24gY29uZmlnIGFmdGVyIGl0IGhhcyBiZWVuIGJ1aWx0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBPYmplY3QgY29udGFpbmluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYW5kIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgICAqIEByZXR1cm5zIE1vZGlmaWVkIGNvbGxlY3Rpb24gY29uZmlnXG4gICAgICovXG4gICAgY29sbGVjdGlvbk92ZXJyaWRlcz86IChvcHRpb25zOiB7XG4gICAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnO1xuICAgIH0pID0+IENvbGxlY3Rpb25Db25maWc7XG4gIH07XG4gIC8qKlxuICAgKiBDb25maWd1cmUgdGhlIEFkbWluIEludml0YXRpb25zIGNvbGxlY3Rpb25zOlxuICAgKi9cbiAgYWRtaW5JbnZpdGF0aW9ucz86IHtcbiAgICAvKipcbiAgICAgKiBXaWxsIHNldCB0aGUgYHNsdWdgIGZvciB0aGUgYGFkbWluLWludml0YXRpb25zYCBjb2xsZWN0aW9uIGluIHBheWxvYWRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdhZG1pbi1pbnZpdGF0aW9ucydcbiAgICAgKi9cbiAgICBzbHVnPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGBhZG1pbi1pbnZpdGF0aW9uc2AgY29sbGVjdGlvbiBmcm9tIHRoZSBwYXlsb2FkIGFkbWluIFVJXG4gICAgICovXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGlzIHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUgYWRtaW4gaW52aXRlIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT2JqZWN0IGNvbnRhaW5pbmcgcGF5bG9hZCBhbmQgdGhlIHRva2VuXG4gICAgICogQHJldHVybnMgVGhlIGFkbWluIGludml0ZSB1cmxcbiAgICAgKi9cbiAgICBnZW5lcmF0ZUludml0ZVVybD86IEdlbmVyYXRlQWRtaW5JbnZpdGVVcmxGbjtcbiAgICAvKipcbiAgICAgKiBUaGlzIHdpbGwgYmUgdXNlZCB0byBzZW5kIHRoZSBhZG1pbiBpbnZpdGUgZW1haWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9iamVjdCBjb250YWluaW5nIHBheWxvYWQsIGVtYWlsIGFuZCB0aGUgdXJsXG4gICAgICogQHJldHVybnMgVGhlIGFkbWluIGludml0ZSB1cmxcbiAgICAgKi9cbiAgICBzZW5kSW52aXRlRW1haWw/OiBTZW5kQWRtaW5JbnZpdGVFbWFpbEZuO1xuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIG92ZXJyaWRlIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIFRoaXMgYWxsb3dzIG1vZGlmeWluZyB0aGUgY29sbGVjdGlvbiBjb25maWcgYWZ0ZXIgaXQgaGFzIGJlZW4gYnVpbHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9iamVjdCBjb250YWluaW5nIHRoZSBjb2xsZWN0aW9uIGNvbmZpZyBhbmQgcG90ZW50aWFsbHkgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgTW9kaWZpZWQgY29sbGVjdGlvbiBjb25maWdcbiAgICAgKi9cbiAgICBjb2xsZWN0aW9uT3ZlcnJpZGVzPzogKG9wdGlvbnM6IHtcbiAgICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWc7XG4gICAgfSkgPT4gQ29sbGVjdGlvbkNvbmZpZztcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgU2VuZEFkbWluSW52aXRlRW1haWxGbiA9IChvcHRpb25zOiB7XG4gIHBheWxvYWQ6IFBheWxvYWQ7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xufSkgPT4gUHJvbWlzZTxcbiAgeyBzdWNjZXNzOiB0cnVlOyBtZXNzYWdlPzogc3RyaW5nIH0gfCB7IHN1Y2Nlc3M6IGZhbHNlOyBtZXNzYWdlOiBzdHJpbmcgfVxuPjtcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVBZG1pbkludml0ZVVybEZuID0gKG9wdGlvbnM6IHtcbiAgcGF5bG9hZDogUGF5bG9hZDtcbiAgdG9rZW46IHN0cmluZztcbn0pID0+IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQ29uZmlnQWRtaW5DdXN0b20gPSB7XG4gIGJldHRlckF1dGg6IHtcbiAgICBhZG1pblJvdXRlczoge1xuICAgICAgW2tleSBpbiBrZXlvZiB0eXBlb2YgYWRtaW5Sb3V0ZXNdOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV0dGVyQXV0aFBsdWdpbiB7XG4gIChjb25maWc6IENvbmZpZyk6IENvbmZpZztcbiAgcGx1Z2luT3B0aW9uczogUGF5bG9hZEF1dGhPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRSZXF1ZXN0V2l0aEJldHRlckF1dGg8TyBleHRlbmRzIFBheWxvYWRBdXRoT3B0aW9ucz5cbiAgZXh0ZW5kcyBQYXlsb2FkUmVxdWVzdCB7XG4gIHBheWxvYWQ6IEJhc2VQYXlsb2FkICYge1xuICAgIGJldHRlckF1dGg6IEJldHRlckF1dGhSZXR1cm48Tz47XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25Ib29rV2l0aEJldHRlckF1dGg8XG4gIE8gZXh0ZW5kcyBQYXlsb2FkQXV0aE9wdGlvbnMsXG4gIFQgZXh0ZW5kcyAoYXJnczogYW55KSA9PiBhbnlcbj4gPSBUIGV4dGVuZHMgKGFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyAoYXJnczogT21pdDxBLCBcInJlcVwiPiAmIHsgcmVxOiBQYXlsb2FkUmVxdWVzdFdpdGhCZXR0ZXJBdXRoPE8+IH0pID0+IFJcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgRW5kcG9pbnRXaXRoQmV0dGVyQXV0aDxPIGV4dGVuZHMgUGF5bG9hZEF1dGhPcHRpb25zPiA9IE9taXQ8XG4gIEVuZHBvaW50LFxuICBcImhhbmRsZXJcIlxuPiAmIHtcbiAgaGFuZGxlcjogKFxuICAgIHJlcTogUGF5bG9hZFJlcXVlc3RXaXRoQmV0dGVyQXV0aDxPPlxuICApID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2U7XG59O1xudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFUgZXh0ZW5kcyBhbnkgPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChcbiAgazogaW5mZXIgSVxuKSA9PiB2b2lkXG4gID8gSVxuICA6IG5ldmVyO1xuXG50eXBlIEluZmVyUGx1Z2luRXJyb3JDb2RlczxPIGV4dGVuZHMgQmV0dGVyQXV0aE9wdGlvbnM+ID1cbiAgT1tcInBsdWdpbnNcIl0gZXh0ZW5kcyBBcnJheTxpbmZlciBQPlxuICAgID8gVW5pb25Ub0ludGVyc2VjdGlvbjxcbiAgICAgICAgUCBleHRlbmRzIEJldHRlckF1dGhQbHVnaW5UeXBlXG4gICAgICAgICAgPyBQW1wiJEVSUk9SX0NPREVTXCJdIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PlxuICAgICAgICAgICAgPyBQW1wiJEVSUk9SX0NPREVTXCJdXG4gICAgICAgICAgICA6IHt9XG4gICAgICAgICAgOiB7fVxuICAgICAgPlxuICAgIDoge307XG5cbmV4cG9ydCB0eXBlIFJvbGVBcnJheTxcbiAgTyBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdID0gcmVhZG9ubHkgW3R5cGVvZiBkZWZhdWx0cy51c2VyUm9sZV1cbj4gPSBPW251bWJlcl1bXSB8IG51bGw7XG50eXBlIE92ZXJyaWRlUm9sZTxULCBPIGV4dGVuZHMgcmVhZG9ubHkgc3RyaW5nW10+ID0gVCBleHRlbmRzIG9iamVjdFxuICA/IE9taXQ8VCwgXCJyb2xlXCI+ICYgeyByb2xlOiBSb2xlQXJyYXk8Tz4gfVxuICA6IFQ7XG50eXBlIEV4dHJhY3RCQTxPIGV4dGVuZHMgUGF5bG9hZEF1dGhPcHRpb25zPiA9IE5vbk51bGxhYmxlPFxuICBPW1wiYmV0dGVyQXV0aE9wdGlvbnNcIl1cbj47XG50eXBlIEV4dHJhY3RSb2xlczxPPiA9IE8gZXh0ZW5kcyB7IHVzZXJzPzogeyByb2xlcz86IGluZmVyIFIgfSB9XG4gID8gUiBleHRlbmRzIHJlYWRvbmx5IHN0cmluZ1tdXG4gICAgPyBSXG4gICAgOiByZWFkb25seSBbXVxuICA6IHJlYWRvbmx5IFt0eXBlb2YgZGVmYXVsdHMudXNlclJvbGVdO1xuXG5leHBvcnQgdHlwZSBCZXR0ZXJBdXRoUmV0dXJuPFxuICBPIGV4dGVuZHMgUGF5bG9hZEF1dGhPcHRpb25zID0gUGF5bG9hZEF1dGhPcHRpb25zXG4+ID0ge1xuICBoYW5kbGVyOiAocmVxdWVzdDogUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXNwb25zZT47XG4gIGFwaTogSW5mZXJBUEk8UmV0dXJuVHlwZTx0eXBlb2Ygcm91dGVyPEV4dHJhY3RCQTxPPj4+PltcImVuZHBvaW50c1wiXTtcbiAgb3B0aW9uczogRXh0cmFjdEJBPE8+O1xuICAkRVJST1JfQ09ERVM6IEluZmVyUGx1Z2luRXJyb3JDb2RlczxFeHRyYWN0QkE8Tz4+ICYgdHlwZW9mIEJBU0VfRVJST1JfQ09ERVM7XG4gICRjb250ZXh0OiBQcm9taXNlPEF1dGhDb250ZXh0PEV4dHJhY3RCQTxPPj4+ICZcbiAgICBJbmZlclBsdWdpbkNvbnRleHQ8RXh0cmFjdEJBPE8+PjtcbiAgJEluZmVyOiBJbmZlclBsdWdpblR5cGVzPEV4dHJhY3RCQTxPPj4gZXh0ZW5kcyB7XG4gICAgU2Vzc2lvbjogYW55O1xuICB9XG4gICAgPyBJbmZlclBsdWdpblR5cGVzPEV4dHJhY3RCQTxPPj5cbiAgICA6IHtcbiAgICAgICAgU2Vzc2lvbjoge1xuICAgICAgICAgIHNlc3Npb246IFNlc3Npb248RXh0cmFjdEJBPE8+W1wic2Vzc2lvblwiXSwgRXh0cmFjdEJBPE8+W1wicGx1Z2luc1wiXT47XG4gICAgICAgICAgdXNlcjogT3ZlcnJpZGVSb2xlPFxuICAgICAgICAgICAgVXNlcjxFeHRyYWN0QkE8Tz5bXCJ1c2VyXCJdLCBFeHRyYWN0QkE8Tz5bXCJwbHVnaW5zXCJdPixcbiAgICAgICAgICAgIEV4dHJhY3RSb2xlczxPPlxuICAgICAgICAgID47XG4gICAgICAgIH07XG4gICAgICB9ICYgSW5mZXJQbHVnaW5UeXBlczxFeHRyYWN0QkE8Tz4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmV0dGVyQXV0aEZ1bmN0aW9uT3B0aW9uczxPIGV4dGVuZHMgUGF5bG9hZEF1dGhPcHRpb25zPiA9IE9taXQ8XG4gIEV4dHJhY3RCQTxPPixcbiAgXCJkYXRhYmFzZVwiIHwgXCJwbHVnaW5zXCJcbj4gJiB7XG4gIGVuYWJsZURlYnVnTG9ncz86IGJvb2xlYW47XG4gIHBsdWdpbnM6IEV4dHJhY3RCQTxPPltcInBsdWdpbnNcIl07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWx0QmV0dGVyQXV0aFNjaGVtYSB7XG4gIG1vZGVsTmFtZTogc3RyaW5nO1xuICBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIERCRmllbGRBdHRyaWJ1dGU+O1xuICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCZXR0ZXJBdXRoU2NoZW1hcyA9IFJlY29yZDxNb2RlbEtleSwgQnVpbHRCZXR0ZXJBdXRoU2NoZW1hPjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZENvbGxlY3Rpb25Qcm9wcyB7XG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXM7XG4gIHBsdWdpbk9wdGlvbnM6IFBheWxvYWRBdXRoT3B0aW9ucztcbiAgaW5jb21pbmdDb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBGaWVsZE92ZXJyaWRlczxLIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9IHtcbiAgW0tleSBpbiBLXT86IChmaWVsZDogREJGaWVsZEF0dHJpYnV0ZSkgPT4gUGFydGlhbDxGaWVsZD47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhJZHMgPSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGN1c3RvbT86IHsgYmV0dGVyQXV0aEZpZWxkS2V5Pzogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZFJ1bGUgPSB7XG4gIGNvbmRpdGlvbj86IChmaWVsZDogREJGaWVsZEF0dHJpYnV0ZSkgPT4gYm9vbGVhbjtcbiAgdHJhbnNmb3JtOiAoZmllbGQ6IERCRmllbGRBdHRyaWJ1dGUpID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwZEEsV0FHRSJ9
@@ -1,19 +1,21 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { apiKey } from "@better-auth/api-key";
1
5
  import { passkey } from "@better-auth/passkey";
2
6
  import { scim } from "@better-auth/scim";
3
7
  import { sso } from "@better-auth/sso";
4
8
  import { stripe } from "@better-auth/stripe";
5
- import { emailHarmony, phoneHarmony } from "better-auth-harmony";
6
9
  import { getSchema } from "better-auth/db";
7
10
  import { nextCookies } from "better-auth/next-js";
8
- import { admin, anonymous, apiKey, bearer, customSession, deviceAuthorization, emailOTP, genericOAuth, jwt, lastLoginMethod, magicLink, mcp, multiSession, oidcProvider, oneTap, oneTimeToken, openAPI, organization, phoneNumber, twoFactor, username } from "better-auth/plugins";
11
+ import { admin, anonymous, bearer, customSession, deviceAuthorization, emailOTP, genericOAuth, jwt, lastLoginMethod, magicLink, mcp, multiSession, oidcProvider, oneTap, oneTimeToken, openAPI, organization, phoneNumber, twoFactor, username } from "better-auth/plugins";
9
12
  import { createAccessControl } from "better-auth/plugins/access";
10
13
  import { defaultStatements as defaultAdminStatements } from "better-auth/plugins/admin/access";
11
14
  import { defaultStatements as defaultOrganizationStatements } from "better-auth/plugins/organization/access";
12
- import fs from "node:fs/promises";
13
- import path from "node:path";
14
- import { fileURLToPath } from "node:url";
15
+ import { emailHarmony, phoneHarmony } from "better-auth-harmony";
15
16
  import Stripe from "stripe";
16
17
  const ac = createAccessControl({
18
+ // fooKing: ["create", "update", "delete"]
17
19
  ...defaultOrganizationStatements,
18
20
  ...defaultAdminStatements
19
21
  });
@@ -222,4 +224,4 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
222
224
  console.log(`Generated types written to ${file}`);
223
225
  })();
224
226
 
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9zY3JpcHRzL2dlbmVyYXRlLXR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhc3NrZXkgfSBmcm9tIFwiQGJldHRlci1hdXRoL3Bhc3NrZXlcIjtcbmltcG9ydCB7IHNjaW0gfSBmcm9tIFwiQGJldHRlci1hdXRoL3NjaW1cIjtcbmltcG9ydCB7IHNzbyB9IGZyb20gXCJAYmV0dGVyLWF1dGgvc3NvXCI7XG5pbXBvcnQgeyBzdHJpcGUgfSBmcm9tIFwiQGJldHRlci1hdXRoL3N0cmlwZVwiO1xuaW1wb3J0IHsgZW1haWxIYXJtb255LCBwaG9uZUhhcm1vbnkgfSBmcm9tIFwiYmV0dGVyLWF1dGgtaGFybW9ueVwiO1xuaW1wb3J0IHR5cGUgeyBEQkZpZWxkQXR0cmlidXRlIH0gZnJvbSBcImJldHRlci1hdXRoL2RiXCI7XG5pbXBvcnQgeyBnZXRTY2hlbWEgfSBmcm9tIFwiYmV0dGVyLWF1dGgvZGJcIjtcbmltcG9ydCB7IG5leHRDb29raWVzIH0gZnJvbSBcImJldHRlci1hdXRoL25leHQtanNcIjtcbmltcG9ydCB7XG4gIGFkbWluLFxuICBhbm9ueW1vdXMsXG4gIGFwaUtleSxcbiAgYmVhcmVyLFxuICBjdXN0b21TZXNzaW9uLFxuICBkZXZpY2VBdXRob3JpemF0aW9uLFxuICBlbWFpbE9UUCxcbiAgZ2VuZXJpY09BdXRoLFxuICBqd3QsXG4gIGxhc3RMb2dpbk1ldGhvZCxcbiAgbWFnaWNMaW5rLFxuICBtY3AsXG4gIG11bHRpU2Vzc2lvbixcbiAgb2lkY1Byb3ZpZGVyLFxuICBvbmVUYXAsXG4gIG9uZVRpbWVUb2tlbixcbiAgb3BlbkFQSSxcbiAgb3JnYW5pemF0aW9uLFxuICBwaG9uZU51bWJlcixcbiAgdHdvRmFjdG9yLFxuICB1c2VybmFtZVxufSBmcm9tIFwiYmV0dGVyLWF1dGgvcGx1Z2luc1wiO1xuaW1wb3J0IHsgY3JlYXRlQWNjZXNzQ29udHJvbCB9IGZyb20gXCJiZXR0ZXItYXV0aC9wbHVnaW5zL2FjY2Vzc1wiO1xuaW1wb3J0IHsgZGVmYXVsdFN0YXRlbWVudHMgYXMgZGVmYXVsdEFkbWluU3RhdGVtZW50cyB9IGZyb20gXCJiZXR0ZXItYXV0aC9wbHVnaW5zL2FkbWluL2FjY2Vzc1wiO1xuaW1wb3J0IHsgZGVmYXVsdFN0YXRlbWVudHMgYXMgZGVmYXVsdE9yZ2FuaXphdGlvblN0YXRlbWVudHMgfSBmcm9tIFwiYmV0dGVyLWF1dGgvcGx1Z2lucy9vcmdhbml6YXRpb24vYWNjZXNzXCI7XG5pbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tIFwibm9kZTp1cmxcIjtcblxuaW1wb3J0IFN0cmlwZSBmcm9tIFwic3RyaXBlXCI7XG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmNvbnN0IGFjID0gY3JlYXRlQWNjZXNzQ29udHJvbCh7XG4gIC4uLmRlZmF1bHRPcmdhbml6YXRpb25TdGF0ZW1lbnRzLFxuICAuLi5kZWZhdWx0QWRtaW5TdGF0ZW1lbnRzXG59KTtcblxuY29uc3QgcGx1Z2lucyA9IFtcbiAgdXNlcm5hbWUoKSxcbiAgYWRtaW4oKSxcbiAgYXBpS2V5KCksXG4gIHBhc3NrZXkoKSxcbiAgZW1haWxIYXJtb255KCksXG4gIHBob25lSGFybW9ueSgpLFxuICBiZWFyZXIoKSxcbiAgZW1haWxPVFAoeyBzZW5kVmVyaWZpY2F0aW9uT1RQOiBhc3luYyAoKSA9PiB7fSB9KSxcbiAgbWFnaWNMaW5rKHsgc2VuZE1hZ2ljTGluazogYXN5bmMgKCkgPT4ge30gfSksXG4gIHBob25lTnVtYmVyKHsgc2VuZE9UUDogYXN5bmMgKCkgPT4ge30gfSksXG4gIG9uZVRhcCgpLFxuICBhbm9ueW1vdXMoKSxcbiAgbXVsdGlTZXNzaW9uKCksXG4gIG9uZVRpbWVUb2tlbigpLFxuICBvaWRjUHJvdmlkZXIoeyBsb2dpblBhZ2U6IFwiXCIgfSksXG4gIHNzbygpLFxuICBnZW5lcmljT0F1dGgoe1xuICAgIGNvbmZpZzogW1xuICAgICAge1xuICAgICAgICBwcm92aWRlcklkOiBcInR5cGVzY3JpcHRcIixcbiAgICAgICAgY2xpZW50SWQ6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBjbGllbnRTZWNyZXQ6IFwidHlwZXNjcmlwdFwiXG4gICAgICB9XG4gICAgXVxuICB9KSxcbiAgb3BlbkFQSSgpLFxuICBvcmdhbml6YXRpb24oe1xuICAgIHRlYW1zOiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICBhYyxcbiAgICBkeW5hbWljQWNjZXNzQ29udHJvbDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgIH1cbiAgfSksXG4gIGp3dCgpLFxuICB0d29GYWN0b3IoKSxcbiAgcGhvbmVOdW1iZXIoKSxcbiAgbmV4dENvb2tpZXMoKSxcbiAgY3VzdG9tU2Vzc2lvbihhc3luYyAoKSA9PiAoe30pKSxcbiAgc2NpbSgpLFxuICBtY3AoeyBsb2dpblBhZ2U6IFwiXCIgfSksXG4gIGRldmljZUF1dGhvcml6YXRpb24oKSxcbiAgbGFzdExvZ2luTWV0aG9kKHsgc3RvcmVJbkRhdGFiYXNlOiB0cnVlIH0pLFxuICBzdHJpcGUoe1xuICAgIHN0cmlwZUNsaWVudDogbmV3IFN0cmlwZShcInR5cGVzY3JpcHRcIiksXG4gICAgc3RyaXBlV2ViaG9va1NlY3JldDogXCJ0eXBlc2NyaXB0XCIsXG4gICAgc3Vic2NyaXB0aW9uOiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgcGxhbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiQmFzaWNcIixcbiAgICAgICAgICBwcmljZUlkOiBcImJhc2ljXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiUHJvXCIsXG4gICAgICAgICAgcHJpY2VJZDogXCJwcm9cIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJFbnRlcnByaXNlXCIsXG4gICAgICAgICAgcHJpY2VJZDogXCJlbnRlcnByaXNlXCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfSlcbiAgLy8gQXMgb2Ygd3JpdGluZyB0aGlzLCBQb2xhciBkb24ndCBjcmVhdGUgc2NoZW1hIGZpZWxkcywgYnV0IGp1c3QgaW4gY2FzZSBpbiB0aGUgZnV0dXJlIHdlIGxlYXZlIHRoaXMgaGVyZS5cbl07XG5cbmNvbnN0IGJldHRlckF1dGhDb25maWc6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zID0ge1xuICBlbWFpbEFuZFBhc3N3b3JkOiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgcmF0ZUxpbWl0OiB7IGVuYWJsZWQ6IHRydWUsIHN0b3JhZ2U6IFwiZGF0YWJhc2VcIiwgbWF4OiA1LCB3aW5kb3c6IDEwIH0sXG4gIHVzZXI6IHtcbiAgICBhZGRpdGlvbmFsRmllbGRzOiB7XG4gICAgICByb2xlOiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlZmF1bHRWYWx1ZTogXCJ1c2VyXCIsIGlucHV0OiBmYWxzZSB9XG4gICAgfVxuICB9LFxuICBwbHVnaW5zXG59O1xuXG5jb25zdCBiYXNlU2NoZW1hID0gZ2V0U2NoZW1hKHsgLi4uYmV0dGVyQXV0aENvbmZpZywgcGx1Z2luczogW10gfSk7XG5cbnR5cGUgU2NoZW1hID0gUmVjb3JkPHN0cmluZywgeyBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIERCRmllbGRBdHRyaWJ1dGU+IH0+O1xuXG5jb25zdCBtYXAgPSAodDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKHQgPT09IFwiYm9vbGVhblwiKSByZXR1cm4gXCJib29sZWFuXCI7XG4gIGlmICh0ID09PSBcImRhdGVcIikgcmV0dXJuIFwiRGF0ZVwiO1xuICBpZiAodCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIFwibnVtYmVyXCI7XG4gIGlmICh0ID09PSBcInN0cmluZ1wiKSByZXR1cm4gXCJzdHJpbmdcIjtcbiAgaWYgKHQgPT09IFwibnVtYmVyW11cIikgcmV0dXJuIFwibnVtYmVyW11cIjtcbiAgaWYgKHQgPT09IFwic3RyaW5nW11cIikgcmV0dXJuIFwic3RyaW5nW11cIjtcbiAgcmV0dXJuIFwidW5rbm93blwiO1xufTtcblxuY29uc3QgcGFzY2FsID0gKHM6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzXG4gICAgLnNwbGl0KC9bLV9dL2cpXG4gICAgLm1hcCgocCkgPT4gcC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHAuc2xpY2UoMSkpXG4gICAgLmpvaW4oXCJcIik7XG5cbmNvbnN0IGRpZmYgPSAoXG4gIGJhc2U6IFNjaGVtYSxcbiAgdGFyZ2V0OiBTY2hlbWFcbik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIERCRmllbGRBdHRyaWJ1dGU+PiA9PiB7XG4gIGNvbnN0IGQ6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIERCRmllbGRBdHRyaWJ1dGU+PiA9IHt9O1xuICBmb3IgKGNvbnN0IFttLCB7IGZpZWxkcyB9XSBvZiBPYmplY3QuZW50cmllcyh0YXJnZXQpKSB7XG4gICAgY29uc3QgYWRkZWQgPSBPYmplY3QuZW50cmllcyhmaWVsZHMpLmZpbHRlcihcbiAgICAgIChba10pID0+ICEoayBpbiAoYmFzZVttXT8uZmllbGRzID8/IHt9KSlcbiAgICApO1xuICAgIGlmIChhZGRlZC5sZW5ndGgpIGRbbV0gPSBPYmplY3QuZnJvbUVudHJpZXMoYWRkZWQpO1xuICB9XG4gIHJldHVybiBkO1xufTtcblxuY29uc3QgZ2VuID0gKCk6IHN0cmluZyA9PiB7XG4gIGxldCBvdXQgPSBcIi8vIEF1dG8tZ2VuZXJhdGVkIHR5cGVzLiBEbyBub3QgZWRpdC5cXG5cXG5cIjtcblxuICBjb25zdCBwbHVnaW5BZGRzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIERCRmllbGRBdHRyaWJ1dGU+PlxuICA+ID0ge307XG4gIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IHBsIG9mIHBsdWdpbnMpIHtcbiAgICBjb25zdCBpZCA9IChwbCBhcyBhbnkpLmlkIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIWlkIHx8IHNlZW4uaGFzKGlkKSkgY29udGludWU7XG4gICAgc2Vlbi5hZGQoaWQpO1xuICAgIGNvbnN0IGFkZHMgPSBkaWZmKFxuICAgICAgYmFzZVNjaGVtYSxcbiAgICAgIGdldFNjaGVtYSh7IC4uLmJldHRlckF1dGhDb25maWcsIHBsdWdpbnM6IFtwbF0gfSlcbiAgICApO1xuICAgIGZvciAoY29uc3QgW20sIGZdIG9mIE9iamVjdC5lbnRyaWVzKGFkZHMpKSB7XG4gICAgICBwbHVnaW5BZGRzW21dID8/PSB7fTtcbiAgICAgIHBsdWdpbkFkZHNbbV1baWRdID0gZjtcbiAgICB9XG4gIH1cblxuICBjb25zdCBtb2RlbHMgPSBuZXcgU2V0PHN0cmluZz4oW1xuICAgIC4uLk9iamVjdC5rZXlzKGJhc2VTY2hlbWEpLFxuICAgIC4uLk9iamVjdC5rZXlzKHBsdWdpbkFkZHMpXG4gIF0pO1xuXG4gIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzKSB7XG4gICAgY29uc3QgUCA9IHBhc2NhbChtb2RlbCk7XG4gICAgY29uc3QgYmFzZSA9IGJhc2VTY2hlbWFbbW9kZWxdPy5maWVsZHMgPz8ge307XG4gICAgY29uc3QgcGx1Z2luc0Zvck1vZGVsID0gcGx1Z2luQWRkc1ttb2RlbF0gPz8ge307XG4gICAgY29uc3QgcGx1Z2luSWRzID0gT2JqZWN0LmtleXMocGx1Z2luc0Zvck1vZGVsKTtcblxuICAgIGlmIChPYmplY3Qua2V5cyhiYXNlKS5sZW5ndGgpIHtcbiAgICAgIG91dCArPSBgZXhwb3J0IHR5cGUgQmFzZSR7UH1GaWVsZHMgPSB7XFxuYDtcbiAgICAgIGZvciAoY29uc3QgW2ssIGZdIG9mIE9iamVjdC5lbnRyaWVzKGJhc2UpKVxuICAgICAgICBvdXQgKz0gYCAgJHtmLmZpZWxkTmFtZSA/PyBrfSR7Zi5yZXF1aXJlZCA/IFwiXCIgOiBcIj9cIn06ICR7bWFwKGYudHlwZSBhcyBzdHJpbmcpfVxcbmA7XG4gICAgICBvdXQgKz0gXCJ9XFxuXFxuXCI7XG4gICAgfVxuXG4gICAgY29uc3QgbmVlZFBsdWdpbk1hcCA9IHBsdWdpbklkcy5sZW5ndGggPiAxIHx8IE9iamVjdC5rZXlzKGJhc2UpLmxlbmd0aDtcbiAgICBpZiAobmVlZFBsdWdpbk1hcCAmJiBwbHVnaW5JZHMubGVuZ3RoKSB7XG4gICAgICBvdXQgKz0gYGV4cG9ydCB0eXBlICR7UH1QbHVnaW5GaWVsZHMgPSB7XFxuYDtcbiAgICAgIGZvciAoY29uc3QgW3BpZCwgZmxkc10gb2YgT2JqZWN0LmVudHJpZXMocGx1Z2luc0Zvck1vZGVsKSkge1xuICAgICAgICBvdXQgKz0gYCAgJHtKU09OLnN0cmluZ2lmeShwaWQpfToge1xcbmA7XG4gICAgICAgIGZvciAoY29uc3QgW2ssIGZdIG9mIE9iamVjdC5lbnRyaWVzKGZsZHMpKVxuICAgICAgICAgIG91dCArPSBgICAgICR7Zi5maWVsZE5hbWUgPz8ga30ke2YucmVxdWlyZWQgPyBcIlwiIDogXCI/XCJ9OiAke21hcChmLnR5cGUgYXMgc3RyaW5nKX1cXG5gO1xuICAgICAgICBvdXQgKz0gXCIgIH1cXG5cIjtcbiAgICAgIH1cbiAgICAgIG91dCArPSBcIn1cXG5cXG5cIjtcbiAgICB9XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGJhc2UpLmxlbmd0aCAmJiBwbHVnaW5JZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBvbmx5ID0gcGx1Z2luSWRzWzBdO1xuICAgICAgb3V0ICs9IGBleHBvcnQgdHlwZSAke1B9RmllbGRzID0ge1xcbmA7XG4gICAgICBmb3IgKGNvbnN0IFtrLCBmXSBvZiBPYmplY3QuZW50cmllcyhwbHVnaW5zRm9yTW9kZWxbb25seV0pKVxuICAgICAgICBvdXQgKz0gYCAgJHtmLmZpZWxkTmFtZSA/PyBrfSR7Zi5yZXF1aXJlZCA/IFwiXCIgOiBcIj9cIn06ICR7bWFwKGYudHlwZSBhcyBzdHJpbmcpfVxcbmA7XG4gICAgICBvdXQgKz0gXCJ9XFxuXFxuXCI7XG4gICAgICBvdXQgKz0gYGV4cG9ydCB0eXBlICR7UH0gPSAke1B9RmllbGRzXFxuXFxuYDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChPYmplY3Qua2V5cyhiYXNlKS5sZW5ndGgpIHBhcnRzLnB1c2goYEJhc2Uke1B9RmllbGRzYCk7XG4gICAgaWYgKHBsdWdpbklkcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG1hcE5hbWUgPSBuZWVkUGx1Z2luTWFwID8gYCR7UH1QbHVnaW5GaWVsZHNgIDogdW5kZWZpbmVkO1xuICAgICAgcGFydHMucHVzaChcbiAgICAgICAgLi4ucGx1Z2luSWRzLm1hcChcbiAgICAgICAgICAoaWQpID0+XG4gICAgICAgICAgICBtYXBOYW1lXG4gICAgICAgICAgICAgID8gYCR7bWFwTmFtZX1bJHtKU09OLnN0cmluZ2lmeShpZCl9XWBcbiAgICAgICAgICAgICAgOiBcIm5ldmVyXCIgLyogbm90IHJlYWNoYWJsZSAqL1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICBvdXQgKz0gYGV4cG9ydCB0eXBlICR7UH0gPSAke3BhcnRzLmpvaW4oXCIgJiBcIil9XFxuXFxuYDtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHVuaW9uIHR5cGUgb2YgcGx1Z2luIGlkZW50aWZpZXJzXG4gIGNvbnN0IHBsdWdpbklkVW5pb24gPSBbLi4uc2Vlbl0ubWFwKChpZCkgPT4gSlNPTi5zdHJpbmdpZnkoaWQpKS5qb2luKFwiIHwgXCIpO1xuICBvdXQgKz0gYGV4cG9ydCB0eXBlIFBsdWdpbklkID0gJHtwbHVnaW5JZFVuaW9ufVxcblxcbmA7XG5cbiAgLy8gR2VuZXJhdGUgZnVsbCBzY2hlbWEgbWFwcGluZ1xuICBvdXQgKz0gYGV4cG9ydCB0eXBlIEJldHRlckF1dGhGdWxsU2NoZW1hID0ge1xcbmA7XG4gIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzKSB7XG4gICAgY29uc3QgUCA9IHBhc2NhbChtb2RlbCk7XG4gICAgb3V0ICs9IGAgICR7SlNPTi5zdHJpbmdpZnkobW9kZWwpfTogJHtQfVxcbmA7XG4gIH1cbiAgb3V0ICs9IGB9XFxuXFxuYDtcblxuICAvLyBHZW5lcmF0ZSB1bmlvbiB0eXBlIG9mIGFsbCBtb2RlbCBuYW1lc1xuICBvdXQgKz0gYGV4cG9ydCB0eXBlIE1vZGVsS2V5ID0ga2V5b2YgQmV0dGVyQXV0aEZ1bGxTY2hlbWFgO1xuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5jb25zdCBnZW5lcmF0ZWQgPSBnZW4oKTtcblxuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKSk7XG4oYXN5bmMgKCkgPT4ge1xuICBjb25zdCBmaWxlID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuLi9nZW5lcmF0ZWQtdHlwZXMudHNcIik7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShmaWxlLCBnZW5lcmF0ZWQsIFwidXRmOFwiKTtcbiAgY29uc29sZS5sb2coYEdlbmVyYXRlZCB0eXBlcyB3cml0dGVuIHRvICR7ZmlsZX1gKTtcbn0pKCk7XG4iXSwibmFtZXMiOlsicGFzc2tleSIsInNjaW0iLCJzc28iLCJzdHJpcGUiLCJlbWFpbEhhcm1vbnkiLCJwaG9uZUhhcm1vbnkiLCJnZXRTY2hlbWEiLCJuZXh0Q29va2llcyIsImFkbWluIiwiYW5vbnltb3VzIiwiYXBpS2V5IiwiYmVhcmVyIiwiY3VzdG9tU2Vzc2lvbiIsImRldmljZUF1dGhvcml6YXRpb24iLCJlbWFpbE9UUCIsImdlbmVyaWNPQXV0aCIsImp3dCIsImxhc3RMb2dpbk1ldGhvZCIsIm1hZ2ljTGluayIsIm1jcCIsIm11bHRpU2Vzc2lvbiIsIm9pZGNQcm92aWRlciIsIm9uZVRhcCIsIm9uZVRpbWVUb2tlbiIsIm9wZW5BUEkiLCJvcmdhbml6YXRpb24iLCJwaG9uZU51bWJlciIsInR3b0ZhY3RvciIsInVzZXJuYW1lIiwiY3JlYXRlQWNjZXNzQ29udHJvbCIsImRlZmF1bHRTdGF0ZW1lbnRzIiwiZGVmYXVsdEFkbWluU3RhdGVtZW50cyIsImRlZmF1bHRPcmdhbml6YXRpb25TdGF0ZW1lbnRzIiwiZnMiLCJwYXRoIiwiZmlsZVVSTFRvUGF0aCIsIlN0cmlwZSIsImFjIiwicGx1Z2lucyIsInNlbmRWZXJpZmljYXRpb25PVFAiLCJzZW5kTWFnaWNMaW5rIiwic2VuZE9UUCIsImxvZ2luUGFnZSIsImNvbmZpZyIsInByb3ZpZGVySWQiLCJjbGllbnRJZCIsImNsaWVudFNlY3JldCIsInRlYW1zIiwiZW5hYmxlZCIsImR5bmFtaWNBY2Nlc3NDb250cm9sIiwic3RvcmVJbkRhdGFiYXNlIiwic3RyaXBlQ2xpZW50Iiwic3RyaXBlV2ViaG9va1NlY3JldCIsInN1YnNjcmlwdGlvbiIsInBsYW5zIiwibmFtZSIsInByaWNlSWQiLCJiZXR0ZXJBdXRoQ29uZmlnIiwiZW1haWxBbmRQYXNzd29yZCIsInJhdGVMaW1pdCIsInN0b3JhZ2UiLCJtYXgiLCJ3aW5kb3ciLCJ1c2VyIiwiYWRkaXRpb25hbEZpZWxkcyIsInJvbGUiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiaW5wdXQiLCJiYXNlU2NoZW1hIiwibWFwIiwidCIsInBhc2NhbCIsInMiLCJzcGxpdCIsInAiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiam9pbiIsImRpZmYiLCJiYXNlIiwidGFyZ2V0IiwiZCIsIm0iLCJmaWVsZHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiYWRkZWQiLCJmaWx0ZXIiLCJrIiwibGVuZ3RoIiwiZnJvbUVudHJpZXMiLCJnZW4iLCJvdXQiLCJwbHVnaW5BZGRzIiwic2VlbiIsIlNldCIsInBsIiwiaWQiLCJoYXMiLCJhZGQiLCJhZGRzIiwiZiIsIm1vZGVscyIsImtleXMiLCJtb2RlbCIsIlAiLCJwbHVnaW5zRm9yTW9kZWwiLCJwbHVnaW5JZHMiLCJmaWVsZE5hbWUiLCJyZXF1aXJlZCIsIm5lZWRQbHVnaW5NYXAiLCJwaWQiLCJmbGRzIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ubHkiLCJwYXJ0cyIsInB1c2giLCJtYXBOYW1lIiwidW5kZWZpbmVkIiwicGx1Z2luSWRVbmlvbiIsImdlbmVyYXRlZCIsIl9fZGlybmFtZSIsImRpcm5hbWUiLCJ1cmwiLCJmaWxlIiwicmVzb2x2ZSIsIndyaXRlRmlsZSIsImNvbnNvbGUiLCJsb2ciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsU0FBU0MsSUFBSSxRQUFRLG9CQUFvQjtBQUN6QyxTQUFTQyxHQUFHLFFBQVEsbUJBQW1CO0FBQ3ZDLFNBQVNDLE1BQU0sUUFBUSxzQkFBc0I7QUFDN0MsU0FBU0MsWUFBWSxFQUFFQyxZQUFZLFFBQVEsc0JBQXNCO0FBRWpFLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFDM0MsU0FBU0MsV0FBVyxRQUFRLHNCQUFzQjtBQUNsRCxTQUNFQyxLQUFLLEVBQ0xDLFNBQVMsRUFDVEMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsbUJBQW1CLEVBQ25CQyxRQUFRLEVBQ1JDLFlBQVksRUFDWkMsR0FBRyxFQUNIQyxlQUFlLEVBQ2ZDLFNBQVMsRUFDVEMsR0FBRyxFQUNIQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFNBQVMsRUFDVEMsUUFBUSxRQUNILHNCQUFzQjtBQUM3QixTQUFTQyxtQkFBbUIsUUFBUSw2QkFBNkI7QUFDakUsU0FBU0MscUJBQXFCQyxzQkFBc0IsUUFBUSxtQ0FBbUM7QUFDL0YsU0FBU0QscUJBQXFCRSw2QkFBNkIsUUFBUSwwQ0FBMEM7QUFDN0csT0FBT0MsUUFBUSxtQkFBbUI7QUFDbEMsT0FBT0MsVUFBVSxZQUFZO0FBQzdCLFNBQVNDLGFBQWEsUUFBUSxXQUFXO0FBRXpDLE9BQU9DLFlBQVksU0FBUztBQUc1QixNQUFNQyxLQUFLUixvQkFBb0I7SUFDN0IsR0FBR0cs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
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9zY3JpcHRzL2dlbmVyYXRlLXR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHsgYXBpS2V5IH0gZnJvbSBcIkBiZXR0ZXItYXV0aC9hcGkta2V5XCI7XG5pbXBvcnQgeyBwYXNza2V5IH0gZnJvbSBcIkBiZXR0ZXItYXV0aC9wYXNza2V5XCI7XG5pbXBvcnQgeyBzY2ltIH0gZnJvbSBcIkBiZXR0ZXItYXV0aC9zY2ltXCI7XG5pbXBvcnQgeyBzc28gfSBmcm9tIFwiQGJldHRlci1hdXRoL3Nzb1wiO1xuaW1wb3J0IHsgc3RyaXBlIH0gZnJvbSBcIkBiZXR0ZXItYXV0aC9zdHJpcGVcIjtcbmltcG9ydCB7IGJldHRlckF1dGggfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB0eXBlIHsgREJGaWVsZEF0dHJpYnV0ZSB9IGZyb20gXCJiZXR0ZXItYXV0aC9kYlwiO1xuaW1wb3J0IHsgZ2V0U2NoZW1hIH0gZnJvbSBcImJldHRlci1hdXRoL2RiXCI7XG5pbXBvcnQgeyBuZXh0Q29va2llcyB9IGZyb20gXCJiZXR0ZXItYXV0aC9uZXh0LWpzXCI7XG5pbXBvcnQge1xuICBhZG1pbixcbiAgYW5vbnltb3VzLFxuICBiZWFyZXIsXG4gIGN1c3RvbVNlc3Npb24sXG4gIGRldmljZUF1dGhvcml6YXRpb24sXG4gIGVtYWlsT1RQLFxuICBnZW5lcmljT0F1dGgsXG4gIGp3dCxcbiAgbGFzdExvZ2luTWV0aG9kLFxuICBtYWdpY0xpbmssXG4gIG1jcCxcbiAgbXVsdGlTZXNzaW9uLFxuICBvaWRjUHJvdmlkZXIsXG4gIG9uZVRhcCxcbiAgb25lVGltZVRva2VuLFxuICBvcGVuQVBJLFxuICBvcmdhbml6YXRpb24sXG4gIHBob25lTnVtYmVyLFxuICB0d29GYWN0b3IsXG4gIHVzZXJuYW1lXG59IGZyb20gXCJiZXR0ZXItYXV0aC9wbHVnaW5zXCI7XG5pbXBvcnQgeyBjcmVhdGVBY2Nlc3NDb250cm9sIH0gZnJvbSBcImJldHRlci1hdXRoL3BsdWdpbnMvYWNjZXNzXCI7XG5pbXBvcnQgeyBkZWZhdWx0U3RhdGVtZW50cyBhcyBkZWZhdWx0QWRtaW5TdGF0ZW1lbnRzIH0gZnJvbSBcImJldHRlci1hdXRoL3BsdWdpbnMvYWRtaW4vYWNjZXNzXCI7XG5pbXBvcnQgeyBkZWZhdWx0U3RhdGVtZW50cyBhcyBkZWZhdWx0T3JnYW5pemF0aW9uU3RhdGVtZW50cyB9IGZyb20gXCJiZXR0ZXItYXV0aC9wbHVnaW5zL29yZ2FuaXphdGlvbi9hY2Nlc3NcIjtcbmltcG9ydCB7IGVtYWlsSGFybW9ueSwgcGhvbmVIYXJtb255IH0gZnJvbSBcImJldHRlci1hdXRoLWhhcm1vbnlcIjtcbmltcG9ydCBTdHJpcGUgZnJvbSBcInN0cmlwZVwiO1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBhYyA9IGNyZWF0ZUFjY2Vzc0NvbnRyb2woe1xuICAvLyBmb29LaW5nOiBbXCJjcmVhdGVcIiwgXCJ1cGRhdGVcIiwgXCJkZWxldGVcIl1cbiAgLi4uZGVmYXVsdE9yZ2FuaXphdGlvblN0YXRlbWVudHMsXG4gIC4uLmRlZmF1bHRBZG1pblN0YXRlbWVudHNcbn0pO1xuXG5jb25zdCBwbHVnaW5zID0gW1xuICB1c2VybmFtZSgpLFxuICBhZG1pbigpLFxuICBhcGlLZXkoKSxcbiAgcGFzc2tleSgpLFxuICBlbWFpbEhhcm1vbnkoKSxcbiAgcGhvbmVIYXJtb255KCksXG4gIGJlYXJlcigpLFxuICBlbWFpbE9UUCh7IHNlbmRWZXJpZmljYXRpb25PVFA6IGFzeW5jICgpID0+IHt9IH0pLFxuICBtYWdpY0xpbmsoeyBzZW5kTWFnaWNMaW5rOiBhc3luYyAoKSA9PiB7fSB9KSxcbiAgcGhvbmVOdW1iZXIoeyBzZW5kT1RQOiBhc3luYyAoKSA9PiB7fSB9KSxcbiAgb25lVGFwKCksXG4gIGFub255bW91cygpLFxuICBtdWx0aVNlc3Npb24oKSxcbiAgb25lVGltZVRva2VuKCksXG4gIG9pZGNQcm92aWRlcih7IGxvZ2luUGFnZTogXCJcIiB9KSxcbiAgc3NvKCksXG4gIGdlbmVyaWNPQXV0aCh7XG4gICAgY29uZmlnOiBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGVySWQ6IFwidHlwZXNjcmlwdFwiLFxuICAgICAgICBjbGllbnRJZDogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgIGNsaWVudFNlY3JldDogXCJ0eXBlc2NyaXB0XCJcbiAgICAgIH1cbiAgICBdXG4gIH0pLFxuICBvcGVuQVBJKCksXG4gIG9yZ2FuaXphdGlvbih7XG4gICAgdGVhbXM6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgIGFjLFxuICAgIGR5bmFtaWNBY2Nlc3NDb250cm9sOiB7XG4gICAgICBlbmFibGVkOiB0cnVlXG4gICAgfVxuICB9KSxcbiAgand0KCksXG4gIHR3b0ZhY3RvcigpLFxuICBwaG9uZU51bWJlcigpLFxuICBuZXh0Q29va2llcygpLFxuICBjdXN0b21TZXNzaW9uKGFzeW5jICgpID0+ICh7fSkpLFxuICBzY2ltKCksXG4gIG1jcCh7IGxvZ2luUGFnZTogXCJcIiB9KSxcbiAgZGV2aWNlQXV0aG9yaXphdGlvbigpLFxuICBsYXN0TG9naW5NZXRob2QoeyBzdG9yZUluRGF0YWJhc2U6IHRydWUgfSksXG4gIHN0cmlwZSh7XG4gICAgc3RyaXBlQ2xpZW50OiBuZXcgU3RyaXBlKFwidHlwZXNjcmlwdFwiKSxcbiAgICBzdHJpcGVXZWJob29rU2VjcmV0OiBcInR5cGVzY3JpcHRcIixcbiAgICBzdWJzY3JpcHRpb246IHtcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICBwbGFuczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJCYXNpY1wiLFxuICAgICAgICAgIHByaWNlSWQ6IFwiYmFzaWNcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJQcm9cIixcbiAgICAgICAgICBwcmljZUlkOiBcInByb1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkVudGVycHJpc2VcIixcbiAgICAgICAgICBwcmljZUlkOiBcImVudGVycHJpc2VcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9KVxuICAvLyBBcyBvZiB3cml0aW5nIHRoaXMsIFBvbGFyIGRvbid0IGNyZWF0ZSBzY2hlbWEgZmllbGRzLCBidXQganVzdCBpbiBjYXNlIGluIHRoZSBmdXR1cmUgd2UgbGVhdmUgdGhpcyBoZXJlLlxuXTtcblxuY29uc3QgYmV0dGVyQXV0aENvbmZpZyA9IHtcbiAgZW1haWxBbmRQYXNzd29yZDogeyBlbmFibGVkOiB0cnVlIH0sXG4gIHJhdGVMaW1pdDogeyBlbmFibGVkOiB0cnVlLCBzdG9yYWdlOiBcImRhdGFiYXNlXCIsIG1heDogNSwgd2luZG93OiAxMCB9LFxuICB1c2VyOiB7XG4gICAgYWRkaXRpb25hbEZpZWxkczoge1xuICAgICAgcm9sZTogeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IFwidXNlclwiLCBpbnB1dDogZmFsc2UgfVxuICAgIH1cbiAgfSxcbiAgcGx1Z2luc1xufSBzYXRpc2ZpZXMgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnM7XG5cbmNvbnN0IGJhc2VTY2hlbWEgPSBnZXRTY2hlbWEoeyAuLi5iZXR0ZXJBdXRoQ29uZmlnLCBwbHVnaW5zOiBbXSB9KTtcblxudHlwZSBTY2hlbWEgPSBSZWNvcmQ8c3RyaW5nLCB7IGZpZWxkczogUmVjb3JkPHN0cmluZywgREJGaWVsZEF0dHJpYnV0ZT4gfT47XG5cbmNvbnN0IG1hcCA9ICh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAodCA9PT0gXCJib29sZWFuXCIpIHJldHVybiBcImJvb2xlYW5cIjtcbiAgaWYgKHQgPT09IFwiZGF0ZVwiKSByZXR1cm4gXCJEYXRlXCI7XG4gIGlmICh0ID09PSBcIm51bWJlclwiKSByZXR1cm4gXCJudW1iZXJcIjtcbiAgaWYgKHQgPT09IFwic3RyaW5nXCIpIHJldHVybiBcInN0cmluZ1wiO1xuICBpZiAodCA9PT0gXCJudW1iZXJbXVwiKSByZXR1cm4gXCJudW1iZXJbXVwiO1xuICBpZiAodCA9PT0gXCJzdHJpbmdbXVwiKSByZXR1cm4gXCJzdHJpbmdbXVwiO1xuICByZXR1cm4gXCJ1bmtub3duXCI7XG59O1xuXG5jb25zdCBwYXNjYWwgPSAoczogc3RyaW5nKTogc3RyaW5nID0+XG4gIHNcbiAgICAuc3BsaXQoL1stX10vZylcbiAgICAubWFwKChwKSA9PiBwLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcC5zbGljZSgxKSlcbiAgICAuam9pbihcIlwiKTtcblxuY29uc3QgZGlmZiA9IChcbiAgYmFzZTogU2NoZW1hLFxuICB0YXJnZXQ6IFNjaGVtYVxuKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgREJGaWVsZEF0dHJpYnV0ZT4+ID0+IHtcbiAgY29uc3QgZDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgREJGaWVsZEF0dHJpYnV0ZT4+ID0ge307XG4gIGZvciAoY29uc3QgW20sIHsgZmllbGRzIH1dIG9mIE9iamVjdC5lbnRyaWVzKHRhcmdldCkpIHtcbiAgICBjb25zdCBhZGRlZCA9IE9iamVjdC5lbnRyaWVzKGZpZWxkcykuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIShrIGluIChiYXNlW21dPy5maWVsZHMgPz8ge30pKVxuICAgICk7XG4gICAgaWYgKGFkZGVkLmxlbmd0aCkgZFttXSA9IE9iamVjdC5mcm9tRW50cmllcyhhZGRlZCk7XG4gIH1cbiAgcmV0dXJuIGQ7XG59O1xuXG5jb25zdCBnZW4gPSAoKTogc3RyaW5nID0+IHtcbiAgbGV0IG91dCA9IFwiLy8gQXV0by1nZW5lcmF0ZWQgdHlwZXMuIERvIG5vdCBlZGl0LlxcblxcblwiO1xuXG4gIGNvbnN0IHBsdWdpbkFkZHM6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgREJGaWVsZEF0dHJpYnV0ZT4+XG4gID4gPSB7fTtcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgcGwgb2YgcGx1Z2lucykge1xuICAgIGNvbnN0IGlkID0gKHBsIGFzIGFueSkuaWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaWQgfHwgc2Vlbi5oYXMoaWQpKSBjb250aW51ZTtcbiAgICBzZWVuLmFkZChpZCk7XG4gICAgY29uc3QgYWRkcyA9IGRpZmYoXG4gICAgICBiYXNlU2NoZW1hLFxuICAgICAgZ2V0U2NoZW1hKHsgLi4uYmV0dGVyQXV0aENvbmZpZywgcGx1Z2luczogW3BsXSB9KVxuICAgICk7XG4gICAgZm9yIChjb25zdCBbbSwgZl0gb2YgT2JqZWN0LmVudHJpZXMoYWRkcykpIHtcbiAgICAgIHBsdWdpbkFkZHNbbV0gPz89IHt9O1xuICAgICAgcGx1Z2luQWRkc1ttXVtpZF0gPSBmO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG1vZGVscyA9IG5ldyBTZXQ8c3RyaW5nPihbXG4gICAgLi4uT2JqZWN0LmtleXMoYmFzZVNjaGVtYSksXG4gICAgLi4uT2JqZWN0LmtleXMocGx1Z2luQWRkcylcbiAgXSk7XG5cbiAgZm9yIChjb25zdCBtb2RlbCBvZiBtb2RlbHMpIHtcbiAgICBjb25zdCBQID0gcGFzY2FsKG1vZGVsKTtcbiAgICBjb25zdCBiYXNlID0gYmFzZVNjaGVtYVttb2RlbF0/LmZpZWxkcyA/PyB7fTtcbiAgICBjb25zdCBwbHVnaW5zRm9yTW9kZWwgPSBwbHVnaW5BZGRzW21vZGVsXSA/PyB7fTtcbiAgICBjb25zdCBwbHVnaW5JZHMgPSBPYmplY3Qua2V5cyhwbHVnaW5zRm9yTW9kZWwpO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGJhc2UpLmxlbmd0aCkge1xuICAgICAgb3V0ICs9IGBleHBvcnQgdHlwZSBCYXNlJHtQfUZpZWxkcyA9IHtcXG5gO1xuICAgICAgZm9yIChjb25zdCBbaywgZl0gb2YgT2JqZWN0LmVudHJpZXMoYmFzZSkpXG4gICAgICAgIG91dCArPSBgICAke2YuZmllbGROYW1lID8/IGt9JHtmLnJlcXVpcmVkID8gXCJcIiA6IFwiP1wifTogJHttYXAoZi50eXBlIGFzIHN0cmluZyl9XFxuYDtcbiAgICAgIG91dCArPSBcIn1cXG5cXG5cIjtcbiAgICB9XG5cbiAgICBjb25zdCBuZWVkUGx1Z2luTWFwID0gcGx1Z2luSWRzLmxlbmd0aCA+IDEgfHwgT2JqZWN0LmtleXMoYmFzZSkubGVuZ3RoO1xuICAgIGlmIChuZWVkUGx1Z2luTWFwICYmIHBsdWdpbklkcy5sZW5ndGgpIHtcbiAgICAgIG91dCArPSBgZXhwb3J0IHR5cGUgJHtQfVBsdWdpbkZpZWxkcyA9IHtcXG5gO1xuICAgICAgZm9yIChjb25zdCBbcGlkLCBmbGRzXSBvZiBPYmplY3QuZW50cmllcyhwbHVnaW5zRm9yTW9kZWwpKSB7XG4gICAgICAgIG91dCArPSBgICAke0pTT04uc3RyaW5naWZ5KHBpZCl9OiB7XFxuYDtcbiAgICAgICAgZm9yIChjb25zdCBbaywgZl0gb2YgT2JqZWN0LmVudHJpZXMoZmxkcykpXG4gICAgICAgICAgb3V0ICs9IGAgICAgJHtmLmZpZWxkTmFtZSA/PyBrfSR7Zi5yZXF1aXJlZCA/IFwiXCIgOiBcIj9cIn06ICR7bWFwKGYudHlwZSBhcyBzdHJpbmcpfVxcbmA7XG4gICAgICAgIG91dCArPSBcIiAgfVxcblwiO1xuICAgICAgfVxuICAgICAgb3V0ICs9IFwifVxcblxcblwiO1xuICAgIH1cblxuICAgIGlmICghT2JqZWN0LmtleXMoYmFzZSkubGVuZ3RoICYmIHBsdWdpbklkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IG9ubHkgPSBwbHVnaW5JZHNbMF07XG4gICAgICBvdXQgKz0gYGV4cG9ydCB0eXBlICR7UH1GaWVsZHMgPSB7XFxuYDtcbiAgICAgIGZvciAoY29uc3QgW2ssIGZdIG9mIE9iamVjdC5lbnRyaWVzKHBsdWdpbnNGb3JNb2RlbFtvbmx5XSkpXG4gICAgICAgIG91dCArPSBgICAke2YuZmllbGROYW1lID8/IGt9JHtmLnJlcXVpcmVkID8gXCJcIiA6IFwiP1wifTogJHttYXAoZi50eXBlIGFzIHN0cmluZyl9XFxuYDtcbiAgICAgIG91dCArPSBcIn1cXG5cXG5cIjtcbiAgICAgIG91dCArPSBgZXhwb3J0IHR5cGUgJHtQfSA9ICR7UH1GaWVsZHNcXG5cXG5gO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKE9iamVjdC5rZXlzKGJhc2UpLmxlbmd0aCkgcGFydHMucHVzaChgQmFzZSR7UH1GaWVsZHNgKTtcbiAgICBpZiAocGx1Z2luSWRzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbWFwTmFtZSA9IG5lZWRQbHVnaW5NYXAgPyBgJHtQfVBsdWdpbkZpZWxkc2AgOiB1bmRlZmluZWQ7XG4gICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAuLi5wbHVnaW5JZHMubWFwKFxuICAgICAgICAgIChpZCkgPT5cbiAgICAgICAgICAgIG1hcE5hbWVcbiAgICAgICAgICAgICAgPyBgJHttYXBOYW1lfVske0pTT04uc3RyaW5naWZ5KGlkKX1dYFxuICAgICAgICAgICAgICA6IFwibmV2ZXJcIiAvKiBub3QgcmVhY2hhYmxlICovXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIG91dCArPSBgZXhwb3J0IHR5cGUgJHtQfSA9ICR7cGFydHMuam9pbihcIiAmIFwiKX1cXG5cXG5gO1xuICB9XG5cbiAgLy8gR2VuZXJhdGUgdW5pb24gdHlwZSBvZiBwbHVnaW4gaWRlbnRpZmllcnNcbiAgY29uc3QgcGx1Z2luSWRVbmlvbiA9IFsuLi5zZWVuXS5tYXAoKGlkKSA9PiBKU09OLnN0cmluZ2lmeShpZCkpLmpvaW4oXCIgfCBcIik7XG4gIG91dCArPSBgZXhwb3J0IHR5cGUgUGx1Z2luSWQgPSAke3BsdWdpbklkVW5pb259XFxuXFxuYDtcblxuICAvLyBHZW5lcmF0ZSBmdWxsIHNjaGVtYSBtYXBwaW5nXG4gIG91dCArPSBgZXhwb3J0IHR5cGUgQmV0dGVyQXV0aEZ1bGxTY2hlbWEgPSB7XFxuYDtcbiAgZm9yIChjb25zdCBtb2RlbCBvZiBtb2RlbHMpIHtcbiAgICBjb25zdCBQID0gcGFzY2FsKG1vZGVsKTtcbiAgICBvdXQgKz0gYCAgJHtKU09OLnN0cmluZ2lmeShtb2RlbCl9OiAke1B9XFxuYDtcbiAgfVxuICBvdXQgKz0gYH1cXG5cXG5gO1xuXG4gIC8vIEdlbmVyYXRlIHVuaW9uIHR5cGUgb2YgYWxsIG1vZGVsIG5hbWVzXG4gIG91dCArPSBgZXhwb3J0IHR5cGUgTW9kZWxLZXkgPSBrZXlvZiBCZXR0ZXJBdXRoRnVsbFNjaGVtYWA7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmNvbnN0IGdlbmVyYXRlZCA9IGdlbigpO1xuXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcbihhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGZpbGUgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcIi4uL2dlbmVyYXRlZC10eXBlcy50c1wiKTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKGZpbGUsIGdlbmVyYXRlZCwgXCJ1dGY4XCIpO1xuICBjb25zb2xlLmxvZyhgR2VuZXJhdGVkIHR5cGVzIHdyaXR0ZW4gdG8gJHtmaWxlfWApO1xufSkoKTtcbiJdLCJuYW1lcyI6WyJmcyIsInBhdGgiLCJmaWxlVVJMVG9QYXRoIiwiYXBpS2V5IiwicGFzc2tleSIsInNjaW0iLCJzc28iLCJzdHJpcGUiLCJnZXRTY2hlbWEiLCJuZXh0Q29va2llcyIsImFkbWluIiwiYW5vbnltb3VzIiwiYmVhcmVyIiwiY3VzdG9tU2Vzc2lvbiIsImRldmljZUF1dGhvcml6YXRpb24iLCJlbWFpbE9UUCIsImdlbmVyaWNPQXV0aCIsImp3dCIsImxhc3RMb2dpbk1ldGhvZCIsIm1hZ2ljTGluayIsIm1jcCIsIm11bHRpU2Vzc2lvbiIsIm9pZGNQcm92aWRlciIsIm9uZVRhcCIsIm9uZVRpbWVUb2tlbiIsIm9wZW5BUEkiLCJvcmdhbml6YXRpb24iLCJwaG9uZU51bWJlciIsInR3b0ZhY3RvciIsInVzZXJuYW1lIiwiY3JlYXRlQWNjZXNzQ29udHJvbCIsImRlZmF1bHRTdGF0ZW1lbnRzIiwiZGVmYXVsdEFkbWluU3RhdGVtZW50cyIsImRlZmF1bHRPcmdhbml6YXRpb25TdGF0ZW1lbnRzIiwiZW1haWxIYXJtb255IiwicGhvbmVIYXJtb255IiwiU3RyaXBlIiwiYWMiLCJwbHVnaW5zIiwic2VuZFZlcmlmaWNhdGlvbk9UUCIsInNlbmRNYWdpY0xpbmsiLCJzZW5kT1RQIiwibG9naW5QYWdlIiwiY29uZmlnIiwicHJvdmlkZXJJZCIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwidGVhbXMiLCJlbmFibGVkIiwiZHluYW1pY0FjY2Vzc0NvbnRyb2wiLCJzdG9yZUluRGF0YWJhc2UiLCJzdHJpcGVDbGllbnQiLCJzdHJpcGVXZWJob29rU2VjcmV0Iiwic3Vic2NyaXB0aW9uIiwicGxhbnMiLCJuYW1lIiwicHJpY2VJZCIsImJldHRlckF1dGhDb25maWciLCJlbWFpbEFuZFBhc3N3b3JkIiwicmF0ZUxpbWl0Iiwic3RvcmFnZSIsIm1heCIsIndpbmRvdyIsInVzZXIiLCJhZGRpdGlvbmFsRmllbGRzIiwicm9sZSIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJpbnB1dCIsImJhc2VTY2hlbWEiLCJtYXAiLCJ0IiwicGFzY2FsIiwicyIsInNwbGl0IiwicCIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJqb2luIiwiZGlmZiIsImJhc2UiLCJ0YXJnZXQiLCJkIiwibSIsImZpZWxkcyIsIk9iamVjdCIsImVudHJpZXMiLCJhZGRlZCIsImZpbHRlciIsImsiLCJsZW5ndGgiLCJmcm9tRW50cmllcyIsImdlbiIsIm91dCIsInBsdWdpbkFkZHMiLCJzZWVuIiwiU2V0IiwicGwiLCJpZCIsImhhcyIsImFkZCIsImFkZHMiLCJmIiwibW9kZWxzIiwia2V5cyIsIm1vZGVsIiwiUCIsInBsdWdpbnNGb3JNb2RlbCIsInBsdWdpbklkcyIsImZpZWxkTmFtZSIsInJlcXVpcmVkIiwibmVlZFBsdWdpbk1hcCIsInBpZCIsImZsZHMiLCJKU09OIiwic3RyaW5naWZ5Iiwib25seSIsInBhcnRzIiwicHVzaCIsIm1hcE5hbWUiLCJ1bmRlZmluZWQiLCJwbHVnaW5JZFVuaW9uIiwiZ2VuZXJhdGVkIiwiX19kaXJuYW1lIiwiZGlybmFtZSIsInVybCIsImZpbGUiLCJyZXNvbHZlIiwid3JpdGVGaWxlIiwiY29uc29sZSIsImxvZyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsUUFBUSxtQkFBbUI7QUFDbEMsT0FBT0MsVUFBVSxZQUFZO0FBQzdCLFNBQVNDLGFBQWEsUUFBUSxXQUFXO0FBQ3pDLFNBQVNDLE1BQU0sUUFBUSx1QkFBdUI7QUFDOUMsU0FBU0MsT0FBTyxRQUFRLHVCQUF1QjtBQUMvQyxTQUFTQyxJQUFJLFFBQVEsb0JBQW9CO0FBQ3pDLFNBQVNDLEdBQUcsUUFBUSxtQkFBbUI7QUFDdkMsU0FBU0MsTUFBTSxRQUFRLHNCQUFzQjtBQUc3QyxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBQzNDLFNBQVNDLFdBQVcsUUFBUSxzQkFBc0I7QUFDbEQsU0FDRUMsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsYUFBYSxFQUNiQyxtQkFBbUIsRUFDbkJDLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxHQUFHLEVBQ0hDLGVBQWUsRUFDZkMsU0FBUyxFQUNUQyxHQUFHLEVBQ0hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFlBQVksRUFDWkMsT0FBTyxFQUNQQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsU0FBUyxFQUNUQyxRQUFRLFFBQ0gsc0JBQXNCO0FBQzdCLFNBQVNDLG1CQUFtQixRQUFRLDZCQUE2QjtBQUNqRSxTQUFTQyxxQkFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload-auth",
3
- "version": "1.8.4",
3
+ "version": "1.9.0",
4
4
  "description": "The most powerful authentication solution for Payload CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -67,10 +67,12 @@
67
67
  "build": "pnpm clean && pnpm copyfiles && pnpm build:types && pnpm build:swc",
68
68
  "dev": "pnpm build && pnpm dev:watch",
69
69
  "dev:watch": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths --watch",
70
- "copyfiles": "copyfiles -u 1 --exclude \"src/better-auth/adapter/tests/**/*\" \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist",
70
+ "copyfiles": "copyfiles -u 1 --exclude \"src/better-auth/adapter/tests/**/*\" --exclude \"src/better-auth/tests/**/*\" --exclude \"src/better-auth/plugin/tests/**/*\" \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist",
71
71
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
72
72
  "build:types": "pnpm generate:better-auth-types && tsc --project tsconfig.json",
73
73
  "test": "vitest",
74
+ "test:run": "vitest run",
75
+ "test:payload": "cross-env PAYLOAD_CONFIG_PATH=src/better-auth/tests/dev/index.ts payload",
74
76
  "generate:better-auth-types": "rm -rf src/better-auth/generated-types.ts && tsx src/better-auth/scripts/generate-types.ts"
75
77
  },
76
78
  "peerDependencies": {
@@ -78,23 +80,24 @@
78
80
  "@payloadcms/next": ">=3.69.0 <4",
79
81
  "@payloadcms/ui": ">=3.69.0 <4",
80
82
  "better-auth": ">=1.4.0 <2",
81
- "next": ">=15.4.8 <16",
83
+ "next": ">=15.4.8 <17",
82
84
  "payload": ">=3.69.0 <4",
83
85
  "react": ">=19.2.1 <20",
84
86
  "react-dom": ">=19.2.1 <20"
85
87
  },
86
88
  "devDependencies": {
87
- "@better-auth/passkey": "1.4.10",
88
- "@better-auth/core": "1.4.10",
89
- "@better-auth/sso": "1.4.10",
90
- "@better-auth/stripe": "1.4.10",
91
- "@better-auth/scim": "1.4.10",
92
- "@payloadcms/db-postgres": "3.69.0",
93
- "@payloadcms/next": "3.69.0",
94
- "@payloadcms/ui": "3.69.0",
95
- "@polar-sh/better-auth": "1.5.0",
96
- "@polar-sh/sdk": "^0.41.5",
97
- "better-auth": "1.4.10",
89
+ "@better-auth/api-key": "1.5.3",
90
+ "@better-auth/passkey": "1.5.3",
91
+ "@better-auth/core": "1.5.3",
92
+ "@better-auth/sso": "1.5.3",
93
+ "@better-auth/stripe": "1.5.3",
94
+ "@better-auth/scim": "1.5.3",
95
+ "@payloadcms/db-postgres": "3.79.0",
96
+ "@payloadcms/next": "3.79.0",
97
+ "@payloadcms/ui": "3.79.0",
98
+ "@polar-sh/better-auth": "1.8.2",
99
+ "@polar-sh/sdk": "^0.46.1",
100
+ "better-auth": "1.5.3",
98
101
  "@swc/cli": "0.7.9",
99
102
  "@swc/core": "1.15.8",
100
103
  "@types/node": "25.0.3",
@@ -103,13 +106,13 @@
103
106
  "copyfiles": "^2.4.1",
104
107
  "cross-env": "^7.0.3",
105
108
  "dotenv": "^16.5.0",
106
- "payload": "3.69.0",
109
+ "payload": "3.79.0",
107
110
  "tsx": "^4.19.4",
108
111
  "typescript": "5.9.3",
109
- "vitest": "4.0.16"
112
+ "vitest": "4.0.18"
110
113
  },
111
114
  "dependencies": {
112
- "@better-auth/utils": "0.3.0",
115
+ "@better-auth/utils": "0.3.1",
113
116
  "@tanstack/react-form": "1.27.7",
114
117
  "class-variance-authority": "0.7.1",
115
118
  "clsx": "2.1.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-disabled-default-auth-config.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/apply-disabled-default-auth-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,aAAa,EACb,aAAa,EACb,yBAAyB,EAC1B,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD,yBAAyB,EAAE,iBAAiB,CAAC;CAC9C,GAAG,IAAI,CAqFP"}
@@ -1,87 +0,0 @@
1
- import { adminRoutes, baModelKey, baseSlugs, supportedBAPluginIds } from "../constants";
2
- import { checkPluginExists } from "../helpers/check-plugin-exists";
3
- /**
4
- * Applies all admin-related overrides when `disableDefaultPayloadAuth` is `true`.
5
- * Mutates the provided Payload config in-place.
6
- */ export function applyDisabledDefaultAuthConfig({ config, pluginOptions, collectionMap, resolvedBetterAuthSchemas }) {
7
- config.admin = {
8
- ...config.admin,
9
- components: {
10
- ...config.admin?.components,
11
- afterLogin: [
12
- {
13
- path: "payload-auth/better-auth/plugin/rsc#RSCRedirect",
14
- serverProps: {
15
- pluginOptions,
16
- redirectTo: `${config.routes?.admin === undefined ? "/admin" : config.routes.admin.replace(/\/+$/, "")}${adminRoutes.adminLogin}`
17
- }
18
- },
19
- ...config.admin?.components?.afterLogin || []
20
- ],
21
- logout: {
22
- Button: {
23
- path: "payload-auth/better-auth/plugin/client#LogoutButton"
24
- }
25
- },
26
- views: {
27
- ...config.admin?.components?.views,
28
- adminLogin: {
29
- path: adminRoutes.adminLogin,
30
- Component: {
31
- path: "payload-auth/better-auth/plugin/rsc#AdminLogin",
32
- serverProps: {
33
- pluginOptions,
34
- adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
35
- }
36
- }
37
- },
38
- adminSignup: {
39
- path: adminRoutes.adminSignup,
40
- Component: {
41
- path: "payload-auth/better-auth/plugin/rsc#AdminSignup",
42
- serverProps: {
43
- pluginOptions,
44
- adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
45
- }
46
- }
47
- },
48
- forgotPassword: {
49
- path: adminRoutes.forgotPassword,
50
- Component: {
51
- path: "payload-auth/better-auth/plugin/rsc#ForgotPassword",
52
- serverProps: {
53
- pluginOptions
54
- }
55
- }
56
- },
57
- resetPassword: {
58
- path: adminRoutes.resetPassword,
59
- Component: {
60
- path: "payload-auth/better-auth/plugin/rsc#ResetPassword",
61
- serverProps: {
62
- pluginOptions
63
- }
64
- }
65
- },
66
- ...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.twoFactor) && {
67
- twoFactorVerify: {
68
- path: adminRoutes.twoFactorVerify,
69
- Component: {
70
- path: "payload-auth/better-auth/plugin/rsc#TwoFactorVerify",
71
- serverProps: {
72
- pluginOptions: pluginOptions,
73
- verificationsSlug: resolvedBetterAuthSchemas[baModelKey.verification].modelName
74
- }
75
- }
76
- }
77
- }
78
- }
79
- },
80
- routes: {
81
- ...config.admin?.routes,
82
- login: adminRoutes.loginRedirect
83
- }
84
- };
85
- }
86
-
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2FwcGx5LWRpc2FibGVkLWRlZmF1bHQtYXV0aC1jb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnLCBDb25maWcgfSBmcm9tIFwicGF5bG9hZFwiO1xuaW1wb3J0IHtcbiAgYWRtaW5Sb3V0ZXMsXG4gIGJhTW9kZWxLZXksXG4gIGJhc2VTbHVncyxcbiAgc3VwcG9ydGVkQkFQbHVnaW5JZHNcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tQbHVnaW5FeGlzdHMgfSBmcm9tIFwiLi4vaGVscGVycy9jaGVjay1wbHVnaW4tZXhpc3RzXCI7XG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhTY2hlbWFzLCBQYXlsb2FkQXV0aE9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBBcHBsaWVzIGFsbCBhZG1pbi1yZWxhdGVkIG92ZXJyaWRlcyB3aGVuIGBkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoYCBpcyBgdHJ1ZWAuXG4gKiBNdXRhdGVzIHRoZSBwcm92aWRlZCBQYXlsb2FkIGNvbmZpZyBpbi1wbGFjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RGlzYWJsZWREZWZhdWx0QXV0aENvbmZpZyh7XG4gIGNvbmZpZyxcbiAgcGx1Z2luT3B0aW9ucyxcbiAgY29sbGVjdGlvbk1hcCxcbiAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1xufToge1xuICBjb25maWc6IENvbmZpZztcbiAgcGx1Z2luT3B0aW9uczogUGF5bG9hZEF1dGhPcHRpb25zO1xuICBjb2xsZWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uQ29uZmlnPjtcbiAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXM7XG59KTogdm9pZCB7XG4gIGNvbmZpZy5hZG1pbiA9IHtcbiAgICAuLi5jb25maWcuYWRtaW4sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgLi4uY29uZmlnLmFkbWluPy5jb21wb25lbnRzLFxuICAgICAgYWZ0ZXJMb2dpbjogW1xuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNSU0NSZWRpcmVjdFwiLFxuICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgcmVkaXJlY3RUbzogYCR7Y29uZmlnLnJvdXRlcz8uYWRtaW4gPT09IHVuZGVmaW5lZCA/IFwiL2FkbWluXCIgOiBjb25maWcucm91dGVzLmFkbWluLnJlcGxhY2UoL1xcLyskLywgXCJcIil9JHthZG1pblJvdXRlcy5hZG1pbkxvZ2lufWBcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLihjb25maWcuYWRtaW4/LmNvbXBvbmVudHM/LmFmdGVyTG9naW4gfHwgW10pXG4gICAgICBdLFxuICAgICAgbG9nb3V0OiB7XG4gICAgICAgIEJ1dHRvbjoge1xuICAgICAgICAgIHBhdGg6IFwicGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjTG9nb3V0QnV0dG9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHZpZXdzOiB7XG4gICAgICAgIC4uLmNvbmZpZy5hZG1pbj8uY29tcG9uZW50cz8udmlld3MsXG4gICAgICAgIGFkbWluTG9naW46IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5hZG1pbkxvZ2luLFxuICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pbkxvZ2luXCIsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzpcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uTWFwW2Jhc2VTbHVncy5hZG1pbkludml0YXRpb25zXS5zbHVnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBhZG1pblNpZ251cDoge1xuICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmFkbWluU2lnbnVwLFxuICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pblNpZ251cFwiLFxuICAgICAgICAgICAgc2VydmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgYWRtaW5JbnZpdGF0aW9uc1NsdWc6XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZm9yZ290UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5mb3Jnb3RQYXNzd29yZCxcbiAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgIHBhdGg6IFwicGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjRm9yZ290UGFzc3dvcmRcIixcbiAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgIHBsdWdpbk9wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5yZXNldFBhc3N3b3JkLFxuICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNSZXNldFBhc3N3b3JkXCIsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi4oY2hlY2tQbHVnaW5FeGlzdHMoXG4gICAgICAgICAgcGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSxcbiAgICAgICAgICBzdXBwb3J0ZWRCQVBsdWdpbklkcy50d29GYWN0b3JcbiAgICAgICAgKSAmJiB7XG4gICAgICAgICAgdHdvRmFjdG9yVmVyaWZ5OiB7XG4gICAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy50d29GYWN0b3JWZXJpZnksXG4gICAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgcGF0aDogXCJwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNUd29GYWN0b3JWZXJpZnlcIixcbiAgICAgICAgICAgICAgc2VydmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICAgIHZlcmlmaWNhdGlvbnNTbHVnOlxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1tiYU1vZGVsS2V5LnZlcmlmaWNhdGlvbl0ubW9kZWxOYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICByb3V0ZXM6IHtcbiAgICAgIC4uLmNvbmZpZy5hZG1pbj8ucm91dGVzLFxuICAgICAgbG9naW46IGFkbWluUm91dGVzLmxvZ2luUmVkaXJlY3RcbiAgICB9XG4gIH07XG59XG4iXSwibmFtZXMiOlsiYWRtaW5Sb3V0ZXMiLCJiYU1vZGVsS2V5IiwiYmFzZVNsdWdzIiwic3VwcG9ydGVkQkFQbHVnaW5JZHMiLCJjaGVja1BsdWdpbkV4aXN0cyIsImFwcGx5RGlzYWJsZWREZWZhdWx0QXV0aENvbmZpZyIsImNvbmZpZyIsInBsdWdpbk9wdGlvbnMiLCJjb2xsZWN0aW9uTWFwIiwicmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcyIsImFkbWluIiwiY29tcG9uZW50cyIsImFmdGVyTG9naW4iLCJwYXRoIiwic2VydmVyUHJvcHMiLCJyZWRpcmVjdFRvIiwicm91dGVzIiwidW5kZWZpbmVkIiwicmVwbGFjZSIsImFkbWluTG9naW4iLCJsb2dvdXQiLCJCdXR0b24iLCJ2aWV3cyIsIkNvbXBvbmVudCIsImFkbWluSW52aXRhdGlvbnNTbHVnIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJhZG1pblNpZ251cCIsImZvcmdvdFBhc3N3b3JkIiwicmVzZXRQYXNzd29yZCIsImJldHRlckF1dGhPcHRpb25zIiwidHdvRmFjdG9yIiwidHdvRmFjdG9yVmVyaWZ5IiwidmVyaWZpY2F0aW9uc1NsdWciLCJ2ZXJpZmljYXRpb24iLCJtb2RlbE5hbWUiLCJsb2dpbiIsImxvZ2luUmVkaXJlY3QiXSwibWFwcGluZ3MiOiJBQUNBLFNBQ0VBLFdBQVcsRUFDWEMsVUFBVSxFQUNWQyxTQUFTLEVBQ1RDLG9CQUFvQixRQUNmLGVBQWU7QUFDdEIsU0FBU0MsaUJBQWlCLFFBQVEsaUNBQWlDO0FBR25FOzs7Q0FHQyxHQUNELE9BQU8sU0FBU0MsK0JBQStCLEVBQzdDQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyx5QkFBeUIsRUFNMUI7SUFDQ0gsT0FBT0ksS0FBSyxHQUFHO1FBQ2IsR0FBR0osT0FBT0ksS0FBSztRQUNmQyxZQUFZO1lBQ1YsR0FBR0wsT0FBT0ksS0FBSyxFQUFFQyxVQUFVO1lBQzNCQyxZQUFZO2dCQUNWO29CQUNFQyxNQUFNO29CQUNOQyxhQUFhO3dCQUNYUDt3QkFDQVEsWUFBWSxHQUFHVCxPQUFPVSxNQUFNLEVBQUVOLFVBQVVPLFlBQVksV0FBV1gsT0FBT1UsTUFBTSxDQUFDTixLQUFLLENBQUNRLE9BQU8sQ0FBQyxRQUFRLE1BQU1sQixZQUFZbUIsVUFBVSxFQUFFO29CQUNuSTtnQkFDRjttQkFDSWIsT0FBT0ksS0FBSyxFQUFFQyxZQUFZQyxjQUFjLEVBQUU7YUFDL0M7WUFDRFEsUUFBUTtnQkFDTkMsUUFBUTtvQkFDTlIsTUFBTTtnQkFDUjtZQUNGO1lBQ0FTLE9BQU87Z0JBQ0wsR0FBR2hCLE9BQU9JLEtBQUssRUFBRUMsWUFBWVcsS0FBSztnQkFDbENILFlBQVk7b0JBQ1ZOLE1BQU1iLFlBQVltQixVQUFVO29CQUM1QkksV0FBVzt3QkFDVFYsTUFBTTt3QkFDTkMsYUFBYTs0QkFDWFA7NEJBQ0FpQixzQkFDRWhCLGFBQWEsQ0FBQ04sVUFBVXVCLGdCQUFnQixDQUFDLENBQUNDLElBQUk7d0JBQ2xEO29CQUNGO2dCQUNGO2dCQUNBQyxhQUFhO29CQUNYZCxNQUFNYixZQUFZMkIsV0FBVztvQkFDN0JKLFdBQVc7d0JBQ1RWLE1BQU07d0JBQ05DLGFBQWE7NEJBQ1hQOzRCQUNBaUIsc0JBQ0VoQixhQUFhLENBQUNOLFVBQVV1QixnQkFBZ0IsQ0FBQyxDQUFDQyxJQUFJO3dCQUNsRDtvQkFDRjtnQkFDRjtnQkFDQUUsZ0JBQWdCO29CQUNkZixNQUFNYixZQUFZNEIsY0FBYztvQkFDaENMLFdBQVc7d0JBQ1RWLE1BQU07d0JBQ05DLGFBQWE7NEJBQ1hQO3dCQUNGO29CQUNGO2dCQUNGO2dCQUNBc0IsZUFBZTtvQkFDYmhCLE1BQU1iLFlBQVk2QixhQUFhO29CQUMvQk4sV0FBVzt3QkFDVFYsTUFBTTt3QkFDTkMsYUFBYTs0QkFDWFA7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7Z0JBQ0EsR0FBSUgsa0JBQ0ZHLGNBQWN1QixpQkFBaUIsSUFBSSxDQUFDLEdBQ3BDM0IscUJBQXFCNEIsU0FBUyxLQUMzQjtvQkFDSEMsaUJBQWlCO3dCQUNmbkIsTUFBTWIsWUFBWWdDLGVBQWU7d0JBQ2pDVCxXQUFXOzRCQUNUVixNQUFNOzRCQUNOQyxhQUFhO2dDQUNYUCxlQUFlQTtnQ0FDZjBCLG1CQUNFeEIseUJBQXlCLENBQUNSLFdBQVdpQyxZQUFZLENBQUMsQ0FBQ0MsU0FBUzs0QkFDaEU7d0JBQ0Y7b0JBQ0Y7Z0JBQ0YsQ0FBQztZQUNIO1FBQ0Y7UUFDQW5CLFFBQVE7WUFDTixHQUFHVixPQUFPSSxLQUFLLEVBQUVNLE1BQU07WUFDdkJvQixPQUFPcEMsWUFBWXFDLGFBQWE7UUFDbEM7SUFDRjtBQUNGIn0=
@@ -1,4 +0,0 @@
1
- import type { CollectionAfterChangeHook } from "payload";
2
- import type { BetterAuthSchemas } from "@/better-auth/plugin/types";
3
- export declare function getSyncPasswordToUserHook(resolvedSchemas: BetterAuthSchemas): CollectionAfterChangeHook;
4
- //# sourceMappingURL=sync-password-to-user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-password-to-user.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,iBAAiB,GACjC,yBAAyB,CAmE3B"}