@abcagency/hc-ui-components 1.7.5 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/components/HireControlMap.js +95 -165
  2. package/dist/components/HireControlMap.js.map +1 -1
  3. package/dist/components/modules/accordions/default.js +1 -1
  4. package/dist/components/modules/buttons/button-group-apply.js +1 -1
  5. package/dist/components/modules/buttons/default.js +1 -1
  6. package/dist/components/modules/cards/default.js +1 -1
  7. package/dist/components/modules/filter/sort.js +1 -1
  8. package/dist/components/modules/grid.js +1 -1
  9. package/dist/components/modules/list/header.js +1 -1
  10. package/dist/components/modules/list/item-expand-card/index.js +1 -1
  11. package/dist/contexts/mapListContext.js +33 -38
  12. package/dist/contexts/mapListContext.js.map +1 -1
  13. package/dist/styles/index.css +1 -1
  14. package/dist/util/algoliaSearchUtil.js +1 -1
  15. package/dist/util/filterUtil.js +1 -1
  16. package/dist/util/twMerge.js +1 -1
  17. package/package.json +1 -1
  18. package/src/apis/hcApi.ts +9 -2
  19. package/src/components/HireControlMap.js +19 -54
  20. package/src/contexts/mapListContext.tsx +34 -37
  21. package/src/index.js +1 -0
  22. package/dist/apis/hcApi.js +0 -91
  23. package/dist/apis/hcApi.js.map +0 -1
  24. package/dist/clientToken.js +0 -10
  25. package/dist/clientToken.js.map +0 -1
  26. package/dist/components/modules/skeleton/map-skeleton.js +0 -50
  27. package/dist/components/modules/skeleton/map-skeleton.js.map +0 -1
  28. package/dist/node_modules/@algolia/client-common/dist/common.js +0 -541
  29. package/dist/node_modules/@algolia/client-common/dist/common.js.map +0 -1
  30. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js +0 -4
  31. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js.map +0 -1
  32. package/dist/node_modules/@algolia/requester-node-http/dist/requester.http.js +0 -82
  33. package/dist/node_modules/@algolia/requester-node-http/dist/requester.http.js.map +0 -1
  34. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js +0 -272
  35. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js.map +0 -1
  36. package/dist/node_modules/algoliasearch/dist/lite/builds/node.js +0 -269
  37. package/dist/node_modules/algoliasearch/dist/lite/builds/node.js.map +0 -1
  38. package/dist/node_modules/fuse.js/dist/fuse.js +0 -1779
  39. package/dist/node_modules/fuse.js/dist/fuse.js.map +0 -1
  40. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2580
  41. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
  42. package/dist/services/configService.js +0 -15
  43. package/dist/services/configService.js.map +0 -1
  44. package/dist/services/listingAggregatorService.js +0 -41
  45. package/dist/services/listingAggregatorService.js.map +0 -1
  46. package/dist/services/listingEntityService.js +0 -16
  47. package/dist/services/listingEntityService.js.map +0 -1
  48. package/dist/services/listingService.js +0 -15
  49. package/dist/services/listingService.js.map +0 -1
@@ -4,9 +4,6 @@ import { generateFilterOptions, applyFilters, filterListingsByLocation } from '~
4
4
  import { getStorageObject, setStorageObject } from '~/util/localStorageUtil';
5
5
  import { updateURLWithFilters, filtersFromURL } from '~/util/urlFilterUtil';
6
6
 
7
- import { getListingEntities } from "~/services/listingEntityService";
8
- import fetchListings from '~/services/listingAggregatorService';
9
-
10
7
  import { Listing } from '~/types/Listings';
11
8
  import { ListingEntity } from '~/types/ListingEntity';
12
9
  import { Recruiter } from '~/types/Recruiter';
@@ -273,12 +270,12 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
273
270
 
