@prosopo/procaptcha-common 2.3.1 → 2.4.1

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.
@@ -0,0 +1,4 @@
1
+ import { type Callbacks, type ProcaptchaRenderOptions } from "@prosopo/types";
2
+ export declare const getDefaultCallbacks: (element?: Element) => Callbacks;
3
+ export declare function setUserCallbacks(renderOptions: ProcaptchaRenderOptions | undefined, callbacks: Callbacks, element: Element): void;
4
+ //# sourceMappingURL=defaultCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultCallbacks.d.ts","sourceRoot":"","sources":["../../src/callbacks/defaultCallbacks.ts"],"names":[],"mappings":"AAaA,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,uBAAuB,EAE5B,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,mBAAmB,aAAc,OAAO,KAAG,SAiCtD,CAAC;AAyBH,wBAAgB,gBAAgB,CAC/B,aAAa,EAAE,uBAAuB,GAAG,SAAS,EAClD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,QA+FhB"}
@@ -0,0 +1,123 @@
1
+ import { ApiParams, } from "@prosopo/types";
2
+ import { getParentForm, removeProcaptchaResponse } from "../elements/form.js";
3
+ import { getWindowCallback } from "../elements/window.js";
4
+ export const getDefaultCallbacks = (element) => ({
5
+ onHuman: (token) => handleOnHuman(token, element),
6
+ onChallengeExpired: () => {
7
+ removeProcaptchaResponse();
8
+ console.log("Challenge expired");
9
+ },
10
+ onExtensionNotFound: () => {
11
+ console.error("Extension not found");
12
+ },
13
+ onExpired: () => {
14
+ removeProcaptchaResponse();
15
+ },
16
+ onError: (error) => {
17
+ removeProcaptchaResponse();
18
+ console.error(error);
19
+ },
20
+ onClose: () => {
21
+ console.log("Challenge closed");
22
+ },
23
+ onOpen: () => {
24
+ console.log("Challenge opened");
25
+ },
26
+ onFailed: () => {
27
+ alert("Captcha challenge failed. Please try again");
28
+ console.log("Challenge failed");
29
+ },
30
+ onReset: () => {
31
+ removeProcaptchaResponse();
32
+ console.log("Captcha widget reset");
33
+ },
34
+ onReload: () => {
35
+ console.log("Challenge reloaded");
36
+ },
37
+ });
38
+ const getUserCallback = (callback, element, callbackFnOrName) => {
39
+ const callbackFnName = element.getAttribute(`data-${callback}`);
40
+ if (callbackFnName) {
41
+ const callbackFn = getWindowCallback(callbackFnName);
42
+ if (callbackFn) {
43
+ return callbackFn;
44
+ }
45
+ }
46
+ if (typeof callbackFnOrName === "function") {
47
+ return callbackFnOrName;
48
+ }
49
+ if (typeof callbackFnOrName === "string") {
50
+ return getWindowCallback(callbackFnOrName);
51
+ }
52
+ };
53
+ export function setUserCallbacks(renderOptions, callbacks, element) {
54
+ const humanCallback = getUserCallback("callback", element, renderOptions?.callback);
55
+ if (humanCallback) {
56
+ callbacks.onHuman = (token) => {
57
+ handleOnHuman(token, element);
58
+ humanCallback(token);
59
+ };
60
+ }
61
+ const chalExpiredCallback = getUserCallback("chalexpired-callback", element, renderOptions?.["chalexpired-callback"]);
62
+ if (chalExpiredCallback) {
63
+ callbacks.onChallengeExpired = () => {
64
+ removeProcaptchaResponse();
65
+ chalExpiredCallback();
66
+ };
67
+ }
68
+ const expiredCallback = getUserCallback("expired-callback", element, renderOptions?.["expired-callback"]);
69
+ if (expiredCallback) {
70
+ callbacks.onExpired = () => {
71
+ removeProcaptchaResponse();
72
+ expiredCallback();
73
+ };
74
+ }
75
+ const errorCallback = getUserCallback("error-callback", element, renderOptions?.["error-callback"]);
76
+ if (errorCallback) {
77
+ callbacks.onError = (error) => {
78
+ removeProcaptchaResponse();
79
+ errorCallback(error);
80
+ };
81
+ }
82
+ const closeCallback = getUserCallback("close-callback", element, renderOptions?.["close-callback"]);
83
+ if (closeCallback) {
84
+ callbacks.onClose = () => {
85
+ closeCallback();
86
+ };
87
+ }
88
+ const openCallback = getUserCallback("open-callback", element, renderOptions?.["open-callback"]);
89
+ if (openCallback) {
90
+ callbacks.onOpen = () => {
91
+ openCallback();
92
+ };
93
+ }
94
+ const failedCallback = getUserCallback("failed-callback", element, renderOptions?.["failed-callback"]);
95
+ if (failedCallback) {
96
+ callbacks.onFailed = () => {
97
+ failedCallback();
98
+ };
99
+ }
100
+ const resetCallback = getUserCallback("reset-callback", element, renderOptions?.["reset-callback"]);
101
+ if (resetCallback) {
102
+ callbacks.onReset = () => {
103
+ removeProcaptchaResponse();
104
+ resetCallback();
105
+ };
106
+ }
107
+ }
108
+ const handleOnHuman = (token, element) => {
109
+ removeProcaptchaResponse();
110
+ if (element) {
111
+ const form = getParentForm(element);
112
+ if (!form) {
113
+ console.error("Parent form not found for the element:", element);
114
+ return;
115
+ }
116
+ const input = document.createElement("input");
117
+ input.type = "hidden";
118
+ input.name = ApiParams.procaptchaResponse;
119
+ input.value = token;
120
+ form.appendChild(input);
121
+ }
122
+ };
123
+ //# sourceMappingURL=defaultCallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultCallbacks.js","sourceRoot":"","sources":["../../src/callbacks/defaultCallbacks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Callbacks } from "@prosopo/types";
2
+ export declare const getDefaultEvents: (callbacks: Partial<Callbacks>) => {
3
+ onHuman: (token: import("@prosopo/types").ProcaptchaToken) => void;
4
+ onExtensionNotFound: () => void;
5
+ onChallengeExpired: () => void;
6
+ onExpired: () => void;
7
+ onError: (error: Error) => void;
8
+ onClose: () => void;
9
+ onOpen: () => void;
10
+ onFailed: () => void;
11
+ onReload: () => void;
12
+ onReset: () => void;
13
+ };
14
+ //# sourceMappingURL=defaultEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultEvents.d.ts","sourceRoot":"","sources":["../../src/callbacks/defaultEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgBhD,eAAO,MAAM,gBAAgB,cAAe,OAAO,CAAC,SAAS,CAAC;;;;;;;;;;;CAG5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { getDefaultCallbacks } from "./defaultCallbacks.js";
2
+ export const getDefaultEvents = (callbacks) => ({
3
+ ...getDefaultCallbacks(undefined),
4
+ ...callbacks,
5
+ });
6
+ //# sourceMappingURL=defaultEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultEvents.js","sourceRoot":"","sources":["../../src/callbacks/defaultEvents.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAAE,EAAE,CAAC,CAAC;IACnE,GAAG,mBAAmB,CAAC,SAAS,CAAC;IACjC,GAAG,SAAS;CACZ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const getParentForm: (element: Element) => HTMLFormElement | null;
2
+ export declare const removeProcaptchaResponse: () => void;
3
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/elements/form.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,aAAa,YAAa,OAAO,KAAG,eAAe,GAAG,IACxB,CAAC;AAE5C,eAAO,MAAM,wBAAwB,YAKpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ApiParams } from "@prosopo/types";
2
+ export const getParentForm = (element) => element.closest("form");
3
+ export const removeProcaptchaResponse = () => {
4
+ const element = Array.from(document.getElementsByName(ApiParams.procaptchaResponse));
5
+ element.map((el) => el.remove());
6
+ };
7
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/elements/form.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAA0B,EAAE,CACzE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAoB,CAAC;AAE5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACzB,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC,CACxD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const getWindowCallback: (callbackName: string) => any;
2
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/elements/window.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,iBAAiB,iBAAkB,MAAM,QASrD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const getWindowCallback = (callbackName) => {
2
+ const fn = window[callbackName.replace("window.", "")];
3
+ if (typeof fn !== "function") {
4
+ throw new Error(`Callback ${callbackName} is not defined on the window object`);
5
+ }
6
+ return fn;
7
+ };
8
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/elements/window.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAEzD,MAAM,EAAE,GAAI,MAAc,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACd,YAAY,YAAY,sCAAsC,CAC9D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const ExtensionLoader: (web2: boolean) => Promise<typeof import("@prosopo/account").ExtensionWeb3>;
2
+ //# sourceMappingURL=extensionLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionLoader.d.ts","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,eAAe,SAAgB,OAAO,6DAGC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const ExtensionLoader = async (web2) => web2
2
+ ? (await import("@prosopo/account")).ExtensionWeb2
3
+ : (await import("@prosopo/account")).ExtensionWeb3;
4
+ //# sourceMappingURL=extensionLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionLoader.js","sourceRoot":"","sources":["../src/extensionLoader.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE,CACtD,IAAI;IACH,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa;IAClD,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
- export * from "./events.js";
2
1
  export * from "./providers.js";
