vdb-ai-chat 1.0.76 → 1.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat-widget.js +1 -1
- package/lib/commonjs/api.js +55 -27
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/ButtonContent.js +54 -0
- package/lib/commonjs/components/ButtonContent.js.map +1 -0
- package/lib/commonjs/components/ChatWidget.js +56 -18
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/FloatingChatButton.js +197 -0
- package/lib/commonjs/components/FloatingChatButton.js.map +1 -0
- package/lib/commonjs/components/LazyProductsFetcher.js +5 -3
- package/lib/commonjs/components/LazyProductsFetcher.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +2 -22
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/utils.js +42 -33
- package/lib/commonjs/components/utils.js.map +1 -1
- package/lib/commonjs/config/storeConfigLoader.js +161 -0
- package/lib/commonjs/config/storeConfigLoader.js.map +1 -0
- package/lib/commonjs/config/types.js +2 -0
- package/lib/commonjs/config/types.js.map +1 -0
- package/lib/commonjs/contexts/ThemeProvider.js +44 -21
- package/lib/commonjs/contexts/ThemeProvider.js.map +1 -1
- package/lib/commonjs/index.web.js +17 -6
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/storage.js +14 -4
- package/lib/commonjs/storage.js.map +1 -1
- package/lib/commonjs/theme.js +229 -1
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/commonjs/utils/pluginUrlBuilder.js +288 -0
- package/lib/commonjs/utils/pluginUrlBuilder.js.map +1 -0
- package/lib/module/api.js +53 -27
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/ButtonContent.js +48 -0
- package/lib/module/components/ButtonContent.js.map +1 -0
- package/lib/module/components/ChatWidget.js +57 -19
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/FloatingChatButton.js +190 -0
- package/lib/module/components/FloatingChatButton.js.map +1 -0
- package/lib/module/components/LazyProductsFetcher.js +5 -3
- package/lib/module/components/LazyProductsFetcher.js.map +1 -1
- package/lib/module/components/MessageBubble.js +2 -22
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/utils.js +42 -33
- package/lib/module/components/utils.js.map +1 -1
- package/lib/module/config/storeConfigLoader.js +153 -0
- package/lib/module/config/storeConfigLoader.js.map +1 -0
- package/lib/module/config/types.js +2 -0
- package/lib/module/config/types.js.map +1 -0
- package/lib/module/contexts/ThemeProvider.js +39 -16
- package/lib/module/contexts/ThemeProvider.js.map +1 -1
- package/lib/module/index.web.js +17 -6
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/storage.js +14 -4
- package/lib/module/storage.js.map +1 -1
- package/lib/module/theme.js +228 -0
- package/lib/module/theme.js.map +1 -1
- package/lib/module/utils/pluginUrlBuilder.js +279 -0
- package/lib/module/utils/pluginUrlBuilder.js.map +1 -0
- package/lib/typescript/api.d.ts +12 -2
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/ButtonContent.d.ts +5 -0
- package/lib/typescript/components/ButtonContent.d.ts.map +1 -0
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/FloatingChatButton.d.ts +8 -0
- package/lib/typescript/components/FloatingChatButton.d.ts.map +1 -0
- package/lib/typescript/components/LazyProductsFetcher.d.ts +3 -0
- package/lib/typescript/components/LazyProductsFetcher.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble.d.ts +0 -2
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts.map +1 -1
- package/lib/typescript/config/storeConfigLoader.d.ts +25 -0
- package/lib/typescript/config/storeConfigLoader.d.ts.map +1 -0
- package/lib/typescript/config/types.d.ts +49 -0
- package/lib/typescript/config/types.d.ts.map +1 -0
- package/lib/typescript/contexts/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +23 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/storage.d.ts.map +1 -1
- package/lib/typescript/theme.d.ts +228 -0
- package/lib/typescript/theme.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +4 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/pluginUrlBuilder.d.ts +43 -0
- package/lib/typescript/utils/pluginUrlBuilder.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/api.ts +60 -24
- package/src/components/ButtonContent.tsx +54 -0
- package/src/components/ChatWidget.tsx +137 -87
- package/src/components/FloatingChatButton.tsx +204 -0
- package/src/components/LazyProductsFetcher.tsx +7 -2
- package/src/components/MessageBubble.tsx +1 -27
- package/src/components/utils.ts +42 -33
- package/src/config/storeConfigLoader.ts +175 -0
- package/src/config/types.ts +51 -0
- package/src/contexts/ThemeProvider.tsx +32 -10
- package/src/index.web.tsx +59 -13
- package/src/storage.ts +14 -4
- package/src/theme.ts +230 -0
- package/src/types.ts +4 -0
- package/src/utils/pluginUrlBuilder.ts +528 -0
|
@@ -4,7 +4,7 @@ import { ChatInput } from "./ChatInput";
|
|
|
4
4
|
import { MessageBubble } from "./MessageBubble";
|
|
5
5
|
import MessageMetaRow from "./MessageMetaRow";
|
|
6
6
|
import { mergeTheme } from "../theme";
|
|
7
|
-
import { fetchInitialMessages, fetchOlderMessages, getChatHasInitialized, setChatHasInitialized, getProducts, getProductsPaginated, getRecommendations, handleFeedbackActionApi, mapDiamondToRecommendationItem, normaliseMessages, sendUserMessage } from "../api";
|
|
7
|
+
import { fetchInitialMessages, fetchOlderMessages, getChatHasInitialized, setChatHasInitialized, getProducts, getProductsPaginated, getRecommendations, handleFeedbackActionApi, mapDiamondToRecommendationItem, normaliseMessages, sendUserMessage, setTokenOverride } from "../api";
|
|
8
8
|
import BetaNotice from "./BetaNotice";
|
|
9
9
|
import ProductsList from "./ProductsList";
|
|
10
10
|
import LazyProductsFetcher from "./LazyProductsFetcher";
|
|
@@ -20,6 +20,8 @@ import { css } from "styled-components/native";
|
|
|
20
20
|
import { initI18n, updateTranslations, useTranslation } from "../i18n";
|
|
21
21
|
import { useGlobalData } from "../hooks/useGlobalData";
|
|
22
22
|
import WelcomeScreen from "./WelcomeScreen";
|
|
23
|
+
import { buildPluginItemUrl, buildPluginViewAllUrl } from "../utils/pluginUrlBuilder";
|
|
24
|
+
import { loadStoreConfig } from "../config/storeConfigLoader";
|
|
23
25
|
export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
24
26
|
apiUrl,
|
|
25
27
|
userToken: userTokenProp,
|
|
@@ -34,6 +36,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
34
36
|
onViewAllPress,
|
|
35
37
|
onItemPress: onItemPressProp,
|
|
36
38
|
isBetaMode: isBetaModeProp,
|
|
39
|
+
useAsPlugin,
|
|
37
40
|
activeProductType,
|
|
38
41
|
trackAnalyticsEvent,
|
|
39
42
|
fromFilterScreen,
|
|
@@ -47,6 +50,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
47
50
|
const {
|
|
48
51
|
t
|
|
49
52
|
} = useTranslation();
|
|
53
|
+
const [storeConfig, setStoreConfig] = useState(null);
|
|
50
54
|
const [messages, setMessages] = useState(initialMessages);
|
|
51
55
|
const [input, setInput] = useState("");
|
|
52
56
|
const [loading, setLoading] = useState(false);
|
|
@@ -101,6 +105,17 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
101
105
|
translations
|
|
102
106
|
});
|
|
103
107
|
}, []);
|
|
108
|
+
|
|
109
|
+
// Load store config when in plugin mode
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (useAsPlugin) {
|
|
112
|
+
loadStoreConfig().then(config => {
|
|
113
|
+
if (config) {
|
|
114
|
+
setStoreConfig(config);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}, [useAsPlugin]);
|
|
104
119
|
useEffect(() => {
|
|
105
120
|
getChatHasInitialized().then(setChatHasInitializedState);
|
|
106
121
|
}, []);
|
|
@@ -110,7 +125,13 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
110
125
|
useEffect(() => {
|
|
111
126
|
const loadAuthData = async () => {
|
|
112
127
|
try {
|
|
113
|
-
if (
|
|
128
|
+
if (userTokenProp) {
|
|
129
|
+
// If token is provided via props, set the override so API calls use it
|
|
130
|
+
setTokenOverride(userTokenProp);
|
|
131
|
+
setUserToken(userTokenProp);
|
|
132
|
+
} else {
|
|
133
|
+
// Clear any token override so API calls use storage
|
|
134
|
+
setTokenOverride(null);
|
|
114
135
|
const userInfo = await Storage.getJSON("persist:userInfo", {});
|
|
115
136
|
const userData = JSON.parse(userInfo?.user || "{}");
|
|
116
137
|
const token = userData?.token || "";
|
|
@@ -123,6 +144,11 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
123
144
|
}
|
|
124
145
|
};
|
|
125
146
|
loadAuthData();
|
|
147
|
+
|
|
148
|
+
// Cleanup: clear token override when component unmounts
|
|
149
|
+
return () => {
|
|
150
|
+
setTokenOverride(null);
|
|
151
|
+
};
|
|
126
152
|
}, [userTokenProp]);
|
|
127
153
|
const setActiveProduct = async () => {
|
|
128
154
|
if (activeProductType) {
|
|
@@ -140,22 +166,34 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
140
166
|
const stringifiedSearchPayload = JSON.stringify(searchPayload);
|
|
141
167
|
const payload = item?.search_payload;
|
|
142
168
|
if (!payload) return;
|
|
143
|
-
|
|
144
|
-
|
|
169
|
+
let deepLinkUrl;
|
|
170
|
+
if (useAsPlugin) {
|
|
171
|
+
deepLinkUrl = buildPluginViewAllUrl(payload, storeConfig?.urlDefaults);
|
|
172
|
+
window.open(deepLinkUrl, "_parent");
|
|
173
|
+
} else {
|
|
174
|
+
const isLabgrown = typeof payload.lab_grown === "string" ? payload.lab_grown === "true" : typeof payload.lab_grown === "boolean" ? payload.lab_grown : false;
|
|
175
|
+
deepLinkUrl = `${apiUrl}webapp/${isLabgrown ? "lab-grown-diamonds" : "natural-diamonds"}/search?priceMode=${priceMode}&productType=${isLabgrown ? ProductCategory.LAB_GROWN_DIAMOND : ProductCategory.DIAMOND}&fromNewFilterScreen=false&filterSplitStep=1§ionName=${searchPayload.pair === "pair" ? "Pairs" : "Single Stones"}&breadCrumbLabel=Stone%20Search&enterSecondFlow=false&saved_search=${encodeURIComponent(stringifiedSearchPayload)}`;
|
|
176
|
+
}
|
|
145
177
|
if (onViewAllPress) {
|
|
146
178
|
onViewAllPress(deepLinkUrl, payload);
|
|
147
179
|
} else if (Platform.OS === "web") {
|
|
148
180
|
window.open(deepLinkUrl, "_parent");
|
|
149
181
|
}
|
|
150
|
-
}, [apiUrl, priceMode, onViewAllPress]);
|
|
182
|
+
}, [apiUrl, priceMode, onViewAllPress, useAsPlugin, storeConfig]);
|
|
151
183
|
const onItemPress = useCallback(item => {
|
|
152
|
-
|
|
184
|
+
let deepLinkUrl;
|
|
185
|
+
if (useAsPlugin) {
|
|
186
|
+
deepLinkUrl = buildPluginItemUrl(item.id, storeConfig?.pdpLinkTemplate);
|
|
187
|
+
window.open(deepLinkUrl, "_parent");
|
|
188
|
+
} else {
|
|
189
|
+
deepLinkUrl = `${apiUrl}webapp/${item.type === ProductCategory.LAB_GROWN_DIAMOND ? "lab-grown-diamonds" : "natural-diamonds"}/item-detail/${item.id}?productType=${item.type}&priceMode=${priceMode}&breadCrumbLabel=Stone%20Details`;
|
|
190
|
+
}
|
|
153
191
|
if (onItemPressProp) {
|
|
154
192
|
onItemPressProp(deepLinkUrl, item);
|
|
155
193
|
} else if (Platform.OS === "web") {
|
|
156
194
|
window.open(deepLinkUrl, "_parent");
|
|
157
195
|
}
|
|
158
|
-
}, [apiUrl, priceMode, onItemPressProp]);
|
|
196
|
+
}, [apiUrl, priceMode, onItemPressProp, useAsPlugin, storeConfig]);
|
|
159
197
|
const hasAuth = useMemo(() => Boolean(userToken), [userToken]);
|
|
160
198
|
const apiParams = useMemo(() => ({
|
|
161
199
|
conversationId: userToken
|
|
@@ -403,7 +441,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
403
441
|
const latestAssistant = normalised.find(m => m.role === "assistant");
|
|
404
442
|
if (latestAssistant?.text) {
|
|
405
443
|
if (latestAssistant?.search_payload && typeof latestAssistant.search_payload === "object" && Object.keys(latestAssistant.search_payload).length > 0) {
|
|
406
|
-
const productsResult = await getProducts(apiUrl, latestAssistant.search_payload);
|
|
444
|
+
const productsResult = await getProducts(apiUrl, latestAssistant.search_payload, useAsPlugin, storeConfig?.searchApiDefaults);
|
|
407
445
|
trackAnalyticsEvent?.(AIEventNames.AI_CHAT_WIDGET, {
|
|
408
446
|
action: AIEventTypes.SEARCH_INITIATED,
|
|
409
447
|
search_payload: latestAssistant.search_payload
|
|
@@ -494,7 +532,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
494
532
|
if (!trimmed) return;
|
|
495
533
|
setInput("");
|
|
496
534
|
sendMessage(trimmed);
|
|
497
|
-
if (fromFilterScreen && showWelcomeScreen && chatHasInitialized === false) {
|
|
535
|
+
if (fromFilterScreen && !fromFilterSplitScreen && showWelcomeScreen && chatHasInitialized === false) {
|
|
498
536
|
void setChatHasInitialized(true).then(() => setChatHasInitializedState(true));
|
|
499
537
|
setShowWelcomeScreen?.(false);
|
|
500
538
|
}
|
|
@@ -508,7 +546,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
508
546
|
setReloadLoadingIds(prev => new Set(prev).add(id));
|
|
509
547
|
const payload = msg?.search_payload;
|
|
510
548
|
if (!payload || Object.keys(payload).length === 0) return;
|
|
511
|
-
const productsResult = await getProducts(apiUrl, payload);
|
|
549
|
+
const productsResult = await getProducts(apiUrl, payload, useAsPlugin, storeConfig?.searchApiDefaults);
|
|
512
550
|
setProductsByMsg(prev => ({
|
|
513
551
|
...prev,
|
|
514
552
|
[id]: productsResult
|
|
@@ -522,7 +560,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
522
560
|
return next;
|
|
523
561
|
});
|
|
524
562
|
}
|
|
525
|
-
}, []);
|
|
563
|
+
}, [apiUrl, useAsPlugin, storeConfig]);
|
|
526
564
|
const handleShowMoreResults = useCallback(async (messageId, searchPayload) => {
|
|
527
565
|
if (loadingMoreResults.has(messageId)) return;
|
|
528
566
|
const currentPageForMessage = searchResultsPages[messageId] || 1;
|
|
@@ -530,7 +568,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
530
568
|
if (nextPage > 6) return;
|
|
531
569
|
try {
|
|
532
570
|
setLoadingMoreResults(prev => new Set(prev).add(messageId));
|
|
533
|
-
const newResults = await getProductsPaginated(apiUrl, searchPayload, nextPage);
|
|
571
|
+
const newResults = await getProductsPaginated(apiUrl, searchPayload, nextPage, useAsPlugin, storeConfig?.searchApiDefaults);
|
|
534
572
|
if (newResults?.response?.body?.diamonds) {
|
|
535
573
|
setProductsByMsg(prev => {
|
|
536
574
|
const currentData = prev[messageId];
|
|
@@ -565,10 +603,10 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
565
603
|
return next;
|
|
566
604
|
});
|
|
567
605
|
}
|
|
568
|
-
}, [apiUrl, loadingMoreResults, searchResultsPages]);
|
|
606
|
+
}, [apiUrl, loadingMoreResults, searchResultsPages, useAsPlugin, storeConfig]);
|
|
569
607
|
const handleShowLessResults = useCallback(async (messageId, searchPayload) => {
|
|
570
608
|
try {
|
|
571
|
-
const initialResults = await getProducts(apiUrl, searchPayload);
|
|
609
|
+
const initialResults = await getProducts(apiUrl, searchPayload, useAsPlugin, storeConfig?.searchApiDefaults);
|
|
572
610
|
if (initialResults?.response?.body?.diamonds) {
|
|
573
611
|
setProductsByMsg(prev => ({
|
|
574
612
|
...prev,
|
|
@@ -582,7 +620,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
582
620
|
} catch (error) {
|
|
583
621
|
console.error("Failed to show less results:", error);
|
|
584
622
|
}
|
|
585
|
-
}, [apiUrl]);
|
|
623
|
+
}, [apiUrl, useAsPlugin, storeConfig]);
|
|
586
624
|
const handleRecommendationRequest = useCallback(async messageId => {
|
|
587
625
|
const diamonds = productsByMsg[messageId]?.response?.body?.diamonds;
|
|
588
626
|
if (!diamonds || diamonds.length === 0) return;
|
|
@@ -1063,14 +1101,14 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
1063
1101
|
shownResults: productsByMsg[item.id]?.response?.body?.diamonds.length || 0,
|
|
1064
1102
|
onSuggestionSelect: handleSuggestionSelect,
|
|
1065
1103
|
isLatest: isLatest,
|
|
1066
|
-
isTyping: typingMessageId === item.id
|
|
1067
|
-
showShowResultsButton: fromFilterScreen && item.role === "assistant" && item.search_payload && Object.keys(item.search_payload).length > 0,
|
|
1068
|
-
onViewAll: onViewAll
|
|
1104
|
+
isTyping: typingMessageId === item.id
|
|
1069
1105
|
}), item.role === "assistant" && item.search_payload && Object.keys(item.search_payload).length > 0 && !productsByMsg[item.id] && /*#__PURE__*/React.createElement(LazyProductsFetcher, {
|
|
1070
1106
|
apiUrl: apiUrl,
|
|
1071
1107
|
priceMode: priceMode,
|
|
1072
1108
|
messageId: item.id,
|
|
1073
1109
|
payload: item.search_payload,
|
|
1110
|
+
useAsPlugin: useAsPlugin,
|
|
1111
|
+
searchApiDefaults: storeConfig?.searchApiDefaults,
|
|
1074
1112
|
onFetched: (id, result) => {
|
|
1075
1113
|
setProductsByMsg(prev => ({
|
|
1076
1114
|
...prev,
|
|
@@ -1096,7 +1134,7 @@ export const ChatWidget = /*#__PURE__*/forwardRef(({
|
|
|
1096
1134
|
// Let onContentSizeChange handle scrolling naturally
|
|
1097
1135
|
}
|
|
1098
1136
|
}), item.role === "assistant" && hasDiamonds && !fromFilterScreen && /*#__PURE__*/React.createElement(ProductsList, {
|
|
1099
|
-
data: (productsByMsg[item.id]?.response?.body?.diamonds || []).slice(0,
|
|
1137
|
+
data: (productsByMsg[item.id]?.response?.body?.diamonds || []).slice(0, 5),
|
|
1100
1138
|
totalResults: productsByMsg[item.id]?.response?.header?.total_diamonds_found || 0,
|
|
1101
1139
|
onViewAll: onViewAll,
|
|
1102
1140
|
onItemPress: onItemPress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","ScrollView","KeyboardAvoidingView","Keyboard","DeviceEventEmitter","Platform","ActivityIndicator","ChatInput","MessageBubble","MessageMetaRow","mergeTheme","fetchInitialMessages","fetchOlderMessages","getChatHasInitialized","setChatHasInitialized","getProducts","getProductsPaginated","getRecommendations","handleFeedbackActionApi","mapDiamondToRecommendationItem","normaliseMessages","sendUserMessage","BetaNotice","ProductsList","LazyProductsFetcher","RecommendationCTA","RecommendationResults","AIEventNames","AIEventTypes","FeedbackAction","formatToTime","getUserDetails","ProductCategory","useUserAnalytics","Storage","ThemeProvider","useTheme","styled","css","initI18n","updateTranslations","useTranslation","useGlobalData","WelcomeScreen","ChatWidget","apiUrl","userToken","userTokenProp","priceMode","priceModeProp","userName","userNameProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","isBetaMode","isBetaModeProp","activeProductType","trackAnalyticsEvent","fromFilterScreen","fromFilterSplitScreen","translations","locale","classic_search_filters","showWelcomeScreen","setShowWelcomeScreen","ref","t","messages","setMessages","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","productsByMsg","setProductsByMsg","reloadLoadingIds","setReloadLoadingIds","Set","setPriceMode","setUserToken","loadingOlder","setLoadingOlder","hasMoreMessages","setHasMoreMessages","chatHasInitialized","setChatHasInitializedState","nextCursor","setNextCursor","undefined","currentPage","setCurrentPage","searchResultsPages","setSearchResultsPages","loadingMoreResults","setLoadingMoreResults","recommendationRequestedFor","setRecommendationRequestedFor","recommendationLoading","setRecommendationLoading","recommendationsByMsg","setRecommendationsByMsg","recommendationLoadingMsgId","setRecommendationLoadingMsgId","pendingRecommendationRestore","setPendingRecommendationRestore","scrollRef","inputRef","isFirstMessageRef","scrollYRef","contentHeightRef","isUserScrollingRef","isPaginatingRef","initialScrollDoneRef","themeProps","_identify","betaActive","Boolean","isTablet","globalData","then","loadAuthData","userInfo","getJSON","userData","JSON","parse","user","token","e","console","error","setActiveProduct","setJSON","length","onViewAll","item","searchPayload","search_payload","stringifiedSearchPayload","stringify","payload","isLabgrown","lab_grown","deepLinkUrl","LAB_GROWN_DIAMOND","DIAMOND","pair","encodeURIComponent","OS","window","open","type","id","hasAuth","apiParams","conversationId","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","UNSET","res","ok","map","status","cancelled","load","initial","normalised","reverse","has_more","next_cursor","current","initialAssistant","role","text","createdAt","Date","now","isLoading","suggestions","recommendationMessages","filter","recommendation_payload","Object","keys","size","forEach","recMsg","recIndex","findIndex","sourceMsg","i","has","next","delete","diamonds","response","body","add","prevMsgs","recommendations","findDiamondById","stockItemId","d","String","best_pick","diamond","stock_item_id","push","recommendationType","score","recommendation_pitch","strengths","concerns","runner_up","reason","also_recommended","rec","isRecommendation","sourceMessageId","sendMessage","rawText","trimmed","trim","external_context","userMessage","loadingId","loadingMessage","historyForApi","filtersForFirstMessage","updatedMessages","latestAssistant","productsResult","AI_CHAT_WIDGET","SEARCH_INITIATED","hasDiamonds","Array","isArray","NO_RESULTS_FOUND","setTimeout","scrollToEnd","animated","err","focus","identifySegmentUser","userId","email","handleSend","handleSuggestionSelect","value","handleReloadResults","handleShowMoreResults","messageId","currentPageForMessage","nextPage","newResults","currentData","existingDiamonds","newDiamonds","handleShowLessResults","initialResults","handleRecommendationRequest","stored","conversations","loadingMsgId","visibleItems","slice","assistantMessage","responseText","content","recommendationMsgId","RECOMMENDATION_RECEIVED","recommendation_count","loadOlderMessages","prevHeight","result","olderMessages","existingIds","newMessages","log","requestAnimationFrame","newHeight","heightDiff","scrollTo","y","scrollToBottom","_","showEvent","hideEvent","subShow","addListener","subHide","remove","handleClearChat","data","changePriceMode","removeAllListeners","_priceMode","price_mode","updatedConversations","chat_has_initialized","fresh","step","base","interval","setInterval","dots","repeat","clearInterval","clearChat","typingIndexRef","total","finalMsgId","fullText","currentIndex","renderBottomContainer","createElement","BottomContainer","onChangeText","onSend","disabled","active","Container","style","flex","behavior","keyboardVerticalOffset","username","productType","Fragment","EmptyContainer","ClearChatContainer","onPress","ClearChatText","EmptyText","time","keyboardShouldPersistTaps","onScroll","contentOffset","contentSize","layoutMeasurement","nativeEvent","distanceFromBottom","height","scrollEventThrottle","backgroundColor","contentContainerStyle","listContentBackgroundColor","styles","listContent","justifyContent","minHeight","maxWidth","alignSelf","width","onContentSizeChange","_width","LoadingOlderContainer","color","LoadingOlderText","ordered","latestResultMsgId","msgHasDiamonds","index","isLatest","isLatestResultMsg","key","gap","message","userTheme","onReloadResults","reloading","hasResults","totalResults","header","total_diamonds_found","shownResults","onSuggestionSelect","isTyping","showShowResultsButton","onFetched","showMoreResults","showLessResults","isLoadingMore","ai_chat_bot","show_recommendation","LineView","displayName","Text","TouchableOpacity","create","paddingVertical","flexGrow","alignItems"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","ScrollView","KeyboardAvoidingView","Keyboard","DeviceEventEmitter","Platform","ActivityIndicator","ChatInput","MessageBubble","MessageMetaRow","mergeTheme","fetchInitialMessages","fetchOlderMessages","getChatHasInitialized","setChatHasInitialized","getProducts","getProductsPaginated","getRecommendations","handleFeedbackActionApi","mapDiamondToRecommendationItem","normaliseMessages","sendUserMessage","setTokenOverride","BetaNotice","ProductsList","LazyProductsFetcher","RecommendationCTA","RecommendationResults","AIEventNames","AIEventTypes","FeedbackAction","formatToTime","getUserDetails","ProductCategory","useUserAnalytics","Storage","ThemeProvider","useTheme","styled","css","initI18n","updateTranslations","useTranslation","useGlobalData","WelcomeScreen","buildPluginItemUrl","buildPluginViewAllUrl","loadStoreConfig","ChatWidget","apiUrl","userToken","userTokenProp","priceMode","priceModeProp","userName","userNameProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","isBetaMode","isBetaModeProp","useAsPlugin","activeProductType","trackAnalyticsEvent","fromFilterScreen","fromFilterSplitScreen","translations","locale","classic_search_filters","showWelcomeScreen","setShowWelcomeScreen","ref","t","storeConfig","setStoreConfig","messages","setMessages","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","productsByMsg","setProductsByMsg","reloadLoadingIds","setReloadLoadingIds","Set","setPriceMode","setUserToken","loadingOlder","setLoadingOlder","hasMoreMessages","setHasMoreMessages","chatHasInitialized","setChatHasInitializedState","nextCursor","setNextCursor","undefined","currentPage","setCurrentPage","searchResultsPages","setSearchResultsPages","loadingMoreResults","setLoadingMoreResults","recommendationRequestedFor","setRecommendationRequestedFor","recommendationLoading","setRecommendationLoading","recommendationsByMsg","setRecommendationsByMsg","recommendationLoadingMsgId","setRecommendationLoadingMsgId","pendingRecommendationRestore","setPendingRecommendationRestore","scrollRef","inputRef","isFirstMessageRef","scrollYRef","contentHeightRef","isUserScrollingRef","isPaginatingRef","initialScrollDoneRef","themeProps","_identify","betaActive","Boolean","isTablet","globalData","then","config","loadAuthData","userInfo","getJSON","userData","JSON","parse","user","token","e","console","error","setActiveProduct","setJSON","length","onViewAll","item","searchPayload","search_payload","stringifiedSearchPayload","stringify","payload","deepLinkUrl","urlDefaults","window","open","isLabgrown","lab_grown","LAB_GROWN_DIAMOND","DIAMOND","pair","encodeURIComponent","OS","id","pdpLinkTemplate","type","hasAuth","apiParams","conversationId","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","UNSET","res","ok","map","status","cancelled","load","initial","normalised","reverse","has_more","next_cursor","current","initialAssistant","role","text","createdAt","Date","now","isLoading","suggestions","recommendationMessages","filter","recommendation_payload","Object","keys","size","forEach","recMsg","recIndex","findIndex","sourceMsg","i","has","next","delete","diamonds","response","body","add","prevMsgs","recommendations","findDiamondById","stockItemId","d","String","best_pick","diamond","stock_item_id","push","recommendationType","score","recommendation_pitch","strengths","concerns","runner_up","reason","also_recommended","rec","isRecommendation","sourceMessageId","sendMessage","rawText","trimmed","trim","external_context","userMessage","loadingId","loadingMessage","historyForApi","filtersForFirstMessage","updatedMessages","latestAssistant","productsResult","searchApiDefaults","AI_CHAT_WIDGET","SEARCH_INITIATED","hasDiamonds","Array","isArray","NO_RESULTS_FOUND","setTimeout","scrollToEnd","animated","err","focus","identifySegmentUser","userId","email","handleSend","handleSuggestionSelect","value","handleReloadResults","handleShowMoreResults","messageId","currentPageForMessage","nextPage","newResults","currentData","existingDiamonds","newDiamonds","handleShowLessResults","initialResults","handleRecommendationRequest","stored","conversations","loadingMsgId","visibleItems","slice","assistantMessage","responseText","content","recommendationMsgId","RECOMMENDATION_RECEIVED","recommendation_count","loadOlderMessages","prevHeight","result","olderMessages","existingIds","newMessages","log","requestAnimationFrame","newHeight","heightDiff","scrollTo","y","scrollToBottom","_","showEvent","hideEvent","subShow","addListener","subHide","remove","handleClearChat","data","changePriceMode","removeAllListeners","_priceMode","price_mode","updatedConversations","chat_has_initialized","fresh","step","base","interval","setInterval","dots","repeat","clearInterval","clearChat","typingIndexRef","total","finalMsgId","fullText","currentIndex","renderBottomContainer","createElement","BottomContainer","onChangeText","onSend","disabled","active","Container","style","flex","behavior","keyboardVerticalOffset","username","productType","Fragment","EmptyContainer","ClearChatContainer","onPress","ClearChatText","EmptyText","time","keyboardShouldPersistTaps","onScroll","contentOffset","contentSize","layoutMeasurement","nativeEvent","distanceFromBottom","height","scrollEventThrottle","backgroundColor","contentContainerStyle","listContentBackgroundColor","styles","listContent","justifyContent","minHeight","maxWidth","alignSelf","width","onContentSizeChange","_width","LoadingOlderContainer","color","LoadingOlderText","ordered","latestResultMsgId","msgHasDiamonds","index","isLatest","isLatestResultMsg","key","gap","message","userTheme","onReloadResults","reloading","hasResults","totalResults","header","total_diamonds_found","shownResults","onSuggestionSelect","isTyping","onFetched","showMoreResults","showLessResults","isLoadingMore","ai_chat_bot","show_recommendation","LineView","displayName","Text","TouchableOpacity","create","paddingVertical","flexGrow","alignItems"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,IAAI,EACJC,UAAU,EACVC,UAAU,EAGVC,oBAAoB,EACpBC,QAAQ,EACRC,kBAAkB,EAClBC,QAAQ,EACRC,iBAAiB,QAGZ,cAAc;AACrB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,SAASC,UAAU,QAAQ,UAAU;AACrC,SAEEC,oBAAoB,EACpBC,kBAAkB,EAClBC,qBAAqB,EACrBC,qBAAqB,EACrBC,WAAW,EACXC,oBAAoB,EACpBC,kBAAkB,EAClBC,uBAAuB,EACvBC,8BAA8B,EAC9BC,iBAAiB,EACjBC,eAAe,EACfC,gBAAgB,QACX,QAAQ;AACf,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SACEC,YAAY,EACZC,YAAY,EACZC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,eAAe,QAEV,SAAS;AAChB,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,OAAO,QAAQ,YAAY;AACpC,OAAOC,aAAa,MAAM,2BAA2B;AACrD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,MAAM,MAAM,0BAA0B;AAE7C,SAASC,GAAG,QAAQ,0BAA0B;AAC9C,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,cAAc,QAGT,SAAS;AAChB,SAASC,aAAa,QAAQ,wBAAwB;AACtD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SACEC,kBAAkB,EAClBC,qBAAqB,QAChB,2BAA2B;AAElC,SAASC,eAAe,QAAQ,6BAA6B;AAE7D,OAAO,MAAMC,UAAU,gBAAGxD,UAAU,CAClC,CACE;EACEyD,MAAM;EACNC,SAAS,EAAEC,aAAa;EACxBC,SAAS,EAAEC,aAAa;EACxBC,QAAQ,EAAEC,YAAY;EACtBC,WAAW;EACXC,KAAK,EAAEC,cAAc;EACrBC,eAAe,GAAG,EAAE;EACpBC,WAAW;EACXC,OAAO;EACPC,WAAW;EACXC,cAAc;EACdC,WAAW,EAAEC,eAAe;EAC5BC,UAAU,EAAEC,cAAc;EAC1BC,WAAW;EACXC,iBAAiB;EACjBC,mBAAmB;EACnBC,gBAAgB;EAChBC,qBAAqB;EACrBC,YAAY;EACZC,MAAM,GAAG,IAAI;EACbC,sBAAsB,GAAG,CAAC,CAAC;EAC3BC,iBAAiB;EACjBC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IAAEC;EAAE,CAAC,GAAGrC,cAAc,CAAC,CAAC;EAC9B,MAAM,CAACsC,WAAW,EAAEC,cAAc,CAAC,GAAGnF,QAAQ,CAAqB,IAAI,CAAC;EACxE,MAAM,CAACoF,QAAQ,EAAEC,WAAW,CAAC,GAAGrF,QAAQ,CAAgB6D,eAAe,CAAC;EACxE,MAAM,CAACyB,KAAK,EAAEC,QAAQ,CAAC,GAAGvF,QAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAACwF,OAAO,EAAEC,UAAU,CAAC,GAAGzF,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAAC0F,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG3F,QAAQ,CACtD,IACF,CAAC;EACD,MAAM,CAAC4F,eAAe,EAAEC,kBAAkB,CAAC,GAAG7F,QAAQ,CAAgB,IAAI,CAAC;EAC3E,MAAM,CAAC8F,cAAc,EAAEC,iBAAiB,CAAC,GAAG/F,QAAQ,CAAS,EAAE,CAAC;EAChE,MAAM,CAACgG,aAAa,EAAEC,gBAAgB,CAAC,GAAGjG,QAAQ,CAAsB,CAAC,CAAC,CAAC;EAC3E,MAAM,CAACkG,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGnG,QAAQ,CACtD,IAAIoG,GAAG,CAAC,CACV,CAAC;EACD,MAAM,CAAC9C,SAAS,EAAE+C,YAAY,CAAC,GAAGrG,QAAQ,CACxCuD,aAAa,IAAI,IACnB,CAAC;EACD,MAAM,CAACH,SAAS,EAAEkD,YAAY,CAAC,GAAGtG,QAAQ,CAASqD,aAAa,IAAI,EAAE,CAAC;EACvE;EACA,MAAM,CAACkD,YAAY,EAAEC,eAAe,CAAC,GAAGxG,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACyG,eAAe,EAAEC,kBAAkB,CAAC,GAAG1G,QAAQ,CAAC,IAAI,CAAC;EAC5D,MAAM,CAAC2G,kBAAkB,EAAEC,0BAA0B,CAAC,GAAG5G,QAAQ,CAE/D,IAAI,CAAC;EACP,MAAM,CAAC6G,UAAU,EAAEC,aAAa,CAAC,GAAG9G,QAAQ,CAC1C+G,SACF,CAAC;EACD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGjH,QAAQ,CAAC,CAAC,CAAC;EACjD;EACA,MAAM,CAACkH,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGnH,QAAQ,CAE1D,CAAC,CAAC,CAAC;EACL,MAAM,CAACoH,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGrH,QAAQ,CAC1D,IAAIoG,GAAG,CAAC,CACV,CAAC;EACD;EACA,MAAM,CAACkB,0BAA0B,EAAEC,6BAA6B,CAAC,GAC/DvH,QAAQ,CAAc,IAAIoG,GAAG,CAAC,CAAC,CAAC;EAClC,MAAM,CAACoB,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGzH,QAAQ,CAEhE,IAAIoG,GAAG,CAAC,CAAC,CAAC;EACZ,MAAM,CAACsB,oBAAoB,EAAEC,uBAAuB,CAAC,GAAG3H,QAAQ,CAE9D,CAAC,CAAC,CAAC;EACL;EACA,MAAM,CAAC4H,0BAA0B,EAAEC,6BAA6B,CAAC,GAC/D7H,QAAQ,CAAgB,IAAI,CAAC;EAC/B;EACA,MAAM,CAAC8H,4BAA4B,EAAEC,+BAA+B,CAAC,GACnE/H,QAAQ,CAAc,IAAIoG,GAAG,CAAC,CAAC,CAAC;EAClC,MAAM4B,SAAS,GAAGjI,MAAM,CAAoB,IAAI,CAAC;EACjD,MAAMkI,QAAQ,GAAGlI,MAAM,CAAmB,IAAI,CAAC;EAC/C,MAAMmI,iBAAiB,GAAGnI,MAAM,CAAC,IAAI,CAAC;EACtC;EACA,MAAMoI,UAAU,GAAGpI,MAAM,CAAC,CAAC,CAAC;EAC5B,MAAMqI,gBAAgB,GAAGrI,MAAM,CAAC,CAAC,CAAC;EAClC,MAAMsI,kBAAkB,GAAGtI,MAAM,CAAC,KAAK,CAAC;EACxC,MAAMuI,eAAe,GAAGvI,MAAM,CAAC,KAAK,CAAC;EACrC,MAAMwI,oBAAoB,GAAGxI,MAAM,CAAC,KAAK,CAAC;EAC1C,MAAMyI,UAAU,GAAG1I,OAAO,CACxB,MAAMc,UAAU,CAACgD,cAAc,CAAC,EAChC,CAACA,cAAc,CACjB,CAAC;EACD,MAAM;IAAE6E;EAAU,CAAC,GAAGrG,gBAAgB,CAAC,CAAC;EACxC,MAAMsG,UAAU,GAAGC,OAAO,CAACtE,cAAc,CAAC;EAC1C,MAAMV,KAAK,GAAGpB,QAAQ,CAAC,CAAC;EACxB,MAAMqG,QAAQ,GAAGjF,KAAK,CAACiF,QAAQ;EAC/B,MAAM;IAAEC;EAAW,CAAC,GAAGhG,aAAa,CAAC,CAAC;;EAEtC;EACAjD,SAAS,CAAC,MAAM;IACd8C,QAAQ,CAAC;MAAEkC,MAAM;MAAED;IAAa,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA/E,SAAS,CAAC,MAAM;IACd,IAAI0E,WAAW,EAAE;MACfrB,eAAe,CAAC,CAAC,CAAC6F,IAAI,CAAEC,MAAM,IAAK;QACjC,IAAIA,MAAM,EAAE;UACV5D,cAAc,CAAC4D,MAAM,CAAC;QACxB;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACzE,WAAW,CAAC,CAAC;EAEjB1E,SAAS,CAAC,MAAM;IACdmB,qBAAqB,CAAC,CAAC,CAAC+H,IAAI,CAAClC,0BAA0B,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAENhH,SAAS,CAAC,MAAM;IACd+C,kBAAkB,CAACiC,MAAM,EAAED,YAAY,CAAC;EAC1C,CAAC,EAAE,CAACC,MAAM,EAAED,YAAY,CAAC,CAAC;EAE1B/E,SAAS,CAAC,MAAM;IACd,MAAMoJ,YAAY,GAAG,MAAAA,CAAA,KAAY;MAC/B,IAAI;QACF,IAAI3F,aAAa,EAAE;UACjB;UACA7B,gBAAgB,CAAC6B,aAAa,CAAC;UAC/BiD,YAAY,CAACjD,aAAa,CAAC;QAC7B,CAAC,MAAM;UACL;UACA7B,gBAAgB,CAAC,IAAI,CAAC;UACtB,MAAMyH,QAAQ,GAAG,MAAM5G,OAAO,CAAC6G,OAAO,CACpC,kBAAkB,EAClB,CAAC,CACH,CAAC;UACD,MAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,EAAEK,IAAI,IAAI,IAAI,CAAC;UACnD,MAAMC,KAAK,GAAGJ,QAAQ,EAAEI,KAAK,IAAI,EAAE;UACnC,IAAIA,KAAK,EAAE;YACTjD,YAAY,CAACiD,KAAK,CAAC;UACrB;QACF;MACF,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVC,OAAO,CAACC,KAAK,CAAC,uCAAuC,EAAEF,CAAC,CAAC;MAC3D;IACF,CAAC;IACDR,YAAY,CAAC,CAAC;;IAEd;IACA,OAAO,MAAM;MACXxH,gBAAgB,CAAC,IAAI,CAAC;IACxB,CAAC;EACH,CAAC,EAAE,CAAC6B,aAAa,CAAC,CAAC;EAEnB,MAAMsG,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACnC,IAAIpF,iBAAiB,EAAE;MACrB,MAAMlC,OAAO,CAACuH,OAAO,CAAC,kBAAkB,EAAErF,iBAAiB,CAAC;IAC9D;EACF,CAAC;EAED3E,SAAS,CAAC,MAAM;IACd,IAAIwF,QAAQ,CAACyE,MAAM,KAAK,CAAC,EAAEF,gBAAgB,CAAC,CAAC;EAC/C,CAAC,EAAE,CAACvE,QAAQ,CAAC,CAAC;EAEdxF,SAAS,CAAC,MAAM;IACd+J,gBAAgB,CAAC,CAAC;EACpB,CAAC,EAAE,CAACpF,iBAAiB,CAAC,CAAC;EAEvB,MAAMuF,SAAS,GAAGnK,WAAW,CAC1BoK,IAAS,IAAK;IACb,IAAIC,aAAa,GAAGD,IAAI,EAAEE,cAAc;IACxC,MAAMC,wBAAwB,GAAGd,IAAI,CAACe,SAAS,CAACH,aAAa,CAAC;IAC9D,MAAMI,OAAO,GAAGL,IAAI,EAAEE,cAAc;IACpC,IAAI,CAACG,OAAO,EAAE;IAEd,IAAIC,WAAmB;IAEvB,IAAI/F,WAAW,EAAE;MACf+F,WAAW,GAAGrH,qBAAqB,CAACoH,OAAO,EAAElF,WAAW,EAAEoF,WAAW,CAAC;MACtEC,MAAM,CAACC,IAAI,CAACH,WAAW,EAAE,SAAS,CAAC;IACrC,CAAC,MAAM;MACL,MAAMI,UAAU,GACd,OAAOL,OAAO,CAACM,SAAS,KAAK,QAAQ,GACjCN,OAAO,CAACM,SAAS,KAAK,MAAM,GAC5B,OAAON,OAAO,CAACM,SAAS,KAAK,SAAS,GACpCN,OAAO,CAACM,SAAS,GACjB,KAAK;MACbL,WAAW,GAAG,GAAGlH,MAAM,UACrBsH,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,qBACnCnH,SAAS,gBAC5BmH,UAAU,GACNtI,eAAe,CAACwI,iBAAiB,GACjCxI,eAAe,CAACyI,OAAO,4DAE3BZ,aAAa,CAACa,IAAI,KAAK,MAAM,GAAG,OAAO,GAAG,eAAe,sEACWC,kBAAkB,CAACZ,wBAAwB,CAAC,EAAE;IACtH;IAEA,IAAIjG,cAAc,EAAE;MAClBA,cAAc,CAACoG,WAAW,EAAED,OAAO,CAAC;IACtC,CAAC,MAAM,IAAI7J,QAAQ,CAACwK,EAAE,KAAK,KAAK,EAAE;MAChCR,MAAM,CAACC,IAAI,CAACH,WAAW,EAAE,SAAS,CAAC;IACrC;EACF,CAAC,EACD,CAAClH,MAAM,EAAEG,SAAS,EAAEW,cAAc,EAAEK,WAAW,EAAEY,WAAW,CAC9D,CAAC;EAED,MAAMhB,WAAW,GAAGvE,WAAW,CAC5BoK,IAAS,IAAK;IACb,IAAIM,WAAmB;IAEvB,IAAI/F,WAAW,EAAE;MACf+F,WAAW,GAAGtH,kBAAkB,CAACgH,IAAI,CAACiB,EAAE,EAAE9F,WAAW,EAAE+F,eAAe,CAAC;MACvEV,MAAM,CAACC,IAAI,CAACH,WAAW,EAAE,SAAS,CAAC;IACrC,CAAC,MAAM;MACLA,WAAW,GAAG,GAAGlH,MAAM,UACrB4G,IAAI,CAACmB,IAAI,KAAK/I,eAAe,CAACwI,iBAAiB,GAC3C,oBAAoB,GACpB,kBAAkB,gBACRZ,IAAI,CAACiB,EAAE,gBACrBjB,IAAI,CAACmB,IAAI,cACG5H,SAAS,kCAAkC;IAC3D;IAEA,IAAIa,eAAe,EAAE;MACnBA,eAAe,CAACkG,WAAW,EAAEN,IAAI,CAAC;IACpC,CAAC,MAAM,IAAIxJ,QAAQ,CAACwK,EAAE,KAAK,KAAK,EAAE;MAChCR,MAAM,CAACC,IAAI,CAACH,WAAW,EAAE,SAAS,CAAC;IACrC;EACF,CAAC,EACD,CAAClH,MAAM,EAAEG,SAAS,EAAEa,eAAe,EAAEG,WAAW,EAAEY,WAAW,CAC/D,CAAC;EAED,MAAMiG,OAAO,GAAGrL,OAAO,CAAC,MAAM6I,OAAO,CAACvF,SAAS,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAE9D,MAAMgI,SAAwB,GAAGtL,OAAO,CACtC,OAAO;IACLuL,cAAc,EAAEjI;EAClB,CAAC,CAAC,EACF,CAACA,SAAS,CACZ,CAAC;EAED,MAAMkI,oBAAoB,GAAG3L,WAAW,CACtC,OACE4L,MAAsB,EACtBC,eAAuB,EACvBC,UAAkB,KACf;IACH,IAAI;MACF,IAAIC,eAAe,GAAG,GAAG;MACzBrG,WAAW,CAAEsG,IAAI,IAAK;QACpB,MAAMC,GAAG,GAAGD,IAAI,CAACE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACd,EAAE,KAAKS,UAAU,CAAC;QACjDC,eAAe,GAAGE,GAAG,EAAEG,QAAQ,IAAI,GAAG;QACtC,OAAOJ,IAAI;MACb,CAAC,CAAC;MAEF,MAAMK,UAA0B,GAC9BN,eAAe,KAAKH,MAAM,GAAGvJ,cAAc,CAACiK,KAAK,GAAGV,MAAM;MAC5D,MAAMW,GAAG,GAAG,MAAM9K,uBAAuB,CACvC+B,MAAM,EACN6I,UAAU,EACVR,eAAe,EACfC,UACF,CAAC;MACD,IAAIS,GAAG,CAACC,EAAE,EAAE;QACV9G,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAEN,CAAC,IACTA,CAAC,CAACd,EAAE,KAAKS,UAAU,GAAG;UAAE,GAAGK,CAAC;UAAEC,QAAQ,EAAEC;QAAW,CAAC,GAAGF,CACzD,CACF,CAAC;MACH,CAAC,MAAM;QACLrC,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAEwC,GAAG,CAACG,MAAM,CAAC;MAClD;IACF,CAAC,CAAC,OAAO7C,CAAC,EAAE;MACVC,OAAO,CAACC,KAAK,CAAC,oBAAoB,EAAEF,CAAC,CAAC;IACxC;EACF,CAAC,EACD,EACF,CAAC;EAED5J,SAAS,CAAC,MAAM;IACd,IAAI0M,SAAS,GAAG,KAAK;IAErB,MAAMC,IAAI,GAAG,MAAAA,CAAA,KAAY;MACvB,IAAI,CAACpB,OAAO,EAAE;MACd,IAAI;QACF,MAAMqB,OAAO,GAAG,MAAM3L,oBAAoB,CACxCsC,MAAM,EACNiI,SAAS,EACT9H,SACF,CAAC;QACD,IAAI,CAACgJ,SAAS,EAAE;UACd,MAAMG,UAAU,GAAG,CACjB,MAAMnL,iBAAiB,CAACkL,OAAO,EAAElJ,SAAS,CAAC,EAC3CoJ,OAAO,CAAC,CAAC;UACX;UACA,IAAIF,OAAO,EAAEG,QAAQ,KAAK5F,SAAS,EAAE;YACnCL,kBAAkB,CAAC8F,OAAO,CAACG,QAAQ,CAAC;UACtC;UACA,IAAIH,OAAO,EAAEI,WAAW,KAAK7F,SAAS,EAAE;YACtCD,aAAa,CAAC0F,OAAO,CAACI,WAAW,CAAC;UACpC;;UAEA;UACArE,oBAAoB,CAACsE,OAAO,GAAG,KAAK;UACpCxE,kBAAkB,CAACwE,OAAO,GAAG,KAAK;UAElC,IAAIJ,UAAU,CAAC5C,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAMiD,gBAA6B,GAAG;cACpC9B,EAAE,EAAE,EAAE;cACN+B,IAAI,EAAE,WAAW;cACjBC,IAAI,EAAE/H,CAAC,CACL,2BAA2B,EAC3B,0IACF,CAAC;cACDgI,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;cACrBC,SAAS,EAAE,KAAK;cAChBC,WAAW,EAAE,EAAE;cACfpD,cAAc,EAAE,CAAC,CAAC;cAClB8B,QAAQ,EAAE;YACZ,CAAC;YACD1G,WAAW,CAAC,CAACyH,gBAAgB,CAAC,CAAC;YAC/BpG,kBAAkB,CAAC,KAAK,CAAC;UAC3B,CAAC,MAAM;YACLrB,WAAW,CAACoH,UAAU,CAAC;YACvB7F,0BAA0B,CAAC,IAAI,CAAC;UAClC;UACA;QACF;MACF,CAAC,CAAC,OAAO8C,KAAK,EAAE;QACdD,OAAO,CAACC,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;MAC1D;IACF,CAAC;IAED,IAAI,CAAC7F,eAAe,CAACgG,MAAM,EAAE;MAC3B0C,IAAI,CAAC,CAAC;IACR;IAEA,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACnJ,MAAM,EAAEiI,SAAS,EAAEvH,eAAe,CAACgG,MAAM,EAAEsB,OAAO,EAAE7H,SAAS,CAAC,CAAC;;EAEnE;EACA1D,SAAS,CAAC,MAAM;IACd,IAAIwF,QAAQ,CAACyE,MAAM,KAAK,CAAC,EAAE;;IAE3B;IACA,MAAMyD,sBAAsB,GAAGlI,QAAQ,CAACmI,MAAM,CAC3C3B,GAAG,IACFA,GAAG,CAACmB,IAAI,KAAK,WAAW,IACxBnB,GAAG,CAAC4B,sBAAsB,IAC1BC,MAAM,CAACC,IAAI,CAAC9B,GAAG,CAAC4B,sBAAsB,CAAC,CAAC3D,MAAM,GAAG,CACrD,CAAC;IAED,IAAIyD,sBAAsB,CAACzD,MAAM,KAAK,CAAC,EAAE;MACvC;MACA,IAAI/B,4BAA4B,CAAC6F,IAAI,GAAG,CAAC,EAAE;QACzC5F,+BAA+B,CAAC,IAAI3B,GAAG,CAAC,CAAC,CAAC;MAC5C;MACA;IACF;;IAEA;IACAkH,sBAAsB,CAACM,OAAO,CAAEC,MAAM,IAAK;MACzC,MAAMC,QAAQ,GAAG1I,QAAQ,CAAC2I,SAAS,CAAEjC,CAAC,IAAKA,CAAC,CAACd,EAAE,KAAK6C,MAAM,CAAC7C,EAAE,CAAC;MAC9D,IAAI8C,QAAQ,IAAI,CAAC,EAAE;;MAEnB;MACA,IAAIE,SAAkC;MACtC,KAAK,IAAIC,CAAC,GAAGH,QAAQ,GAAG,CAAC,EAAEG,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACtC,MAAMrC,GAAG,GAAGxG,QAAQ,CAAC6I,CAAC,CAAC;QACvB,IACErC,GAAG,CAACmB,IAAI,KAAK,WAAW,IACxBnB,GAAG,CAAC3B,cAAc,IAClBwD,MAAM,CAACC,IAAI,CAAC9B,GAAG,CAAC3B,cAAc,CAAC,CAACJ,MAAM,GAAG,CAAC,EAC1C;UACAmE,SAAS,GAAGpC,GAAG;UACf;QACF;MACF;MAEA,IAAI,CAACoC,SAAS,EAAE;;MAEhB;MACA,IAAItG,oBAAoB,CAACsG,SAAS,CAAChD,EAAE,CAAC,EAAE;QACtC;QACA,IAAIlD,4BAA4B,CAACoG,GAAG,CAACL,MAAM,CAAC7C,EAAE,CAAC,EAAE;UAC/CjD,+BAA+B,CAAE4D,IAAI,IAAK;YACxC,MAAMwC,IAAI,GAAG,IAAI/H,GAAG,CAACuF,IAAI,CAAC;YAC1BwC,IAAI,CAACC,MAAM,CAACP,MAAM,CAAC7C,EAAE,CAAC;YACtB,OAAOmD,IAAI;UACb,CAAC,CAAC;QACJ;QACA;MACF;;MAEA;MACA,MAAME,QAAQ,GAAGrI,aAAa,CAACgI,SAAS,CAAChD,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ;MACtE,IAAI,CAACA,QAAQ,IAAIA,QAAQ,CAACxE,MAAM,KAAK,CAAC,EAAE;QACtC;QACA,IAAI,CAAC/B,4BAA4B,CAACoG,GAAG,CAACL,MAAM,CAAC7C,EAAE,CAAC,EAAE;UAChDjD,+BAA+B,CAAE4D,IAAI,IACnC,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACX,MAAM,CAAC7C,EAAE,CAC7B,CAAC;UACD;UACA3F,WAAW,CAAEoJ,QAAQ,IACnBA,QAAQ,CAACrC,GAAG,CAAEN,CAAC,IACbA,CAAC,CAACd,EAAE,KAAK6C,MAAM,CAAC7C,EAAE,GACd;YACE,GAAGc,CAAC;YACJkB,IAAI,EAAE/H,CAAC,CACL,6BAA6B,EAC7B,gDACF,CAAC;YACDmI,SAAS,EAAE;UACb,CAAC,GACDtB,CACN,CACF,CAAC;QACH;QACA;MACF;;MAEA;MACA;MACAvE,6BAA6B,CAAEoE,IAAI,IACjC,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACR,SAAS,CAAEhD,EAAE,CACjC,CAAC;;MAED;MACA,MAAMZ,OAAO,GAAGyD,MAAM,CAACL,sBAAsB;MAC7C,MAAMkB,eAAsB,GAAG,EAAE;MAEjC,MAAMC,eAAe,GAAIC,WAAmB,IAAK;QAC/C,OAAOP,QAAQ,CAACxC,IAAI,CACjBgD,CAAM,IAAKC,MAAM,CAACD,CAAC,CAAC7D,EAAE,CAAC,KAAK8D,MAAM,CAACF,WAAW,CACjD,CAAC;MACH,CAAC;MAED,IAAIxE,OAAO,EAAE2E,SAAS,EAAE;QACtB,MAAMC,OAAO,GAAGL,eAAe,CAACvE,OAAO,CAAC2E,SAAS,CAACE,aAAa,CAAC;QAChE,IAAID,OAAO,EAAE;UACXN,eAAe,CAACQ,IAAI,CAAC;YACnB,GAAGF,OAAO;YACVG,kBAAkB,EAAE,WAAW;YAC/BC,KAAK,EAAEhF,OAAO,CAAC2E,SAAS,CAACK,KAAK;YAC9BC,oBAAoB,EAAEjF,OAAO,CAAC2E,SAAS,CAACM,oBAAoB;YAC5DC,SAAS,EAAElF,OAAO,CAAC2E,SAAS,CAACO,SAAS;YACtCC,QAAQ,EAAEnF,OAAO,CAAC2E,SAAS,CAACQ;UAC9B,CAAC,CAAC;QACJ;MACF;MAEA,IAAInF,OAAO,EAAEoF,SAAS,EAAE;QACtB,MAAMR,OAAO,GAAGL,eAAe,CAACvE,OAAO,CAACoF,SAAS,CAACP,aAAa,CAAC;QAChE,IAAID,OAAO,EAAE;UACXN,eAAe,CAACQ,IAAI,CAAC;YACnB,GAAGF,OAAO;YACVG,kBAAkB,EAAE,WAAW;YAC/BC,KAAK,EAAEhF,OAAO,CAACoF,SAAS,CAACJ,KAAK;YAC9BK,MAAM,EAAErF,OAAO,CAACoF,SAAS,CAACC;UAC5B,CAAC,CAAC;QACJ;MACF;MAEA,IAAIrF,OAAO,EAAEsF,gBAAgB,EAAE;QAC7BtF,OAAO,CAACsF,gBAAgB,CAAC9B,OAAO,CAAE+B,GAAQ,IAAK;UAC7C,MAAMX,OAAO,GAAGL,eAAe,CAACgB,GAAG,CAACV,aAAa,CAAC;UAClD,IAAID,OAAO,EAAE;YACXN,eAAe,CAACQ,IAAI,CAAC;cACnB,GAAGF,OAAO;cACVG,kBAAkB,EAAE,kBAAkB;cACtCC,KAAK,EAAEO,GAAG,CAACP,KAAK;cAChBK,MAAM,EAAEE,GAAG,CAACF;YACd,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ;MAEA,IAAIf,eAAe,CAAC7E,MAAM,GAAG,CAAC,EAAE;QAC9BlC,uBAAuB,CAAEgE,IAAI,KAAM;UACjC,GAAGA,IAAI;UACP,CAACqC,SAAS,CAAEhD,EAAE,GAAG0D;QACnB,CAAC,CAAC,CAAC;;QAEH;QACA3G,+BAA+B,CAAE4D,IAAI,IAAK;UACxC,MAAMwC,IAAI,GAAG,IAAI/H,GAAG,CAACuF,IAAI,CAAC;UAC1BwC,IAAI,CAACC,MAAM,CAACP,MAAM,CAAC7C,EAAE,CAAC;UACtB,OAAOmD,IAAI;QACb,CAAC,CAAC;;QAEF;QACA9I,WAAW,CAAEoJ,QAAQ,IACnBA,QAAQ,CAACrC,GAAG,CAAEN,CAAC,IACbA,CAAC,CAACd,EAAE,KAAK6C,MAAM,CAAC7C,EAAE,GACd;UACE,GAAGc,CAAC;UACJkB,IAAI,EAAE/H,CAAC,CACL,4BAA4B,EAC5B,+DACF,CAAC;UACDmI,SAAS,EAAE,KAAK;UAChBwC,gBAAgB,EAAE,IAAI;UACtBC,eAAe,EAAE7B,SAAS,CAAEhD;QAC9B,CAAC,GACDc,CACN,CACF,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC1G,QAAQ,EAAEY,aAAa,EAAEf,CAAC,CAAC,CAAC;EAEhC,MAAM6K,WAAW,GAAGnQ,WAAW,CAC7B,MAAOoQ,OAAe,IAAK;IACzB,MAAMC,OAAO,GAAGD,OAAO,CAACE,IAAI,CAAC,CAAC;IAC9B,IAAI,CAACD,OAAO,IAAIxK,OAAO,EAAE;IACzB,MAAM0K,gBAAgB,GACpB,MAAM7N,OAAO,CAAC6G,OAAO,CAAS,kBAAkB,CAAC;IAEnD,MAAMiH,WAAwB,GAAG;MAC/BnF,EAAE,EAAE,QAAQkC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MACxBJ,IAAI,EAAE,MAAM;MACZC,IAAI,EAAEgD,OAAO;MACb/C,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB+C,gBAAgB,EAAEA,gBAAgB,IAAI;IACxC,CAAC;IAED,MAAME,SAAS,GAAG,eAAelD,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;IAC7C,MAAMkD,cAA2B,GAAG;MAClCrF,EAAE,EAAEoF,SAAS;MACbrD,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE/H,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC;MACzCgI,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrBpB,QAAQ,EAAE,GAAG;MACbqB,SAAS,EAAE,IAAI;MACfnD,cAAc,EAAE,CAAC;IACnB,CAAC;IAED5E,WAAW,CAAEsG,IAAI,IAAK,CAAC,GAAGA,IAAI,EAAEwE,WAAW,EAAEE,cAAc,CAAC,CAAC;IAC7D1K,mBAAmB,CAACyK,SAAS,CAAC;IAC9B3K,UAAU,CAAC,IAAI,CAAC;IAEhB,IAAI;MACF,IAAI,CAAC0F,OAAO,EAAE;QACZ9F,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKoF,SAAS,GAChB;UACE,GAAGxE,GAAG;UACNoB,IAAI,EAAE/H,CAAC,CACL,qBAAqB,EACrB,oDACF,CAAC;UACDmI,SAAS,EAAE;QACb,CAAC,GACDxB,GACN,CACF,CAAC;QACD;MACF;MAEA,MAAM0E,aAAa,GAAG,CAAC,GAAGlL,QAAQ,EAAE+K,WAAW,CAAC;MAChD,MAAMI,sBAAsB,GAAGrI,iBAAiB,CAAC2E,OAAO,GACpDhI,sBAAsB,GACtB,CAAC,CAAC;MACNqD,iBAAiB,CAAC2E,OAAO,GAAG,KAAK;MACjC,MAAM2D,eAAe,GAAG,MAAMjP,eAAe,CAC3C4B,MAAM,EACN6M,OAAO,EACP5E,SAAS,EACTkF,aAAa,EACbhN,SAAS,EACTiN,sBACF,CAAC;MAED,MAAM9D,UAAU,GAAG,MAAMnL,iBAAiB,CACxCkP,eAAe,EACflN,SACF,CAAC;MACD,MAAMmN,eAAe,GAAGhE,UAAU,CAACZ,IAAI,CACpCC,CAAC,IAAKA,CAAC,CAACiB,IAAI,KAAK,WACpB,CAAC;MAED,IAAI0D,eAAe,EAAEzD,IAAI,EAAE;QACzB,IACEyD,eAAe,EAAExG,cAAc,IAC/B,OAAOwG,eAAe,CAACxG,cAAc,KAAK,QAAQ,IAClDwD,MAAM,CAACC,IAAI,CAAC+C,eAAe,CAACxG,cAAc,CAAC,CAACJ,MAAM,GAAG,CAAC,EACtD;UACA,MAAM6G,cAAc,GAAG,MAAMzP,WAAW,CACtCkC,MAAM,EACNsN,eAAe,CAACxG,cAAc,EAC9B3F,WAAW,EACXY,WAAW,EAAEyL,iBACf,CAAC;UACDnM,mBAAmB,GAAG1C,YAAY,CAAC8O,cAAc,EAAE;YACjDrF,MAAM,EAAExJ,YAAY,CAAC8O,gBAAgB;YACrC5G,cAAc,EAAEwG,eAAe,CAACxG;UAClC,CAAC,CAAC;UACF,MAAM6G,WAAW,GACfJ,cAAc,IACdA,cAAc,CAACpC,QAAQ,IACvBoC,cAAc,CAACpC,QAAQ,CAACC,IAAI,IAC5BwC,KAAK,CAACC,OAAO,CAACN,cAAc,CAACpC,QAAQ,CAACC,IAAI,CAACF,QAAQ,CAAC,IACpDqC,cAAc,CAACpC,QAAQ,CAACC,IAAI,CAACF,QAAQ,CAACxE,MAAM,GAAG,CAAC;UAElD,IAAI,CAACiH,WAAW,EAAE;YAChB;YACA;YACA;;YAEA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;;YAEAtM,mBAAmB,GAAG1C,YAAY,CAAC8O,cAAc,EAAE;cACjDrF,MAAM,EAAExJ,YAAY,CAACkP,gBAAgB;cACrChH,cAAc,EAAEwG,eAAe,CAACxG;YAClC,CAAC,CAAC;UACJ,CAAC,MAAM,IAAIxF,gBAAgB,IAAIqM,WAAW,EAAE;YAC1ChH,SAAS,CAAC;cACRG,cAAc,EAAEwG,eAAe,CAACxG;YAClC,CAAC,CAAC;UACJ;UACAhE,gBAAgB,CAAE0F,IAAI,KAAM;YAC1B,GAAGA,IAAI;YACP,CAAC8E,eAAe,CAACzF,EAAE,GAAG0F;UACxB,CAAC,CAAC,CAAC;QACL;QACA/K,mBAAmB,CAAC,IAAI,CAAC;QAEzBN,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKoF,SAAS,GAChB;UACE,GAAGxE,GAAG;UACNZ,EAAE,EAAEyF,eAAe,CAACzF,EAAE;UACtBgC,IAAI,EAAE,EAAE;UACRI,SAAS,EAAE,KAAK;UAChBC,WAAW,EAAEoD,eAAe,CAACpD,WAAW;UACxCpD,cAAc,EAAEwG,eAAe,CAACxG,cAAc,IAAI,CAAC;QACrD,CAAC,GACD2B,GACN,CACF,CAAC;QAEDsF,UAAU,CAAC,MAAM;UACfrL,kBAAkB,CAAC4K,eAAe,CAACzF,EAAE,CAAC;UACtCjF,iBAAiB,CAAC0K,eAAe,CAACzD,IAAI,CAAC;UACvChF,SAAS,CAAC6E,OAAO,EAAEsE,WAAW,CAAC;YAAEC,QAAQ,EAAE;UAAK,CAAC,CAAC;QACpD,CAAC,EAAE,EAAE,CAAC;MACR,CAAC,MAAM;QACL/L,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKoF,SAAS,GAChB;UACE,GAAGxE,GAAG;UACNwB,SAAS,EAAE;QACb,CAAC,GACDxB,GACN,CACF,CAAC;MACH;IACF,CAAC,CAAC,OAAOyF,GAAG,EAAE;MACZhM,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKoF,SAAS,GAChB;QACE,GAAGxE,GAAG;QACNoB,IAAI,EAAE/H,CAAC,CACL,iBAAiB,EACjB,gDACF,CAAC;QACDmI,SAAS,EAAE;MACb,CAAC,GACDxB,GACN,CACF,CAAC;MACDnC,OAAO,CAACC,KAAK,CAAC2H,GAAG,CAAC;IACpB,CAAC,SAAS;MACR5L,UAAU,CAAC,KAAK,CAAC;MACjBE,mBAAmB,CAAC,IAAI,CAAC;MACzBsC,QAAQ,CAAC4E,OAAO,EAAEyE,KAAK,CAAC,CAAC;IAC3B;EACF,CAAC,EACD,CACEnO,MAAM,EACNqC,OAAO,EACPJ,QAAQ,EACRgG,SAAS,EACTD,OAAO,EACP7H,SAAS,EACTwG,SAAS,EACTrF,gBAAgB,EAChBI,sBAAsB,CAE1B,CAAC;EAED,MAAM0M,mBAAmB,GAAG,MAAAA,CAAA,KAAY;IACtC,MAAMjI,IAAI,GAAG,MAAMpH,cAAc,CAAC,CAAC;IACnC,MAAMsP,MAAM,GAAGlI,IAAI,EAAE0B,EAAE;IACvB,MAAMyG,KAAK,GAAGrI,IAAI,CAACe,SAAS,CAACb,IAAI,EAAEmI,KAAK,CAAC,IAAI1K,SAAS;IACtD,IAAIyK,MAAM,EAAE;MACV/I,SAAS,CAAC,GAAG+I,MAAM,EAAE,EAAE;QACrBC,KAAK,EAAEA;MACT,CAAC,CAAC,CAAC3I,IAAI,CAAC,CAAC;IACX;EACF,CAAC;EACD,MAAM4I,UAAU,GAAG/R,WAAW,CAAC,YAAY;IACzC,MAAMqQ,OAAO,GAAG1K,KAAK,CAAC2K,IAAI,CAAC,CAAC;IAC5B,IAAI,CAACD,OAAO,EAAE;IACdzK,QAAQ,CAAC,EAAE,CAAC;IACZuK,WAAW,CAACE,OAAO,CAAC;IACpB,IACEvL,gBAAgB,IAChB,CAACC,qBAAqB,IACtBI,iBAAiB,IACjB6B,kBAAkB,KAAK,KAAK,EAC5B;MACA,KAAK3F,qBAAqB,CAAC,IAAI,CAAC,CAAC8H,IAAI,CAAC,MACpClC,0BAA0B,CAAC,IAAI,CACjC,CAAC;MACD7B,oBAAoB,GAAG,KAAK,CAAC;IAC/B;EACF,CAAC,EAAE,CACDO,KAAK,EACLwK,WAAW,EACXrL,gBAAgB,EAChBC,qBAAqB,EACrBI,iBAAiB,EACjB6B,kBAAkB,CACnB,CAAC;EAEF,MAAMgL,sBAAsB,GAAGhS,WAAW,CACvCiS,KAAa,IAAK;IACjB9B,WAAW,CAAC8B,KAAK,CAAC;EACpB,CAAC,EACD,CAAC9B,WAAW,CACd,CAAC;EAED,MAAM+B,mBAAmB,GAAGlS,WAAW,CAAC,MAAOiM,GAAgB,IAAK;IAClE,MAAMZ,EAAE,GAAGY,GAAG,CAACZ,EAAE;IACjB,IAAI;MACF7E,mBAAmB,CAAEwF,IAAI,IAAK,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACxD,EAAE,CAAC,CAAC;MACpD,MAAMZ,OAAO,GAAGwB,GAAG,EAAE3B,cAAc;MACnC,IAAI,CAACG,OAAO,IAAIqD,MAAM,CAACC,IAAI,CAACtD,OAAO,CAAC,CAACP,MAAM,KAAK,CAAC,EAAE;MACnD,MAAM6G,cAAc,GAAG,MAAMzP,WAAW,CACtCkC,MAAM,EACNiH,OAAO,EACP9F,WAAW,EACXY,WAAW,EAAEyL,iBACf,CAAC;MACD1K,gBAAgB,CAAE0F,IAAI,KAAM;QAAE,GAAGA,IAAI;QAAE,CAACX,EAAE,GAAG0F;MAAe,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,OAAOlH,CAAC,EAAE;MACVC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEF,CAAC,CAAC;IAC3C,CAAC,SAAS;MACRrD,mBAAmB,CAAEwF,IAAI,IAAK;QAC5B,MAAMwC,IAAI,GAAG,IAAI/H,GAAG,CAACuF,IAAI,CAAC;QAC1BwC,IAAI,CAACC,MAAM,CAACpD,EAAE,CAAC;QACf,OAAOmD,IAAI;MACb,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAAChL,MAAM,EAAEmB,WAAW,EAAEY,WAAW,CAAC,CAAC;EAEtC,MAAM4M,qBAAqB,GAAGnS,WAAW,CACvC,OAAOoS,SAAiB,EAAE/H,aAAkB,KAAK;IAC/C,IAAI5C,kBAAkB,CAAC8G,GAAG,CAAC6D,SAAS,CAAC,EAAE;IAEvC,MAAMC,qBAAqB,GAAG9K,kBAAkB,CAAC6K,SAAS,CAAC,IAAI,CAAC;IAChE,MAAME,QAAQ,GAAGD,qBAAqB,GAAG,CAAC;IAE1C,IAAIC,QAAQ,GAAG,CAAC,EAAE;IAElB,IAAI;MACF5K,qBAAqB,CAAEsE,IAAI,IAAK,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACuD,SAAS,CAAC,CAAC;MAE7D,MAAMG,UAAU,GAAG,MAAMhR,oBAAoB,CAC3CiC,MAAM,EACN6G,aAAa,EACbiI,QAAQ,EACR3N,WAAW,EACXY,WAAW,EAAEyL,iBACf,CAAC;MAED,IAAIuB,UAAU,EAAE5D,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,EAAE;QACxCpI,gBAAgB,CAAE0F,IAAI,IAAK;UACzB,MAAMwG,WAAW,GAAGxG,IAAI,CAACoG,SAAS,CAAC;UACnC,IAAI,CAACI,WAAW,EAAE,OAAOxG,IAAI;UAE7B,MAAMyG,gBAAgB,GACpBD,WAAW,CAAC7D,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,IAAI,EAAE;UAC5C,MAAMgE,WAAW,GAAGH,UAAU,CAAC5D,QAAQ,CAACC,IAAI,CAACF,QAAQ;UAErD,OAAO;YACL,GAAG1C,IAAI;YACP,CAACoG,SAAS,GAAG;cACX,GAAGI,WAAW;cACd7D,QAAQ,EAAE;gBACR,GAAG6D,WAAW,CAAC7D,QAAQ;gBACvBC,IAAI,EAAE;kBACJ,GAAG4D,WAAW,CAAC7D,QAAQ,CAACC,IAAI;kBAC5BF,QAAQ,EAAE,CAAC,GAAG+D,gBAAgB,EAAE,GAAGC,WAAW;gBAChD;cACF;YACF;UACF,CAAC;QACH,CAAC,CAAC;QAEFlL,qBAAqB,CAAEwE,IAAI,KAAM;UAC/B,GAAGA,IAAI;UACP,CAACoG,SAAS,GAAGE;QACf,CAAC,CAAC,CAAC;MACL;IACF,CAAC,CAAC,OAAOvI,KAAK,EAAE;MACdD,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACtD,CAAC,SAAS;MACRrC,qBAAqB,CAAEsE,IAAI,IAAK;QAC9B,MAAMwC,IAAI,GAAG,IAAI/H,GAAG,CAACuF,IAAI,CAAC;QAC1BwC,IAAI,CAACC,MAAM,CAAC2D,SAAS,CAAC;QACtB,OAAO5D,IAAI;MACb,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAAChL,MAAM,EAAEiE,kBAAkB,EAAEF,kBAAkB,EAAE5C,WAAW,EAAEY,WAAW,CAC3E,CAAC;EAED,MAAMoN,qBAAqB,GAAG3S,WAAW,CACvC,OAAOoS,SAAiB,EAAE/H,aAAkB,KAAK;IAC/C,IAAI;MACF,MAAMuI,cAAc,GAAG,MAAMtR,WAAW,CACtCkC,MAAM,EACN6G,aAAa,EACb1F,WAAW,EACXY,WAAW,EAAEyL,iBACf,CAAC;MAED,IAAI4B,cAAc,EAAEjE,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,EAAE;QAC5CpI,gBAAgB,CAAE0F,IAAI,KAAM;UAC1B,GAAGA,IAAI;UACP,CAACoG,SAAS,GAAGQ;QACf,CAAC,CAAC,CAAC;QAEHpL,qBAAqB,CAAEwE,IAAI,KAAM;UAC/B,GAAGA,IAAI;UACP,CAACoG,SAAS,GAAG;QACf,CAAC,CAAC,CAAC;MACL;IACF,CAAC,CAAC,OAAOrI,KAAK,EAAE;MACdD,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACtD;EACF,CAAC,EACD,CAACvG,MAAM,EAAEmB,WAAW,EAAEY,WAAW,CACnC,CAAC;EAED,MAAMsN,2BAA2B,GAAG7S,WAAW,CAC7C,MAAOoS,SAAiB,IAAK;IAC3B,MAAM1D,QAAQ,GAAGrI,aAAa,CAAC+L,SAAS,CAAC,EAAEzD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ;IACnE,IAAI,CAACA,QAAQ,IAAIA,QAAQ,CAACxE,MAAM,KAAK,CAAC,EAAE;;IAExC;;IAKA,MAAM4I,MAAM,GAAG,MAAMpQ,OAAO,CAAC6G,OAAO,CAClC,uBAAuB,EACvB,IACF,CAAC;IACD,MAAMmC,cAAc,GAAGoH,MAAM,EAAEC,aAAa,GAAGpP,SAAS,IAAI,EAAE,CAAC,EAC3DkI,eAAyB;IAE7B,IAAI,CAACH,cAAc,EAAE;MACnB5B,OAAO,CAACC,KAAK,CAAC,8CAA8C,CAAC;MAC7D;IACF;;IAEA;IACAnC,6BAA6B,CAAEoE,IAAI,IAAK,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACuD,SAAS,CAAC,CAAC;IACrEtK,wBAAwB,CAAEkE,IAAI,IAAK,IAAIvF,GAAG,CAACuF,IAAI,CAAC,CAAC6C,GAAG,CAACuD,SAAS,CAAC,CAAC;;IAEhE;IACA,MAAMY,YAAY,GAAG,0BAA0BzF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;IAC3D,MAAMkD,cAA2B,GAAG;MAClCrF,EAAE,EAAE2H,YAAY;MAChB5F,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE/H,CAAC,CACL,6BAA6B,EAC7B,gDACF,CAAC;MACDgI,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrBC,SAAS,EAAE,IAAI;MACfrB,QAAQ,EAAE;IACZ,CAAC;IACD1G,WAAW,CAAEsG,IAAI,IAAK,CAAC,GAAGA,IAAI,EAAE0E,cAAc,CAAC,CAAC;IAChDxI,6BAA6B,CAAC8K,YAAY,CAAC;IAE3C,IAAI;MACF;MACA,MAAMC,YAAY,GAAGvE,QAAQ,CAC1BwE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CACZzG,GAAG,CAAC/K,8BAA8B,CAAC;MAEtC,MAAMiN,QAAQ,GAAG,MAAMnN,kBAAkB,CACvCgC,MAAM,EACNkI,cAAc,EACduH,YACF,CAAC;;MAED;MACA,MAAME,gBAAgB,GAAGxE,QAAQ,CAAClJ,QAAQ,EAAEyG,IAAI,CAC7CD,GAAG,IACFA,GAAG,CAACmB,IAAI,KAAK,WAAW,IAAInB,GAAG,CAAC4B,sBAAsB,IAAI,IAC9D,CAAC;MAED,MAAMpD,OAAO,GAAG0I,gBAAgB,EAAEtF,sBAAsB;MACxD,MAAMuF,YAAY,GAChBD,gBAAgB,EAAEE,OAAO,IACzB/N,CAAC,CACC,4BAA4B,EAC5B,+DACF,CAAC;;MAEH;MACA,MAAMyJ,eAAsB,GAAG,EAAE;MAEjC,MAAMC,eAAe,GAAIC,WAAmB,IAAK;QAC/C,OAAOP,QAAQ,CAACxC,IAAI,CACjBgD,CAAM,IAAKC,MAAM,CAACD,CAAC,CAAC7D,EAAE,CAAC,KAAK8D,MAAM,CAACF,WAAW,CACjD,CAAC;MACH,CAAC;MAED,IAAIxE,OAAO,EAAE2E,SAAS,EAAE;QACtB,MAAMC,OAAO,GAAGL,eAAe,CAACvE,OAAO,CAAC2E,SAAS,CAACE,aAAa,CAAC;QAChE,IAAID,OAAO,EAAE;UACXN,eAAe,CAACQ,IAAI,CAAC;YACnB,GAAGF,OAAO;YACVG,kBAAkB,EAAE,WAAW;YAC/BC,KAAK,EAAEhF,OAAO,CAAC2E,SAAS,CAACK,KAAK;YAC9BC,oBAAoB,EAAEjF,OAAO,CAAC2E,SAAS,CAACM,oBAAoB;YAC5DC,SAAS,EAAElF,OAAO,CAAC2E,SAAS,CAACO,SAAS;YACtCC,QAAQ,EAAEnF,OAAO,CAAC2E,SAAS,CAACQ;UAC9B,CAAC,CAAC;QACJ;MACF;MAEA,IAAInF,OAAO,EAAEoF,SAAS,EAAE;QACtB,MAAMR,OAAO,GAAGL,eAAe,CAACvE,OAAO,CAACoF,SAAS,CAACP,aAAa,CAAC;QAChE,IAAID,OAAO,EAAE;UACXN,eAAe,CAACQ,IAAI,CAAC;YACnB,GAAGF,OAAO;YACVG,kBAAkB,EAAE,WAAW;YAC/BC,KAAK,EAAEhF,OAAO,CAACoF,SAAS,CAACJ,KAAK;YAC9BK,MAAM,EAAErF,OAAO,CAACoF,SAAS,CAACC;UAC5B,CAAC,CAAC;QACJ;MACF;MAEA,IAAIrF,OAAO,EAAEsF,gBAAgB,EAAE;QAC7BtF,OAAO,CAACsF,gBAAgB,CAAC9B,OAAO,CAAE+B,GAAG,IAAK;UACxC,MAAMX,OAAO,GAAGL,eAAe,CAACgB,GAAG,CAACV,aAAa,CAAC;UAClD,IAAID,OAAO,EAAE;YACXN,eAAe,CAACQ,IAAI,CAAC;cACnB,GAAGF,OAAO;cACVG,kBAAkB,EAAE,kBAAkB;cACtCC,KAAK,EAAEO,GAAG,CAACP,KAAK;cAChBK,MAAM,EAAEE,GAAG,CAACF;YACd,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ;;MAEA;MACA9H,uBAAuB,CAAEgE,IAAI,KAAM;QACjC,GAAGA,IAAI;QACP,CAACoG,SAAS,GAAGrD;MACf,CAAC,CAAC,CAAC;;MAEH;MACA,MAAMuE,mBAAmB,GAAG,kBAAkBlB,SAAS,IAAI7E,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MACvE9H,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAK2H,YAAY,GACnB;QACE,GAAG/G,GAAG;QACNZ,EAAE,EAAEiI,mBAAmB;QACvBjG,IAAI,EACF0B,eAAe,CAAC7E,MAAM,GAAG,CAAC,GACtBkJ,YAAY,GACZ9N,CAAC,CACC,+BAA+B,EAC/B,qEACF,CAAC;QACPmI,SAAS,EAAE,KAAK;QAChBwC,gBAAgB,EAAE,IAAI;QACtBC,eAAe,EAAEkC;MACnB,CAAC,GACDnG,GACN,CACF,CAAC;MAEDpH,mBAAmB,GAAG1C,YAAY,CAAC8O,cAAc,EAAE;QACjDrF,MAAM,EAAExJ,YAAY,CAACmR,uBAAuB;QAC5CC,oBAAoB,EAAEzE,eAAe,CAAC7E;MACxC,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOH,KAAK,EAAE;MACdD,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;MACtD;MACArE,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAK2H,YAAY,GACnB;QACE,GAAG/G,GAAG;QACNoB,IAAI,EAAE/H,CAAC,CACL,2BAA2B,EAC3B,mEACF,CAAC;QACDmI,SAAS,EAAE;MACb,CAAC,GACDxB,GACN,CACF,CAAC;IACH,CAAC,SAAS;MACRnE,wBAAwB,CAAEkE,IAAI,IAAK;QACjC,MAAMwC,IAAI,GAAG,IAAI/H,GAAG,CAACuF,IAAI,CAAC;QAC1BwC,IAAI,CAACC,MAAM,CAAC2D,SAAS,CAAC;QACtB,OAAO5D,IAAI;MACb,CAAC,CAAC;MACFtG,6BAA6B,CAAC,IAAI,CAAC;IACrC;EACF,CAAC,EACD,CAAC1E,MAAM,EAAE6C,aAAa,EAAE1C,SAAS,EAAE2B,CAAC,EAAET,mBAAmB,CAC3D,CAAC;EAED,MAAM4O,iBAAiB,GAAGzT,WAAW,CAAC,YAAY;IAChD,IAAI4G,YAAY,IAAI,CAACE,eAAe,IAAI,CAAC0E,OAAO,EAAE;IAElD7C,eAAe,CAACuE,OAAO,GAAG,IAAI;IAC9B,MAAMwG,UAAU,GAAGjL,gBAAgB,CAACyE,OAAO;IAC3CrG,eAAe,CAAC,IAAI,CAAC;IAErB,IAAI;MACF,MAAM8M,MAAM,GAAG,MAAMxS,kBAAkB,CACrCqC,MAAM,EACNG,SAAS,EACTuD,UAAU,EACVG,WAAW,GAAG,CAChB,CAAC;MAED,MAAMuM,aAAa,GAAG,CACpB,MAAMjS,iBAAiB,CAACgS,MAAM,EAAEhQ,SAAS,CAAC,EAC1CoJ,OAAO,CAAC,CAAC;MACX,IAAI6G,aAAa,CAAC1J,MAAM,GAAG,CAAC,EAAE;QAC5BxE,WAAW,CAAEsG,IAAI,IAAK;UACpB,MAAM6H,WAAW,GAAG,IAAIpN,GAAG,CAACuF,IAAI,CAACS,GAAG,CAAEN,CAAC,IAAKA,CAAC,CAACd,EAAE,CAAC,CAAC;UAClD,MAAMyI,WAAW,GAAGF,aAAa,CAAChG,MAAM,CACrCzB,CAAC,IAAK,CAAC0H,WAAW,CAACtF,GAAG,CAACpC,CAAC,CAACd,EAAE,CAC9B,CAAC;UACDvB,OAAO,CAACiK,GAAG,CAAC,2BAA2B,EAAE,CAAC,GAAGD,WAAW,EAAE,GAAG9H,IAAI,CAAC,CAAC;UAEnE,OAAO,CAAC,GAAG8H,WAAW,EAAE,GAAG9H,IAAI,CAAC;QAClC,CAAC,CAAC;QACF1E,cAAc,CAAE0E,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;QAElCgI,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,SAAS,GAAGxL,gBAAgB,CAACyE,OAAO;UAC1C,MAAMgH,UAAU,GAAGD,SAAS,GAAGP,UAAU;UACzC,IAAIQ,UAAU,GAAG,CAAC,IAAI7L,SAAS,CAAC6E,OAAO,EAAE;YACvC7E,SAAS,CAAC6E,OAAO,CAACiH,QAAQ,CAAC;cACzBC,CAAC,EAAE5L,UAAU,CAAC0E,OAAO,GAAGgH,UAAU;cAClCzC,QAAQ,EAAE;YACZ,CAAC,CAAC;UACJ;UACA9I,eAAe,CAACuE,OAAO,GAAG,KAAK;QACjC,CAAC,CAAC;MACJ,CAAC,MAAM;QACLvE,eAAe,CAACuE,OAAO,GAAG,KAAK;MACjC;MAEAnG,kBAAkB,CAAC4M,MAAM,CAAC3G,QAAQ,IAAI4G,aAAa,CAAC1J,MAAM,GAAG,CAAC,CAAC;MAC/D/C,aAAa,CAACwM,MAAM,CAAC1G,WAAW,CAAC;IACnC,CAAC,CAAC,OAAOpD,CAAC,EAAE;MACVC,OAAO,CAACC,KAAK,CAAC,+BAA+B,EAAEF,CAAC,CAAC;MACjDlB,eAAe,CAACuE,OAAO,GAAG,KAAK;IACjC,CAAC,SAAS;MACRrG,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC,EAAE,CACDD,YAAY,EACZE,eAAe,EACf0E,OAAO,EACPhI,MAAM,EACNG,SAAS,EACTuD,UAAU,EACVG,WAAW,CACZ,CAAC;EAEFpH,SAAS,CAAC,MAAM;IACd,MAAMoU,cAAc,GAAGA,CAAA,KAAM;MAC3B9C,UAAU,CAAC,MAAM;QACf,IAAI;UACFlJ,SAAS,CAAC6E,OAAO,EAAEsE,WAAW,CAAC;YAAEC,QAAQ,EAAE;UAAK,CAAC,CAAC;QACpD,CAAC,CAAC,OAAO6C,CAAC,EAAE,CAAC;MACf,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAED,MAAMC,SAAS,GACb3T,QAAQ,CAACwK,EAAE,KAAK,KAAK,GAAG,kBAAkB,GAAG,iBAAiB;IAChE,MAAMoJ,SAAS,GACb5T,QAAQ,CAACwK,EAAE,KAAK,KAAK,GAAG,kBAAkB,GAAG,iBAAiB;IAEhE,MAAMqJ,OAAO,GAAG/T,QAAQ,CAACgU,WAAW,CAACH,SAAS,EAAEF,cAAc,CAAC;IAC/D,MAAMM,OAAO,GAAGjU,QAAQ,CAACgU,WAAW,CAACF,SAAS,EAAEH,cAAc,CAAC;IAE/D,OAAO,MAAM;MACXI,OAAO,CAACG,MAAM,CAAC,CAAC;MAChBD,OAAO,CAACC,MAAM,CAAC,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN3U,SAAS,CAAC,MAAM;IACdU,kBAAkB,CAAC+T,WAAW,CAAC,WAAW,EAAEG,eAAe,CAAC;IAC5DlU,kBAAkB,CAAC+T,WAAW,CAC5B,iBAAiB,EAChBI,IAA2B,IAAKC,eAAe,CAACD,IAAI,CAACnR,SAAS,CACjE,CAAC;IACDoR,eAAe,CAAC,CAAC;IACjBnD,mBAAmB,CAAC,CAAC;IAErB,OAAO,MAAM;MACXjR,kBAAkB,CAACqU,kBAAkB,CAAC,WAAW,CAAC;MAClDrU,kBAAkB,CAACqU,kBAAkB,CAAC,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMD,eAAe,GAAG,MAAOE,UAAgB,IAAK;IAClD,IAAI,CAACA,UAAU,IAAIrR,aAAa,EAAE;MAChCqR,UAAU,GAAGrR,aAAa;IAC5B;IACA,IAAI,CAACqR,UAAU,EAAE;MACf,IAAIzL,QAAQ,GAAG,MAAM9G,OAAO,CAAC6G,OAAO,CAAC,kBAAkB,EAAE;QACvDI,IAAI,EAAEvC;MACR,CAAsB,CAAC;MACvBoC,QAAQ,GAAGA,QAAQ,IAAIA,QAAQ,CAACG,IAAI,GAAGF,IAAI,CAACC,KAAK,CAACF,QAAQ,CAACG,IAAI,CAAC,GAAG,CAAC,CAAC;MACrEsL,UAAU,GAAIzL,QAAQ,EAAkB0L,UAAU;IACpD;IACAxO,YAAY,CAACuO,UAAU,KAAK7N,SAAS,GAAG,IAAI,GAAG+H,MAAM,CAAC8F,UAAU,CAAC,CAAC;EACpE,CAAC;EAED,MAAMJ,eAAe,GAAG7U,WAAW,CAAC,YAAY;IAC9C,IAAI;MACF,MAAMqB,qBAAqB,CAAC,KAAK,CAAC;MAClC4F,0BAA0B,CAAC,KAAK,CAAC;MAQjC,MAAM6L,MAAM,GAAG,MAAMpQ,OAAO,CAAC6G,OAAO,CAClC,uBAAuB,EACvB,IACF,CAAC;MAED,IAAIuJ,MAAM,IAAInP,SAAS,IAAImP,MAAM,CAACC,aAAa,GAAGpP,SAAS,CAAC,EAAE;QAC5D,MAAMwR,oBAAoB,GAAG;UAAE,GAAGrC,MAAM,CAACC;QAAc,CAAC;QACxD,OAAOoC,oBAAoB,CAACxR,SAAS,CAAC;QACtC,MAAMjB,OAAO,CAACuH,OAAO,CAAC,uBAAuB,EAAE;UAC7CL,KAAK,EAAEkJ,MAAM,CAAClJ,KAAK;UACnBmJ,aAAa,EAAEoC,oBAAoB;UACnCC,oBAAoB,EAAE;QACxB,CAAC,CAAC;MACJ;MAEA1P,WAAW,CAAC,EAAE,CAAC;MACfY,gBAAgB,CAAC,CAAC,CAAC,CAAC;MACpBE,mBAAmB,CAAC,IAAIC,GAAG,CAAC,CAAC,CAAC;MAC9BX,UAAU,CAAC,KAAK,CAAC;MACjBE,mBAAmB,CAAC,IAAI,CAAC;MACzBE,kBAAkB,CAAC,IAAI,CAAC;MACxBE,iBAAiB,CAAC,EAAE,CAAC;MACrB;MACAW,kBAAkB,CAAC,IAAI,CAAC;MACxBI,aAAa,CAACC,SAAS,CAAC;MACxBE,cAAc,CAAC,CAAC,CAAC;MACjB;MACAM,6BAA6B,CAAC,IAAInB,GAAG,CAAC,CAAC,CAAC;MACxCqB,wBAAwB,CAAC,IAAIrB,GAAG,CAAC,CAAC,CAAC;MACnCuB,uBAAuB,CAAC,CAAC,CAAC,CAAC;MAC3BE,6BAA6B,CAAC,IAAI,CAAC;MACnCE,+BAA+B,CAAC,IAAI3B,GAAG,CAAC,CAAC,CAAC;MAC1C;MACAmC,oBAAoB,CAACsE,OAAO,GAAG,KAAK;MACpCxE,kBAAkB,CAACwE,OAAO,GAAG,KAAK;MAClCvE,eAAe,CAACuE,OAAO,GAAG,KAAK;MAE/B,MAAMmI,KAAK,GAAG,MAAMnU,oBAAoB,CAACsC,MAAM,EAAE4D,SAAS,EAAEzD,SAAS,CAAC;MAEtE,MAAMmJ,UAAU,GAAG,CACjB,MAAMnL,iBAAiB,CAAC0T,KAAK,EAAE1R,SAAS,CAAC,EACzCoJ,OAAO,CAAC,CAAC;MACX,IAAID,UAAU,CAAC5C,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAMiD,gBAA6B,GAAG;UACpC9B,EAAE,EAAE,EAAE;UACN+B,IAAI,EAAE,WAAW;UACjBC,IAAI,EAAE/H,CAAC,CACL,2BAA2B,EAC3B,0IACF,CAAC;UACDgI,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;UACrBC,SAAS,EAAE,KAAK;UAChBC,WAAW,EAAE,EAAE;UACftB,QAAQ,EAAE,GAAG;UACb9B,cAAc,EAAE,CAAC;QACnB,CAAC;QACD5E,WAAW,CAAC,CAACyH,gBAAgB,CAAC,CAAC;MACjC,CAAC,MAAM;QACLzH,WAAW,CAACoH,UAAU,CAAC;MACzB;MACA;MACAzI,WAAW,GAAG,CAAC;IACjB,CAAC,CAAC,OAAOqN,GAAG,EAAE;MACZ5H,OAAO,CAACC,KAAK,CAAC,sBAAsB,EAAE2H,GAAG,CAAC;IAC5C;EACF,CAAC,EAAE,CAAClO,MAAM,EAAEG,SAAS,CAAC,CAAC;EAEvB1D,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8F,gBAAgB,IAAIE,eAAe,EAAE;IAE1C,IAAIqP,IAAI,GAAG,CAAC;IACZ,MAAMC,IAAI,GAAGjQ,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC;IAChD,MAAMkQ,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCH,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAI,CAAC;MACrB,MAAMI,IAAI,GAAG,GAAG,CAACC,MAAM,CAACL,IAAI,GAAG,CAAC,CAAC;MACjC5P,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKtF,gBAAgB,IAAIkG,GAAG,CAACwB,SAAS,GACxC;QAAE,GAAGxB,GAAG;QAAEoB,IAAI,EAAE,GAAGkI,IAAI,GAAGG,IAAI;MAAG,CAAC,GAClCzJ,GACN,CACF,CAAC;IACH,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,MAAM;MACX2J,aAAa,CAACJ,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACzP,gBAAgB,EAAEE,eAAe,EAAEX,CAAC,CAAC,CAAC;;EAE1C;EACArF,SAAS,CAAC,MAAM;IACd,IAAI,CAACgI,0BAA0B,EAAE;IAEjC,IAAIqN,IAAI,GAAG,CAAC;IACZ,MAAMC,IAAI,GAAGjQ,CAAC,CACZ,6BAA6B,EAC7B,gDACF,CAAC;IACD,MAAMkQ,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCH,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAI,CAAC;MACrB,MAAMI,IAAI,GAAG,GAAG,CAACC,MAAM,CAACL,IAAI,GAAG,CAAC,CAAC;MACjC5P,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAKpD,0BAA0B,IAAIgE,GAAG,CAACwB,SAAS,GAClD;QAAE,GAAGxB,GAAG;QAAEoB,IAAI,EAAE,GAAGkI,IAAI,GAAGG,IAAI;MAAG,CAAC,GAClCzJ,GACN,CACF,CAAC;IACH,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,MAAM;MACX2J,aAAa,CAACJ,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACvN,0BAA0B,EAAE3C,CAAC,CAAC,CAAC;;EAEnC;EACArF,SAAS,CAAC,MAAM;IACd,IAAIkI,4BAA4B,CAAC6F,IAAI,KAAK,CAAC,EAAE;IAE7C,IAAIsH,IAAI,GAAG,CAAC;IACZ,MAAMC,IAAI,GAAGjQ,CAAC,CACZ,6BAA6B,EAC7B,gDACF,CAAC;IACD,MAAMkQ,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCH,IAAI,GAAG,CAACA,IAAI,GAAG,CAAC,IAAI,CAAC;MACrB,MAAMI,IAAI,GAAG,GAAG,CAACC,MAAM,CAACL,IAAI,GAAG,CAAC,CAAC;MACjC5P,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACX9D,4BAA4B,CAACoG,GAAG,CAACtC,GAAG,CAACZ,EAAE,CAAC,GACpC;QAAE,GAAGY,GAAG;QAAEoB,IAAI,EAAE,GAAGkI,IAAI,GAAGG,IAAI;MAAG,CAAC,GAClCzJ,GACN,CACF,CAAC;IACH,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,MAAM;MACX2J,aAAa,CAACJ,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACrN,4BAA4B,EAAE7C,CAAC,CAAC,CAAC;EAErCpF,mBAAmB,CACjBmF,GAAG,EACH,OAAO;IACLwQ,SAAS,EAAEhB;EACb,CAAC,CAAC,EACF,CAACA,eAAe,CAClB,CAAC;EAED,MAAMiB,cAAc,GAAG1V,MAAM,CAAC,CAAC,CAAC;EAEhCH,SAAS,CAAC,MAAM;IACd,IAAI,CAACgG,eAAe,IAAI,CAACE,cAAc,EAAE;MACvC2P,cAAc,CAAC5I,OAAO,GAAG,CAAC;MAC1B;IACF;IAEA4I,cAAc,CAAC5I,OAAO,GAAG,CAAC;IAC1B,MAAM6I,KAAK,GAAG5P,cAAc,CAAC+D,MAAM;IACnC,MAAM8L,UAAU,GAAG/P,eAAe;IAClC,MAAMgQ,QAAQ,GAAG9P,cAAc;IAE/B,MAAMqP,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCK,cAAc,CAAC5I,OAAO,IAAI,CAAC;MAC3B,MAAMgJ,YAAY,GAAGJ,cAAc,CAAC5I,OAAO;MAC3C,MAAMgG,KAAK,GAAG+C,QAAQ,CAAC/C,KAAK,CAAC,CAAC,EAAEgD,YAAY,CAAC;MAE7CxQ,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAK2K,UAAU,GACjB;QACE,GAAG/J,GAAG;QACNoB,IAAI,EAAE6F;MACR,CAAC,GACDjH,GACN,CACF,CAAC;MAED,IAAIiK,YAAY,IAAIH,KAAK,EAAE;QACzBH,aAAa,CAACJ,QAAQ,CAAC;QACvBtP,kBAAkB,CAAC,IAAI,CAAC;QACxBE,iBAAiB,CAAC,EAAE,CAAC;QACrBV,WAAW,CAAEsG,IAAI,IACfA,IAAI,CAACS,GAAG,CAAER,GAAG,IACXA,GAAG,CAACZ,EAAE,KAAK2K,UAAU,GAAG;UAAE,GAAG/J,GAAG;UAAEwB,SAAS,EAAE;QAAM,CAAC,GAAGxB,GACzD,CACF,CAAC;MACH;IACF,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO,MAAM;MACX2J,aAAa,CAACJ,QAAQ,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACvP,eAAe,EAAEE,cAAc,CAAC,CAAC;EAErC,MAAMgQ,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACErW,KAAA,CAAAsW,aAAA,CAACC,eAAe;MAACrS,KAAK,EAAEA;IAAM,gBAC5BlE,KAAA,CAAAsW,aAAA,CAACtV,SAAS;MACRmR,KAAK,EAAEtM,KAAM;MACb2Q,YAAY,EAAE1Q,QAAS;MACvB2Q,MAAM,EAAExE,UAAW;MACnByE,QAAQ,EAAE3Q,OAAQ;MAClB1B,WAAW,EAAEA,WAAY;MACzBH,KAAK,EAAE6E,UAAW;MAClBP,QAAQ,EAAEA;IAAS,CACpB,CAAC,eACFxI,KAAA,CAAAsW,aAAA,CAACtU,UAAU;MAAC2U,MAAM,EAAE1N;IAAW,CAAE,CAClB,CAAC;EAEtB,CAAC;EAED,oBACEjJ,KAAA,CAAAsW,aAAA,CAACzT,aAAa,qBACZ7C,KAAA,CAAAsW,aAAA,CAACM,SAAS;IAAC1S,KAAK,EAAEA;EAAM,gBAQtBlE,KAAA,CAAAsW,aAAA,CAAC3V,oBAAoB;IACnBkW,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IACnBC,QAAQ,EAAEjW,QAAQ,CAACwK,EAAE,KAAK,KAAK,GAAG,SAAS,GAAG,QAAS;IACvD0L,sBAAsB,EAAEhS,gBAAgB,GAAG,GAAG,GAAG;EAAI,GAEpDA,gBAAgB,IACjB,CAACC,qBAAqB,IACtBiC,kBAAkB,KAAK,KAAK,gBAC1BlH,KAAA,CAAAsW,aAAA,CAACjT,aAAa;IACZ4T,QAAQ,EAAEjT,YAAY,IAAI,EAAG;IAC7BE,KAAK,EAAEA,KAAM;IACbgT,WAAW,EAAEpS;EAAqC,CACnD,CAAC,gBAEF9E,KAAA,CAAAsW,aAAA,CAAAtW,KAAA,CAAAmX,QAAA,QACGxR,QAAQ,GAAG,CAAC,CAAC,EAAE6H,SAAS,iBACvBxN,KAAA,CAAAsW,aAAA,CAACc,cAAc;IAAClT,KAAK,EAAEA;EAAM,gBAC3BlE,KAAA,CAAAsW,aAAA,CAACe,kBAAkB;IAACC,OAAO,EAAEvC;EAAgB,gBAC3C/U,KAAA,CAAAsW,aAAA,CAACiB,aAAa,QACX/R,CAAC,CAAC,wBAAwB,EAAE,YAAY,CAC5B,CACG,CAAC,eACrBxF,KAAA,CAAAsW,aAAA,CAACkB,SAAS;IAACtT,KAAK,EAAEA;EAAM,GACrBsB,CAAC,CACA,yBAAyB,EACzB,0BAA0B,EAC1B;IACEiS,IAAI,EAAEjV,YAAY,CAACmD,QAAQ,CAAC,CAAC,CAAC,CAAC6H,SAAS,EAAEhI,CAAC;EAC7C,CACF,CACS,CACG,CACjB,eACDxF,KAAA,CAAAsW,aAAA,CAAC5V,UAAU;IACT6E,GAAG,EAAEgD,SAAU;IACfmP,yBAAyB,EAAC,SAAS;IACnCC,QAAQ,EAAG5N,CAA0C,IAAK;MACxD,MAAM;QAAE6N,aAAa;QAAEC,WAAW;QAAEC;MAAkB,CAAC,GACrD/N,CAAC,CAACgO,WAAW;MACfrP,UAAU,CAAC0E,OAAO,GAAGwK,aAAa,CAACtD,CAAC;MACpC,MAAM0D,kBAAkB,GACtBH,WAAW,CAACI,MAAM,IACjBH,iBAAiB,CAACG,MAAM,GAAGL,aAAa,CAACtD,CAAC,CAAC;MAC9C;MACA1L,kBAAkB,CAACwE,OAAO,GAAG4K,kBAAkB,GAAG,GAAG;;MAErD;MACA,IACEJ,aAAa,CAACtD,CAAC,GAAG,EAAE,IACpBtN,eAAe,IACf,CAACF,YAAY,IACb,CAAC+B,eAAe,CAACuE,OAAO,EACxB;QACAuG,iBAAiB,CAAC,CAAC;MACrB;IACF,CAAE;IACFuE,mBAAmB,EAAE,EAAG;IACxBrB,KAAK,EACH5S,WAAW,GACP;MACEgU,MAAM,EAAEhU,WAAW;MACnBkU,eAAe,EAAEjU,KAAK,CAAC,SAAS,CAAC,IAAI;IACvC,CAAC,GACD;MAAEiU,eAAe,EAAEjU,KAAK,CAAC,SAAS,CAAC,IAAI;IAAU,CACtD;IACDkU,qBAAqB,EAAE;MACrBD,eAAe,EACbjU,KAAK,CAAC,SAAS,CAAC,IAChB6E,UAAU,EAAEsP,0BAA0B,IACtC,SAAS;MACX,GAAGC,MAAM,CAACC,WAAW;MACrBC,cAAc,EACZ7S,QAAQ,CAACyE,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,UAAU;MAC/CqO,SAAS,EAAExU,WAAW,GAAGA,WAAW,GAAGqD,SAAS;MAChD,IAAI6B,QAAQ,GACR;QAAEuP,QAAQ,EAAE,GAAG;QAAEC,SAAS,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAO,CAAC,GACrD,CAAC,CAAC;IACR,CAAE;IACFC,mBAAmB,EAAEA,CAACC,MAAc,EAAEb,MAAc,KAAK;MACvDtP,gBAAgB,CAACyE,OAAO,GAAG6K,MAAM;;MAEjC;MACA,IAAIpP,eAAe,CAACuE,OAAO,IAAItG,YAAY,EAAE;QAC3C;MACF;;MAEA;MACA;MACA;MACA,IAAI,CAACgC,oBAAoB,CAACsE,OAAO,EAAE;QACjC7E,SAAS,CAAC6E,OAAO,EAAEsE,WAAW,CAAC;UAAEC,QAAQ,EAAE;QAAM,CAAC,CAAC;QACnD7I,oBAAoB,CAACsE,OAAO,GAAG,IAAI;MACrC,CAAC,MAAM,IAAI,CAACxE,kBAAkB,CAACwE,OAAO,EAAE;QACtC;QACA7E,SAAS,CAAC6E,OAAO,EAAEsE,WAAW,CAAC;UAAEC,QAAQ,EAAE;QAAM,CAAC,CAAC;MACrD;IACF;EAAE,GAGD7K,YAAY,iBACX9G,KAAA,CAAAsW,aAAA,CAACyC,qBAAqB,qBACpB/Y,KAAA,CAAAsW,aAAA,CAACvV,iBAAiB;IAChBmN,IAAI,EAAC,OAAO;IACZ8K,KAAK,EAAE9U,KAAK,CAAC,SAAS,CAAC,IAAI;EAAU,CACtC,CAAC,eACFlE,KAAA,CAAAsW,aAAA,CAAC2C,gBAAgB;IAAC/U,KAAK,EAAEA;EAAM,GAC5BsB,CAAC,CACA,wBAAwB,EACxB,2BACF,CACgB,CACG,CACxB,EACA,CAAC,MAAM;IACN,MAAM0T,OAAO,GAAG,CAAC,GAAGvT,QAAQ,CAAC;IACjC;IACA,IAAIwT,iBAAgC,GAAG,IAAI;IAC3C,KAAK,IAAI3K,CAAC,GAAG0K,OAAO,CAAC9O,MAAM,GAAG,CAAC,EAAEoE,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC5C,MAAMrC,GAAG,GAAG+M,OAAO,CAAC1K,CAAC,CAAC;MACtB,MAAM4K,cAAc,GAAGlQ,OAAO,CAC5B3C,aAAa,CAAC4F,GAAG,CAACZ,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,EAAExE,MAAM,GAAG,CAC5D,CAAC;MACD,IACE+B,GAAG,CAACmB,IAAI,KAAK,WAAW,IACxBnB,GAAG,CAAC3B,cAAc,IAClBwD,MAAM,CAACC,IAAI,CAAC9B,GAAG,CAAC3B,cAAc,CAAC,CAACJ,MAAM,GAAG,CAAC,IAC1CgP,cAAc,EACd;QACAD,iBAAiB,GAAGhN,GAAG,CAACZ,EAAE;QAC1B;MACF;IACF;IAEI,OAAO2N,OAAO,CAACvM,GAAG,CAAC,CAACrC,IAAI,EAAE+O,KAAK,KAAK;MAClC,MAAMC,QAAQ,GAAGD,KAAK,KAAKH,OAAO,CAAC9O,MAAM,GAAG,CAAC;MACjD,MAAMmP,iBAAiB,GAAGjP,IAAI,CAACiB,EAAE,KAAK4N,iBAAiB;MACnD,MAAM9H,WAAW,GAAGnI,OAAO,CACzB3C,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,IAChDrI,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,CAC7CxE,MAAM,GAAG,CACd,CAAC;MACD,oBACEpK,KAAA,CAAAsW,aAAA,CAAC9V,IAAI;QAACgZ,GAAG,EAAElP,IAAI,CAACiB,EAAE,GAAG8N,KAAM;QAACxC,KAAK,EAAE;UAAE4C,GAAG,EAAE;QAAG;MAAE,gBAC7CzZ,KAAA,CAAAsW,aAAA,CAACrV,aAAa;QACZyY,OAAO,EAAEpP,IAAK;QACdqP,SAAS,EAAE5Q,UAAW;QACtBlF,SAAS,EAAEA,SAAoB;QAC/BgI,oBAAoB,EAAEA,oBAAqB;QAC3C+N,eAAe,EAAExH,mBAAoB;QACrCyH,SAAS,EAAEpT,gBAAgB,CAACgI,GAAG,CAACnE,IAAI,CAACiB,EAAE,CAAE;QACzCuO,UAAU,EAAEzI,WAAY;QACxB0I,YAAY,EACVxT,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEmL,MAAM,GACnCzT,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,CAACsD,QAAQ,CAACmL,MAAM,EACnCC,oBAAoB,IAAI,CAAC,GAC7B,IACL;QACDC,YAAY,EACV3T,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAAEF,QAAQ,CAC7CxE,MAAM,IAAI,CACd;QACD+P,kBAAkB,EAAEjI,sBAAuB;QAC3CoH,QAAQ,EAAEA,QAAS;QACnBc,QAAQ,EAAEjU,eAAe,KAAKmE,IAAI,CAACiB;MAAG,CACvC,CAAC,EAEDjB,IAAI,CAACgD,IAAI,KAAK,WAAW,IACxBhD,IAAI,CAACE,cAAc,IACnBwD,MAAM,CAACC,IAAI,CAAC3D,IAAI,CAACE,cAAc,CAAC,CAACJ,MAAM,GAAG,CAAC,IAC3C,CAAC7D,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,iBACrBvL,KAAA,CAAAsW,aAAA,CAACpU,mBAAmB;QAClBwB,MAAM,EAAEA,MAAO;QACfG,SAAS,EAAEA,SAAoB;QAC/ByO,SAAS,EAAEhI,IAAI,CAACiB,EAAG;QACnBZ,OAAO,EAAEL,IAAI,CAACE,cAAe;QAC7B3F,WAAW,EAAEA,WAAY;QACzBqM,iBAAiB,EAAEzL,WAAW,EAAEyL,iBAAkB;QAClDmJ,SAAS,EAAEA,CAAC9O,EAAE,EAAEsI,MAAM,KAAK;UACzBrN,gBAAgB,CAAE0F,IAAI,KAAM;YAC1B,GAAGA,IAAI;YACP,CAACX,EAAE,GAAGsI;UACR,CAAC,CAAC,CAAC;UACH;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;QACF;MAAE,CACH,CACF,EACFvJ,IAAI,CAACgD,IAAI,KAAK,WAAW,IACxB+D,WAAW,IACX,CAACrM,gBAAgB,iBACfhF,KAAA,CAAAsW,aAAA,CAACrU,YAAY;QACX+S,IAAI,EAAE,CACJzO,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEC,IAAI,EAClCF,QAAQ,IAAI,EAAE,EAClBwE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAE;QACd2G,YAAY,EACVxT,aAAa,CAAC+D,IAAI,CAACiB,EAAE,CAAC,EAAEsD,QAAQ,EAAEmL,MAAM,EACpCC,oBAAoB,IAAI,CAC7B;QACD5P,SAAS,EAAEA,SAAU;QACrB5F,WAAW,EAAEA,WAAY;QACzB6F,IAAI,EAAEA,IAAK;QACXgQ,eAAe,EAAEA,CAAA,KACfjI,qBAAqB,CACnB/H,IAAI,CAACiB,EAAE,EACPjB,IAAI,CAACE,cACP,CACD;QACD+P,eAAe,EAAEA,CAAA,KACf1H,qBAAqB,CACnBvI,IAAI,CAACiB,EAAE,EACPjB,IAAI,CAACE,cACP,CACD;QACDzF,mBAAmB,EAAEA,mBAAoB;QACzCwC,WAAW,EAAEE,kBAAkB,CAAC6C,IAAI,CAACiB,EAAE,CAAC,IAAI,CAAE;QAC9CiP,aAAa,EAAE7S,kBAAkB,CAAC8G,GAAG,CAACnE,IAAI,CAACiB,EAAE;MAAE,CAChD,CACF,EAENjB,IAAI,CAACgD,IAAI,KAAK,WAAW,IACxB+D,WAAW,IACXkI,iBAAiB,IACjBnQ,UAAU,EAAEqR,WAAW,EAAEC,mBAAmB,IAC5C,CAAC7S,0BAA0B,CAAC4G,GAAG,CAACnE,IAAI,CAACiB,EAAE,CAAC,iBACtCvL,KAAA,CAAAsW,aAAA,CAACnU,iBAAiB;QAChBmV,OAAO,EAAEA,CAAA,KAAMvE,2BAA2B,CAACzI,IAAI,CAACiB,EAAE,CAAE;QACpDxF,OAAO,EAAEgC,qBAAqB,CAAC0G,GAAG,CAACnE,IAAI,CAACiB,EAAE;MAAE,CAC7C,CACF,EAEFjB,IAAI,CAAC6F,gBAAgB,IACpB7F,IAAI,CAAC8F,eAAe,IACpB9F,IAAI,CAAC8F,eAAe,KAAK+I,iBAAiB,IAC1ClR,oBAAoB,CAACqC,IAAI,CAAC8F,eAAe,CAAC,IAC1CnI,oBAAoB,CAACqC,IAAI,CAAC8F,eAAe,CAAC,CAAChG,MAAM,GAC/C,CAAC,iBACDpK,KAAA,CAAAsW,aAAA,CAAClU,qBAAqB;QACpB6M,eAAe,EACbhH,oBAAoB,CAACqC,IAAI,CAAC8F,eAAe,CAC1C;QACD3L,WAAW,EAAEA;MAAY,CAC1B,CACF,eAECzE,KAAA,CAAAsW,aAAA,CAACpV,cAAc;QACbwY,OAAO,EAAEpP,IAAK;QACdzG,SAAS,EAAEA,SAAS,IAAI,EAAG;QAC3BgI,oBAAoB,EAAEA,oBAAqB;QAC3C+N,eAAe,EAAExH,mBAAoB;QACrCyH,SAAS,EAAEpT,gBAAgB,CAACgI,GAAG,CAACnE,IAAI,CAACiB,EAAE,CAAE;QACzCuO,UAAU,EAAEzI;MAAY,CACzB,CACG,CAAC;IAEX,CAAC,CAAC;EACJ,CAAC,EAAE,CACO,CAAC,eACbrR,KAAA,CAAAsW,aAAA,CAACqE,QAAQ,MAAE,CACX,CACH,EACAtE,qBAAqB,CAAC,CACH,CACb,CACE,CAAC;AAEpB,CACF,CAAC;AAED5S,UAAU,CAACmX,WAAW,GAAG,YAAY;AAErC,MAAMhE,SAAS,GAAG7T,MAAM,CAACvC,IAA6B;AACtD,sBAAsB,CAAC;EAAE0D;AAA+B,CAAC,KACrDA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC;AACA;AACA,CAAC;AAED,MAAMkT,cAAc,GAAGrU,MAAM,CAACvC,IAA6B;AAC3D;AACA;AACA;AACA;AACA,sBAAsB,CAAC;EAAE0D;AAA+B,CAAC,KACrDA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC,CAAC;AAED,MAAMsT,SAAS,GAAGzU,MAAM,CAAC8X,IAA6B;AACtD;AACA;AACA,WAAW,CAAC;EAAE3W;AAA+B,CAAC,KAC1CA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC,CAAC;AAED,MAAMqS,eAAe,GAAGxT,MAAM,CAACvC,IAA6B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;EAAE0D;AAA+B,CAAC,KACnCA,KAAK,CAACiF,QAAQ,IACdnG,GAAG;AACP;AACA;AACA;AACA,KAAK;AACL,CAAC;AAED,MAAM2X,QAAQ,GAAG5X,MAAM,CAACvC,IAA6B;AACrD,sBAAsB,CAAC;EAAE0D;AAA+B,CAAC,KACrDA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC;AACA,CAAC;AAED,MAAM6U,qBAAqB,GAAGhW,MAAM,CAACvC,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMyY,gBAAgB,GAAGlW,MAAM,CAAC8X,IAA6B;AAC7D;AACA,WAAW,CAAC;EAAE3W;AAA+B,CAAC,KAC1CA,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS;AACjC,CAAC;AAED,MAAMqT,aAAa,GAAGxU,MAAM,CAAC8X,IAA6B;AAC1D,WAAW,CAAC;EAAE3W;AAA+B,CAAC,KAC1CA,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS;AACrC;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMmT,kBAAkB,GAAGtU,MAAM,CAAC+X,gBAAgB,EAAE;AAEpD,MAAMxC,MAAM,GAAG7X,UAAU,CAACsa,MAAM,CAAC;EAC/BxC,WAAW,EAAE;IACXyC,eAAe,EAAE,CAAC;IAClBC,QAAQ,EAAE,CAAC;IACXzC,cAAc,EAAE;EAClB,CAAC;EACDzS,OAAO,EAAE;IACPiV,eAAe,EAAE,CAAC;IAClBE,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import React, { memo, useEffect } from "react";
|
|
2
|
+
import { Platform, StyleSheet, View, Text } from "react-native";
|
|
3
|
+
import styled, { useTheme } from "styled-components/native";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
const isWeb = Platform.OS === "web";
|
|
6
|
+
const BUTTON_HEIGHT = 48;
|
|
7
|
+
const BUTTON_WIDTH = isWeb ? 181 : 167;
|
|
8
|
+
const BORDER_WIDTH = 3;
|
|
9
|
+
export const AISearchButtonVisual = /*#__PURE__*/memo(({
|
|
10
|
+
typography,
|
|
11
|
+
height = BUTTON_HEIGHT
|
|
12
|
+
}) => {
|
|
13
|
+
const theme = useTheme();
|
|
14
|
+
const {
|
|
15
|
+
t
|
|
16
|
+
} = useTranslation();
|
|
17
|
+
const COLOR_1 = theme["diam-01"] || "#804195";
|
|
18
|
+
const COLOR_2 = theme["jewelry-01"] || "#58B8A5";
|
|
19
|
+
const SHADOW_COLOR_1 = theme["diam-01"] || "#804195";
|
|
20
|
+
const SHADOW_COLOR_2 = theme["jewelry-01"] || "#58B8A5";
|
|
21
|
+
const SHADOW_COLOR_3 = "#6C7AC8";
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (isWeb && typeof document !== "undefined") {
|
|
24
|
+
const styleId = "ai-search-button-animations";
|
|
25
|
+
if (!document.getElementById(styleId)) {
|
|
26
|
+
const style = document.createElement("style");
|
|
27
|
+
style.id = styleId;
|
|
28
|
+
style.textContent = `
|
|
29
|
+
@keyframes rotateGradient {
|
|
30
|
+
from { transform: rotate(0deg); }
|
|
31
|
+
to { transform: rotate(360deg); }
|
|
32
|
+
}
|
|
33
|
+
@keyframes rotateShadow {
|
|
34
|
+
0% { box-shadow: 0 0 20px 4px ${SHADOW_COLOR_1}; }
|
|
35
|
+
33% { box-shadow: 0 0 25px 6px ${SHADOW_COLOR_2}; }
|
|
36
|
+
66% { box-shadow: 0 0 22px 5px ${SHADOW_COLOR_3}; }
|
|
37
|
+
100% { box-shadow: 0 0 20px 4px ${SHADOW_COLOR_1}; }
|
|
38
|
+
}
|
|
39
|
+
.ai-search-glow-container {
|
|
40
|
+
animation: rotateShadow 3s ease-in-out infinite;
|
|
41
|
+
}
|
|
42
|
+
.ai-search-gradient-border {
|
|
43
|
+
animation: rotateGradient 2.5s linear infinite;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
document.head.appendChild(style);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, [SHADOW_COLOR_1, SHADOW_COLOR_2, SHADOW_COLOR_3]);
|
|
50
|
+
if (isWeb) {
|
|
51
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: "ai-search-glow-container",
|
|
53
|
+
style: {
|
|
54
|
+
width: BUTTON_WIDTH,
|
|
55
|
+
height: height,
|
|
56
|
+
borderRadius: height / 2,
|
|
57
|
+
display: "flex",
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
justifyContent: "center",
|
|
60
|
+
position: "relative"
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
style: {
|
|
64
|
+
position: "absolute",
|
|
65
|
+
width: BUTTON_WIDTH,
|
|
66
|
+
height: height,
|
|
67
|
+
borderRadius: height / 2,
|
|
68
|
+
overflow: "hidden",
|
|
69
|
+
display: "flex",
|
|
70
|
+
alignItems: "center",
|
|
71
|
+
justifyContent: "center"
|
|
72
|
+
}
|
|
73
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
74
|
+
className: "ai-search-gradient-border",
|
|
75
|
+
style: {
|
|
76
|
+
width: BUTTON_WIDTH * 2.5,
|
|
77
|
+
height: BUTTON_WIDTH * 2.5,
|
|
78
|
+
borderRadius: BUTTON_WIDTH * 1.25,
|
|
79
|
+
background: `linear-gradient(135deg, ${COLOR_1}, ${COLOR_2}, ${COLOR_1}, ${COLOR_2})`
|
|
80
|
+
}
|
|
81
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
style: {
|
|
83
|
+
width: BUTTON_WIDTH - BORDER_WIDTH * 2,
|
|
84
|
+
height: height - BORDER_WIDTH * 2,
|
|
85
|
+
borderRadius: (height - BORDER_WIDTH * 2) / 2,
|
|
86
|
+
backgroundColor: theme["main-01"] || "#292735",
|
|
87
|
+
display: "flex",
|
|
88
|
+
alignItems: "center",
|
|
89
|
+
justifyContent: "center",
|
|
90
|
+
flexDirection: "row",
|
|
91
|
+
gap: 2,
|
|
92
|
+
zIndex: 1
|
|
93
|
+
}
|
|
94
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
95
|
+
src: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/VDB_LOGO_WHITE.svg",
|
|
96
|
+
alt: "VDB",
|
|
97
|
+
style: {
|
|
98
|
+
width: 84,
|
|
99
|
+
height: 24
|
|
100
|
+
}
|
|
101
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
102
|
+
style: {
|
|
103
|
+
color: theme["diam-05"] || "#ffffff",
|
|
104
|
+
fontWeight: 500,
|
|
105
|
+
letterSpacing: 0.3,
|
|
106
|
+
fontSize: 14,
|
|
107
|
+
fontFamily: "Roboto, sans-serif"
|
|
108
|
+
}
|
|
109
|
+
}, t("AI Search"))));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Native implementation (simplified without reanimated)
|
|
113
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
114
|
+
style: [styles.glowContainer, {
|
|
115
|
+
width: BUTTON_WIDTH,
|
|
116
|
+
height
|
|
117
|
+
}]
|
|
118
|
+
}, /*#__PURE__*/React.createElement(GradientWrapper, {
|
|
119
|
+
width: BUTTON_WIDTH,
|
|
120
|
+
height: height
|
|
121
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
122
|
+
style: [styles.gradientBorder, {
|
|
123
|
+
backgroundColor: COLOR_1
|
|
124
|
+
}]
|
|
125
|
+
})), /*#__PURE__*/React.createElement(ButtonContainer, {
|
|
126
|
+
height: height
|
|
127
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
128
|
+
style: [styles.text, {
|
|
129
|
+
color: theme["diam-05"] || "#ffffff"
|
|
130
|
+
}]
|
|
131
|
+
}, t("AI Search"))));
|
|
132
|
+
});
|
|
133
|
+
const styles = StyleSheet.create({
|
|
134
|
+
glowContainer: {
|
|
135
|
+
borderRadius: BUTTON_HEIGHT / 2,
|
|
136
|
+
alignItems: "center",
|
|
137
|
+
justifyContent: "center",
|
|
138
|
+
shadowColor: "#6C7AC8",
|
|
139
|
+
shadowOffset: {
|
|
140
|
+
width: 3,
|
|
141
|
+
height: 3
|
|
142
|
+
},
|
|
143
|
+
shadowOpacity: 1,
|
|
144
|
+
shadowRadius: 14,
|
|
145
|
+
elevation: 10
|
|
146
|
+
},
|
|
147
|
+
gradientBorder: {
|
|
148
|
+
width: BUTTON_WIDTH * 2.5,
|
|
149
|
+
height: BUTTON_WIDTH * 2.5,
|
|
150
|
+
borderRadius: BUTTON_WIDTH * 1.25
|
|
151
|
+
},
|
|
152
|
+
text: {
|
|
153
|
+
fontWeight: "500",
|
|
154
|
+
letterSpacing: 0.3,
|
|
155
|
+
fontSize: 14
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
const GradientWrapper = styled.View`
|
|
159
|
+
position: absolute;
|
|
160
|
+
width: ${({
|
|
161
|
+
width
|
|
162
|
+
}) => width}px;
|
|
163
|
+
height: ${({
|
|
164
|
+
height
|
|
165
|
+
}) => height}px;
|
|
166
|
+
border-radius: ${({
|
|
167
|
+
height
|
|
168
|
+
}) => height / 2}px;
|
|
169
|
+
overflow: hidden;
|
|
170
|
+
align-items: center;
|
|
171
|
+
justify-content: center;
|
|
172
|
+
`;
|
|
173
|
+
const ButtonContainer = styled.View`
|
|
174
|
+
width: ${BUTTON_WIDTH - BORDER_WIDTH * 2}px;
|
|
175
|
+
height: ${({
|
|
176
|
+
height
|
|
177
|
+
}) => height - BORDER_WIDTH * 2}px;
|
|
178
|
+
border-radius: ${({
|
|
179
|
+
height
|
|
180
|
+
}) => (height - BORDER_WIDTH * 2) / 2}px;
|
|
181
|
+
background-color: ${({
|
|
182
|
+
theme
|
|
183
|
+
}) => theme["main-01"]};
|
|
184
|
+
align-items: center;
|
|
185
|
+
justify-content: center;
|
|
186
|
+
flex-direction: row;
|
|
187
|
+
gap: 2px;
|
|
188
|
+
z-index: 1;
|
|
189
|
+
`;
|
|
190
|
+
//# sourceMappingURL=FloatingChatButton.js.map
|