274
271
  async function fetchEntities() {
275
272
  try {
276
- let fetchedEntities;
277
- if (getListingEntitiesCallback) {
278
- fetchedEntities = await getListingEntitiesCallback(`${commuteLocation.lat}, ${commuteLocation.lng}`);
279
- } else {
280
- fetchedEntities = await getListingEntities(`${commuteLocation.lat}, ${commuteLocation.lng}`);
273
+ // Only fetch if callback is provided
274
+ if (!getListingEntitiesCallback) {
275
+ return;
281
276
  }
277
+
278
+ const fetchedEntities = await getListingEntitiesCallback(`${commuteLocation.lat}, ${commuteLocation.lng}`);
282
279
  setListingEntities(fetchedEntities);
283
280
  // Update travelTime on listings
284
281
  const newFilteredListings: Listing[] = [...filteredListings];
@@ -306,42 +303,42 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
306
303
  fetchEntities();
307
304
  }, [commuteLocation, allListings, siteConfig.companyId, getListingEntitiesCallback, noEntities]);
308
305
 
306
+ // Set listings from passed-in data
309
307
  useEffect(() => {
310
- const handleFetchListings = async () => {
311
- if (!(getStorageObject(localStorageKey + 'listings', []) || []).length) {
312
- setLoading(true);
308
+ if (!listings || listings.length === 0) {
309
+ setLoading(false);
310
+ return;
313
311
  }
314
312
 
313
+ setLoading(true);
314
+
315
315
  try {
316
- const {
317
- listingsResult,
318
- entitiesByKey,
319
- distinctItems
320
- } = await fetchListings(commuteLocation, entities, listings, getListingEntitiesCallback, noEntities);
316
+ // Apply default filters if provided
317
+ let processedListings = listings;
321
318
  if (defaultFilters) {
322
- const filteredListings = listingsResult.filter(listing => {
323
- if (!listing.fields) return false;
324
-
325
- return Object.keys(defaultFilters).every(filterKey => {
326
- const filterValues = defaultFilters[filterKey as keyof typeof defaultFilters];
327
- const listingValue = listing.fields ? listing.fields[filterKey as keyof typeof listing.fields] : null;
328
- return filterValues.includes(listingValue);
319
+ processedListings = listings.filter(listing => {
320
+ if (!listing.fields) return false;
321
+
322
+ return Object.keys(defaultFilters).every(filterKey => {
323
+ const filterValues = defaultFilters[filterKey as keyof typeof defaultFilters];
324
+ const listingValue = listing.fields ? listing.fields[filterKey as keyof typeof listing.fields] : null;
325
+ return filterValues.includes(listingValue);
326
+ });
329
327
  });
330
- });
331
- setAllListings(filteredListings);
332
- } else {
333
- setAllListings(listingsResult);
334
- }
335
- console.log('handleFetchListings: Set allListings to', listingsResult.length, 'items');
336
- setListingEntities(entitiesByKey);
337
- setMapItems(distinctItems);
338
- } catch (error) {
339
- console.log(error);
340
328
  }
341
- setLoading(false);
342
- };
343
- handleFetchListings();
344
- }, [siteConfig, commuteLocation]);
329
+
330
+ setAllListings(processedListings);
331
+ console.log('Set allListings to', processedListings.length, 'items');
332
+
333
+ // Map items will be set when entities are processed
334
+ // For now, just set empty object - will be populated when entities arrive
335
+ setMapItems({});
336
+ } catch (error) {
337
+ console.error('Error processing listings:', error);
338
+ }
339
+
340
+ setLoading(false);
341
+ }, [listings, defaultFilters]);
345
342
 
346
343
  useEffect(() => {
347
344
  const processListings = async () => {
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  import HireControlMap from '~/components/HireControlMap';
2
+ import '~/styles/index.css';
2
3
 
3
4
  export { HireControlMap };
@@ -1,91 +0,0 @@
1
- import { getClientAuthKey } from '../clientToken.js';
2
-
3
- const baseURL = "https://qat-api.myhirecontrol.com";
4
- const memoryStorage = {
5
- authToken: null,
6
- tokenExpiration: null
7
- };
8
- function setStorage(key, value) {
9
- try {
10
- sessionStorage.setItem(key, value);
11
- }
12
- catch (error) {
13
- memoryStorage[key] = value;
14
- }
15
- }
16
- function getStorage(key) {
17
- try {
18
- return sessionStorage.getItem(key) || memoryStorage[key];
19
- }
20
- catch (error) {
21
- return memoryStorage[key];
22
- }
23
- }
24
- const login = async () => {
25
- const clientAuthKey = getClientAuthKey();
26
- try {
27
- const response = await fetch(`${baseURL}/auth/login`, {
28
- method: 'POST',
29
- headers: {
30
- 'Content-Type': 'application/json'
31
- },
32
- body: JSON.stringify({
33
- clientAuthKey: clientAuthKey
34
- })
35
- });
36
- if (!response.ok) {
37
- throw new Error('Login failed');
38
- }
39
- const data = await response.json();
40
- if (data.token && data.expiration) {
41
- setStorage('authToken', data.token);
42
- setStorage('tokenExpiration', data.expiration);
43
- return { token: data.token, expiration: data.expiration };
44
- }
45
- else {
46
- throw new Error('Invalid login response');
47
- }
48
- }
49
- catch (error) {
50
- console.error('Login failed:', error);
51
- throw error;
52
- }
53
- };
54
- const fetchWithAuth = async (url, options = {}) => {
55
- let token = getStorage('authToken');
56
- const expirationDateTime = getStorage('tokenExpiration');
57
- const currentTime = new Date();
58
- if (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {
59
- const authResponse = await login();
60
- token = authResponse.token;
61
- }
62
- const headers = new Headers(options.headers || {});
63
- headers.append('Authorization', `Bearer ${token}`);
64
- const finalOptions = {
65
- ...options,
66
- headers
67
- };
68
- const response = await fetch(`${baseURL}${url}`, finalOptions);
69
- if (!response.ok)
70
- throw new Error('Network response was not ok.');
71
- return response;
72
- };
73
- var api = {
74
- get: async (url) => {
75
- const response = await fetchWithAuth(url);
76
- return await response.json();
77
- },
78
- post: async (url, data) => {
79
- const response = await fetchWithAuth(url, {
80
- method: 'POST',
81
- headers: {
82
- 'Content-Type': 'application/json'
83
- },
84
- body: JSON.stringify(data)
85
- });
86
- return await response.json();
87
- }
88
- };
89
-
90
- export { api as default };
91
- //# sourceMappingURL=hcApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hcApi.js","sources":["../../src/apis/hcApi.ts"],"sourcesContent":["import { getClientAuthKey } from '~/clientToken';\nconst baseURL = process.env.HC_API_BASE_URL as string;\n\ninterface MemoryStorage {\n\tauthToken: string | null;\n\ttokenExpiration: string | null;\n}\n\nconst memoryStorage: MemoryStorage = {\n\tauthToken: null,\n\ttokenExpiration: null\n};\n\nfunction setStorage(key: keyof MemoryStorage, value: string): void {\n\ttry {\n\t\tsessionStorage.setItem(key, value);\n\t} catch (error) {\n\t\tmemoryStorage[key] = value;\n\t}\n}\n\nfunction getStorage(key: keyof MemoryStorage): string | null {\n\ttry {\n\t\treturn sessionStorage.getItem(key) || memoryStorage[key];\n\t} catch (error) {\n\t\treturn memoryStorage[key];\n\t}\n}\n\ninterface AuthResponse {\n\ttoken: string;\n\texpiration: string;\n}\n\nconst login = async (): Promise<AuthResponse> => {\n\tconst clientAuthKey = getClientAuthKey();\n\n\ttry {\n\t\tconst response = await fetch(`${baseURL}/auth/login`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tclientAuthKey: clientAuthKey\n\t\t\t})\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error('Login failed');\n\t\t}\n\n\t\tconst data = await response.json();\n\n\t\tif (data.token && data.expiration) {\n\t\t\tsetStorage('authToken', data.token);\n\t\t\tsetStorage('tokenExpiration', data.expiration);\n\t\t\treturn { token: data.token, expiration: data.expiration };\n\t\t} else {\n\t\t\tthrow new Error('Invalid login response');\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Login failed:', error);\n\t\tthrow error;\n\t}\n};\n\nconst fetchWithAuth = async (url: string, options: RequestInit = {}): Promise<Response> => {\n\tlet token = getStorage('authToken');\n\n\tconst expirationDateTime = getStorage('tokenExpiration');\n\tconst currentTime = new Date();\n\n\tif (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {\n\t\tconst authResponse = await login();\n\t\ttoken = authResponse.token;\n\t}\n\n\tconst headers = new Headers(options.headers || {});\n\theaders.append('Authorization', `Bearer ${token}`);\n\n\tconst finalOptions = {\n\t\t...options,\n\t\theaders\n\t};\n\n\tconst response = await fetch(`${baseURL}${url}`, finalOptions);\n\n\tif (!response.ok) throw new Error('Network response was not ok.');\n\n\treturn response;\n};\n\nexport default {\n\tget: async <T>(url: string): Promise<T> => {\n\t\tconst response = await fetchWithAuth(url);\n\t\treturn await response.json() as T;\n\t},\n\tpost: async <T>(url: string, data: any): Promise<T> => {\n\t\tconst response = await fetchWithAuth(url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify(data)\n\t\t});\n\t\treturn await response.json() as T;\n\t}\n};\n"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- var clientAuthKey = null;
2
- var setClientAuthKey = function setClientAuthKey(key) {
3
- clientAuthKey = key;
4
- };
5
- var getClientAuthKey = function getClientAuthKey() {
6
- return clientAuthKey;
7
- };
8
-
9
- export { getClientAuthKey, setClientAuthKey };
10
- //# sourceMappingURL=clientToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientToken.js","sources":["../src/clientToken.js"],"sourcesContent":["let clientAuthKey = null;\n\nexport const setClientAuthKey = key => {\n\tclientAuthKey = key;\n};\n\nexport const getClientAuthKey = () => {\n\treturn clientAuthKey;\n};\n"],"names":["clientAuthKey","setClientAuthKey","key","getClientAuthKey"],"mappings":"AAAA,IAAIA,aAAa,GAAG,IAAI,CAAA;IAEXC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,GAAG,EAAI;AACtCF,EAAAA,aAAa,GAAGE,GAAG,CAAA;AACpB,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AACrC,EAAA,OAAOH,aAAa,CAAA;AACrB;;;;"}
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import Grid from '../grid.js';
3
-
4
- /**
5
- * Simple skeleton component that renders the basic structure
6
- * Shows placeholder boxes for filters, list, and map
7
- */
8
- var MapSkeleton = function MapSkeleton(_ref) {
9
- var _ref$hideFilters = _ref.hideFilters,
10
- hideFilters = _ref$hideFilters === void 0 ? false : _ref$hideFilters,
11
- _ref$showMap = _ref.showMap,
12
- showMap = _ref$showMap === void 0 ? true : _ref$showMap,
13
- _ref$containerStyle = _ref.containerStyle,
14
- containerStyle = _ref$containerStyle === void 0 ? {
15
- height: '100vh'
16
- } : _ref$containerStyle,
17
- _ref$mapPosition = _ref.mapPosition,
18
- mapPosition = _ref$mapPosition === void 0 ? 'right' : _ref$mapPosition;
19
- var isMapOnTop = mapPosition === 'top';
20
- return /*#__PURE__*/React.createElement("div", {
21
- className: "hc-bundle",
22
- style: containerStyle
23
- }, /*#__PURE__*/React.createElement(Grid, {
24
- as: "section",
25
- id: "job-search-interface",
26
- columns: hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]',
27
- gap: "hc-gap-0",
28
- autoRows: false,
29
- className: 'hc-items-stretch hc-divide-x hc-divide-uiAccent/20'
30
- }, !hideFilters && /*#__PURE__*/React.createElement(Grid.Item, {
31
- className: "hc-bg-gray-50 hc-animate-pulse hc-hidden md:hc-block"
32
- }), /*#__PURE__*/React.createElement(Grid.Item, null, showMap ? /*#__PURE__*/React.createElement("div", {
33
- className: "hc-h-full hc-flex ".concat(isMapOnTop ? 'hc-flex-col' : 'hc-flex-col md:hc-flex-row')
34
- }, /*#__PURE__*/React.createElement("div", {
35
- className: "hc-flex-1 hc-bg-white hc-animate-pulse ".concat(isMapOnTop ? 'hc-order-2' : 'hc-order-2 md:hc-order-1')
36
- }), /*#__PURE__*/React.createElement("div", {
37
- className: "hc-flex-1 hc-bg-gray-100 hc-animate-pulse ".concat(isMapOnTop ? 'hc-order-1' : 'hc-order-1 md:hc-order-2'),
38
- style: {
39
- minHeight: '300px'
40
- }
41
- })) :
42
- /*#__PURE__*/
43
- /* Just List Box */
44
- React.createElement("div", {
45
- className: "hc-h-full hc-bg-white hc-animate-pulse"
46
- }))));
47
- };
48
-
49
- export { MapSkeleton as default };
50
- //# sourceMappingURL=map-skeleton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map-skeleton.js","sources":["../../../../src/components/modules/skeleton/map-skeleton.js"],"sourcesContent":["import React from 'react';\nimport Grid from '~/components/modules/grid';\n\n/**\n * Simple skeleton component that renders the basic structure\n * Shows placeholder boxes for filters, list, and map\n */\nconst MapSkeleton = ({ \n\thideFilters = false, \n\tshowMap = true, \n\tcontainerStyle = { height: '100vh' },\n\tmapPosition = 'right'\n}) => {\n\tconst isMapOnTop = mapPosition === 'top';\n\t\n\treturn (\n\t\t<div className=\"hc-bundle\" style={containerStyle}>\n\t\t\t<Grid\n\t\t\t\tas='section'\n\t\t\t\tid='job-search-interface'\n\t\t\t\tcolumns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}\n\t\t\t\tgap='hc-gap-0'\n\t\t\t\tautoRows={false}\n\t\t\t\tclassName={'hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t>\n\t\t\t\t{/* Filter Column */}\n\t\t\t\t{!hideFilters && (\n\t\t\t\t\t<Grid.Item className='hc-bg-gray-50 hc-animate-pulse hc-hidden md:hc-block' />\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{/* Main Content Area */}\n\t\t\t\t<Grid.Item>\n\t\t\t\t\t{showMap ? (\n\t\t\t\t\t\t<div className={`hc-h-full hc-flex ${isMapOnTop ? 'hc-flex-col' : 'hc-flex-col md:hc-flex-row'}`}>\n\t\t\t\t\t\t\t{/* List Box */}\n\t\t\t\t\t\t\t<div className={`hc-flex-1 hc-bg-white hc-animate-pulse ${isMapOnTop ? 'hc-order-2' : 'hc-order-2 md:hc-order-1'}`} />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* Map Box */}\n\t\t\t\t\t\t\t<div className={`hc-flex-1 hc-bg-gray-100 hc-animate-pulse ${isMapOnTop ? 'hc-order-1' : 'hc-order-1 md:hc-order-2'}`} style={{ minHeight: '300px' }} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t/* Just List Box */\n\t\t\t\t\t\t<div className=\"hc-h-full hc-bg-white hc-animate-pulse\" />\n\t\t\t\t\t)}\n\t\t\t\t</Grid.Item>\n\t\t\t</Grid>\n\t\t</div>\n\t);\n};\n\nexport default MapSkeleton;\n"],"names":["MapSkeleton","_ref","_ref$hideFilters","hideFilters","_ref$showMap","showMap","_ref$containerStyle","containerStyle","height","_ref$mapPosition","mapPosition","isMapOnTop","React","createElement","className","style","Grid","as","id","columns","gap","autoRows","Item","concat","minHeight"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAKX;AAAA,EAAA,IAAAC,gBAAA,GAAAD,IAAA,CAJLE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;IAAAE,YAAA,GAAAH,IAAA,CACnBI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;IAAAE,mBAAA,GAAAL,IAAA,CACdM,cAAc;IAAdA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,MAAM,EAAE,OAAA;AAAQ,KAAC,GAAAF,mBAAA;IAAAG,gBAAA,GAAAR,IAAA,CACpCS,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,gBAAA,CAAA;AAErB,EAAA,IAAME,UAAU,GAAGD,WAAW,KAAK,KAAK,CAAA;EAExC,oBACCE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;AAACC,IAAAA,KAAK,EAAER,cAAAA;AAAe,GAAA,eAChDK,KAAA,CAAAC,aAAA,CAACG,IAAI,EAAA;AACJC,IAAAA,EAAE,EAAC,SAAS;AACZC,IAAAA,EAAE,EAAC,sBAAsB;AACzBC,IAAAA,OAAO,EAAEhB,WAAW,GAAG,gBAAgB,GAAG,yDAA0D;AACpGiB,IAAAA,GAAG,EAAC,UAAU;AACdC,IAAAA,QAAQ,EAAE,KAAM;AAChBP,IAAAA,SAAS,EAAE,oDAAA;GAGV,EAAA,CAACX,WAAW,iBACZS,KAAA,CAAAC,aAAA,CAACG,IAAI,CAACM,IAAI,EAAA;AAACR,IAAAA,SAAS,EAAC,sDAAA;AAAsD,GAAE,CAC7E,eAGDF,KAAA,CAAAC,aAAA,CAACG,IAAI,CAACM,IAAI,EACRjB,IAAAA,EAAAA,OAAO,gBACPO,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,uBAAAS,MAAA,CAAuBZ,UAAU,GAAG,aAAa,GAAG,4BAA4B,CAAA;GAE7FC,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,4CAAAS,MAAA,CAA4CZ,UAAU,GAAG,YAAY,GAAG,0BAA0B,CAAA;AAAG,GAAE,CAAC,eAGtHC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAA,4CAAA,CAAAS,MAAA,CAA+CZ,UAAU,GAAG,YAAY,GAAG,0BAA0B,CAAG;AAACI,IAAAA,KAAK,EAAE;AAAES,MAAAA,SAAS,EAAE,OAAA;AAAQ,KAAA;AAAE,GAAE,CACnJ,CAAC;AAAA;AAEN;AACAZ,EAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wCAAA;GAA0C,CAEhD,CACN,CACF,CAAC,CAAA;AAER;;;;"}