3
2
  export * from "./state/builder.js";
3
+ export * from "./callbacks/defaultCallbacks.js";
4
+ export * from "./callbacks/defaultEvents.js";
5
+ export * from "./extensionLoader.js";
6
+ export * from "./elements/window.js";
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
- export * from "./events.js";
2
1
  export * from "./providers.js";
3
2
  export * from "./state/builder.js";
3
+ export * from "./callbacks/defaultCallbacks.js";
4
+ export * from "./callbacks/defaultEvents.js";
5
+ export * from "./extensionLoader.js";
6
+ export * from "./elements/window.js";
4
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/state/builder.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAIX,eAAe,EACf,uBAAuB,EAEvB,MAAM,gBAAgB,CAAC;AAExB,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AACzD,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,UACpB,eAAe,iBAAiB,uBAAuB,iBACnD,OAAO,CAAC,eAAe,CAAC,SAMnC,CAAC;AAoBH,eAAO,MAAM,aAAa,aACf,YAAY,UACd,UAAU,KAChB,CAAC,eAAe,EAAE,uBAAuB,CAyE3C,CAAC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/state/builder.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAIX,eAAe,EACf,uBAAuB,EAEvB,MAAM,gBAAgB,CAAC;AAExB,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AACzD,KAAK,YAAY,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,UACpB,eAAe,iBAAiB,uBAAuB,iBACnD,OAAO,CAAC,eAAe,CAAC,SAMnC,CAAC;AAoBH,eAAO,MAAM,aAAa,aACf,YAAY,UACd,UAAU,KAChB,CAAC,eAAe,EAAE,uBAAuB,CA4E3C,CAAC"}
@@ -26,6 +26,7 @@ export const useProcaptcha = (useState, useRef) => {
26
26
  const [sendData, setSendData] = useState(false);
27
27
  const [attemptCount, setAttemptCount] = useState(0);
28
28
  const [error, setError] = useState(undefined);
29
+ const [sessionId, setSessionId] = useState(undefined);
29
30
  return [
30
31
  {
31
32
  isHuman,
@@ -43,6 +44,7 @@ export const useProcaptcha = (useState, useRef) => {
43
44
  sendData,
44
45
  attemptCount,
45
46
  error,
47
+ sessionId,
46
48
  },
47
49
  (nextState) => {
48
50
  if (nextState.account !== undefined)
@@ -77,6 +79,8 @@ export const useProcaptcha = (useState, useRef) => {
77
79
  setAttemptCount(nextState.attemptCount);
78
80
  if (nextState.error !== undefined)
79
81
  setError(nextState.error);
82
+ if (nextState.sessionId !== undefined)
83
+ setSessionId(nextState.sessionId);
80
84
  },
81
85
  ];
82
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/state/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/state/builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-common",
3
- "version": "2.3.1",
3
+ "version": "2.4.1",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -26,14 +26,14 @@
26
26
  },
27
27
  "browserslist": ["> 0.5%, last 2 versions, not dead"],
28
28
  "dependencies": {
29
- "@prosopo/common": "2.3.1",
30
- "@prosopo/load-balancer": "2.3.1",
31
- "@prosopo/types": "2.3.1",
32
- "@prosopo/util": "2.3.1",
29
+ "@prosopo/common": "2.4.1",
30
+ "@prosopo/load-balancer": "2.4.1",
31
+ "@prosopo/types": "2.4.1",
32
+ "@prosopo/util": "2.4.1",
33
33
  "express": "4.21.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@prosopo/config": "2.3.1",
36
+ "@prosopo/config": "2.4.1",
37
37
  "@vitest/coverage-v8": "2.1.1",
38
38
  "concurrently": "9.0.1",
39
39
  "del-cli": "6.0.0",
package/dist/events.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { ProcaptchaCallbacks, ProcaptchaEvents, ProcaptchaState, ProcaptchaStateUpdateFn } from "@prosopo/types";
2
- export declare const getDefaultEvents: (stateUpdater: ProcaptchaStateUpdateFn, state: ProcaptchaState, callbacks: ProcaptchaCallbacks) => ProcaptchaEvents;
3
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB,iBACd,uBAAuB,SAC9B,eAAe,aACX,mBAAmB,KAC5B,gBAuCD,CAAC"}
package/dist/events.js DELETED
@@ -1,35 +0,0 @@
1
- const alertError = (error) => {
2
- alert(error.message);
3
- };
4
- export const getDefaultEvents = (stateUpdater, state, callbacks) => Object.assign({
5
- onError: alertError,
6
- onHuman: (output) => {
7
- stateUpdater({ sendData: !state.sendData });
8
- },
9
- onExtensionNotFound: () => {
10
- alert("No extension found");
11
- },
12
- onFailed: () => {
13
- alert("Captcha challenge failed. Please try again");
14
- stateUpdater({ sendData: !state.sendData });
15
- },
16
- onExpired: () => {
17
- console.info("Completed challenge has expired, please try again");
18
- },
19
- onChallengeExpired: () => {
20
- console.info("Uncompleted challenge has expired, please try again");
21
- },
22
- onOpen: () => {
23
- console.info("captcha opened");
24
- },
25
- onClose: () => {
26
- console.info("captcha closed");
27
- },
28
- onReload: () => {
29
- console.info("captcha reloaded");
30
- },
31
- onReset: () => {
32
- console.info("captcha reset");
33
- },
34
- }, callbacks);
35
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC1C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,YAAqC,EACrC,KAAsB,EACtB,SAA8B,EACX,EAAE,CACrB,MAAM,CAAC,MAAM,CACZ;IACC,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,MAKT,EAAE,EAAE;QACJ,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,mBAAmB,EAAE,GAAG,EAAE;QACzB,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC7B,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACd,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACpD,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,EAAE,GAAG,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IACD,kBAAkB,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,EAAE,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;CACD,EACD,SAAS,CACT,CAAC"}