@timardex/cluemart-shared 1.0.61 → 1.0.62

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/index.ts","../src/enums/index.ts","../src/hooks/useLocationSearch.ts","../src/hooks/stallholder/useStallholderForm.ts","../src/yupSchema/global.ts","../src/yupSchema/market.ts","../src/yupSchema/stallholder.ts","../src/yupSchema/user.ts","../src/yupSchema/auth.ts","../src/yupSchema/testers.ts","../src/hooks/utils.ts","../src/hooks/stallholder/useStallholderInfoForm.ts","../src/hooks/market/useMarketForm.ts","../src/hooks/market/useMarketInfoForm.ts","../src/hooks/useUserForm.ts","../src/hooks/auth/useLoginForm.ts","../src/hooks/auth/useRegisterForm.ts","../src/hooks/auth/useRequestPasswordResetForm.ts","../src/hooks/auth/useValidateVerificationTokenForm.ts","../src/hooks/auth/useResetPasswordForm.ts","../src/hooks/useTestersForm.ts","../src/hooks/useContactUsForm.ts","../src/yupSchema/contactUs.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/queries/global.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/hooks/market/hooksMutation.ts","../src/graphql/mutations/market.ts","../src/graphql/queries/market.ts","../src/graphql/queries/user.ts","../src/graphql/queries/stallholder.ts","../src/graphql/hooks/market/hooksQuery.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/queries/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/stallholder/hooksMutation.ts","../src/graphql/mutations/stallholder.ts","../src/graphql/hooks/stallholder/hooksQuery.ts","../src/graphql/hooks/subscriptions.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/testers/hooksMutation.ts","../src/graphql/mutations/testers.ts","../src/graphql/queries/testers.ts","../src/graphql/hooks/testers/hooksQuery.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/formFields/stallholder/stallholder.ts","../src/formFields/stallholder/stallholderInfo.ts","../src/formFields/market/market.ts","../src/formFields/market/marketInfo.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/categories.ts","../src/formFields/socialMedia.ts","../src/formFields/testers.ts","../src/formFields/contactUs.ts","../src/storage/index.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EnumInviteStatus, EnumPaymentMethod, EnumRegions } from \"../enums\";\nimport { OptionItem, Region } from \"../types/global\";\n\nexport const dateFormat = \"DD-MM-YYYY\";\nexport const timeFormat = \"HH:mm\";\n\n// Enable custom format parsing\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\ntype DateFormat = \"date\" | \"time\" | \"datetime\";\n\n/**\n * Format a date string to a more readable format.\n * @param dateStr - the date string\n * @param timeStr - optional time string\n * @param display - 'date' | 'time' | 'datetime'\n * @returns formatted string based on display option\n */\nexport const formatDate = (\n dateStr: string,\n display: DateFormat = \"datetime\",\n timeStr?: string,\n) => {\n // Combine date and time into a single string if time is provided\n const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;\n\n // Parse with formats\n const dateTime = timeStr\n ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`)\n : dayjs(dateStr, dateFormat);\n\n // Format parts\n const formattedDate = dateTime.format(\"dddd, D MMMM, YYYY\");\n const formattedTime = dateTime.format(\"h:mm a\");\n\n // Return based on display option\n switch (display) {\n case \"date\":\n return formattedDate;\n case \"time\":\n return formattedTime;\n case \"datetime\":\n return `${formattedDate} at ${formattedTime}`;\n default:\n return formattedDate;\n }\n};\n\nexport const getCurrentAndFutureDates = <\n T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const today = dayjs().startOf(\"day\");\n return dates.filter((dateObj) => {\n const dateTime = dayjs(dateObj.startDate, dateFormat);\n return dateTime.isSameOrAfter(today);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\n};\n\nexport const formatTimestamp = (timestamp: string) => {\n const formattedDate = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(dateFormat);\n\n const formattedTime = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(timeFormat);\n\n return formatDate(formattedDate, \"date\");\n};\n\nexport const defaultRegion: Region = {\n latitude: -36.8624942, // Default: New Zealand\n latitudeDelta: 5.0,\n longitude: 174.7450494,\n longitudeDelta: 5.0,\n};\n\n/**\n * Function to remove __typename from an object or array of objects.\n * @param obj - The object or array to clean.\n * @returns - The cleaned object or array.\n */\nexport const removeTypename = (obj: any): any => {\n if (Array.isArray(obj)) {\n return obj.map((item) => removeTypename(item)); // Recursively clean arrays\n } else if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj; // Remove __typename\n return Object.keys(cleanedObj).reduce(\n (acc: { [key: string]: any }, key) => {\n acc[key] = removeTypename(cleanedObj[key]); // Recursively clean nested objects\n return acc;\n },\n {},\n );\n }\n return obj; // Return value as-is if it's not an object/array\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n return text.length > maxLength ? text.substring(0, maxLength) + \"...\" : text;\n};\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n * @param items - The array of strings to convert.\n * @returns - The converted array of objects.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item.replace(/_/g, \" \"),\n value: item.replace(/\\s+/g, \"_\").toLowerCase(),\n }));\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(EnumInviteStatus)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\n/**\n * Sort an array of date strings by their proximity to the current date.\n * @param dates - The array of date strings to sort.\n * @returns - The sorted array of date strings.\n */\nexport function sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates || !dates.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n return `https://${url}`;\n }\n return url;\n}\n","export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n WAITING = \"Waiting\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumResourceType {\n MARKET = \"market\",\n STALLHOLDER = \"stallholder\",\n}\n\nexport enum EnumOSType {\n ANDROID = \"Android\",\n IOS = \"iOS\",\n}\n\nexport enum EnumRelationResource {\n MARKET_INVITE_STALLHOLDER = \"market_invite_stallholder\",\n STALLHOLDER_APPLICATION_TO_MARKET = \"stallholder_application_to_market\",\n}\n\nexport enum EnumNotification {\n CREATED_MARKET = \"created_market\",\n CREATED_STALLHOLDER = \"created_stallholder\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n MARKET_INVITE_STALLHOLDER = EnumRelationResource.MARKET_INVITE_STALLHOLDER,\n STALLHOLDER_APPLICATION_TO_MARKET = EnumRelationResource.STALLHOLDER_APPLICATION_TO_MARKET,\n}\n\nexport enum EnumResourceTypeIcon {\n MARKET = \"compass\",\n STALLHOLDER = \"store\",\n}\n\nexport enum EnumRegions {\n Auckland = \"Auckland\",\n BayOfPlenty = \"Bay of Plenty\",\n Canterbury = \"Canterbury\",\n Gisborne = \"Gisborne\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n Marlborough = \"Marlborough\",\n Nelson = \"Nelson\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n ENTERPRISE_MARKET = \"enterprise_market\",\n ENTERPRISE_STALLHOLDER = \"enterprise_stallholder\",\n PRO_MARKET = \"pro_market\",\n PRO_STALLHOLDER = \"pro_stallholder\",\n STANDARD_MARKET = \"standard_market\",\n STANDARD_STALLHOLDER = \"standard_stallholder\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n CUSTOMER = \"customer\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n","/* eslint-disable camelcase */\nimport { LocationType } from \"../types/global\";\n\nexport interface PlacePrediction {\n place_id: string;\n description: string;\n}\n\ninterface PlaceDetails {\n address_components: {\n long_name: string;\n short_name: string;\n types: string[];\n }[];\n formatted_address: string;\n geometry: {\n location: {\n lat: number;\n lng: number;\n };\n };\n url: string;\n}\n\ninterface UseLocation {\n getPredictions: (text: string) => Promise<PlacePrediction[] | undefined>;\n getPlaceDetails: (placeId: string) => Promise<LocationType | undefined>;\n}\n\n/** Handles API request errors */\nconst handleApiError = (error: unknown, message: string) => {\n console.error(message, error);\n};\n\n/**\n * Custom hook to manage location search functionality.\n *\n * @returns {UseLocation} - The functions to get predictions and place details.\n */\nexport const useLocationSearch = (googleApi: string): UseLocation => {\n const getPredictions = async (\n text: string,\n ): Promise<PlacePrediction[] | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${text}&components=country:nz&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.predictions;\n } catch (error) {\n console.error(\"Error fetching predictions:\", error);\n handleApiError(error, \"Failed to fetch address predictions.\");\n }\n };\n\n const getPlaceDetails = async (\n placeId: string,\n ): Promise<LocationType | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/details/json?place_id=${placeId}&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = (await response.json()) as { result: PlaceDetails };\n const { result } = data;\n const { lat, lng } = result.geometry.location;\n const { address_components, formatted_address } = result;\n\n const address = address_components.reduce((acc, item) => {\n if (item.types.includes(\"street_number\")) {\n return { ...acc, streetNumber: item.long_name };\n }\n if (item.types.includes(\"route\")) {\n return { ...acc, streetName: item.long_name };\n }\n if (item.types.includes(\"locality\")) {\n return { ...acc, city: item.long_name };\n }\n if (item.types.includes(\"administrative_area_level_1\")) {\n return { ...acc, region: item.long_name };\n }\n if (item.types.includes(\"country\")) {\n return { ...acc, country: item.long_name };\n }\n return acc;\n }, {} as LocationType);\n\n const newLocation = {\n city: address.city.toLowerCase(),\n coordinates: [lng, lat], // [longitude, latitude]\n country: address.country,\n fullAddress: formatted_address,\n latitude: lat,\n longitude: lng,\n region: address.region.replace(/ Region$/, \"\"), // Remove \" Region\" suffix\n type: \"Point\" as const, // Mongoose GeoJSON type\n };\n\n return newLocation;\n } catch (error) {\n handleApiError(error, \"Failed to fetch place details.\");\n }\n };\n\n return {\n getPlaceDetails,\n getPredictions,\n };\n};\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderFormData,\n StallholderFormData,\n} from \"../../types/stallholder\";\nimport { stallHolderSchema } from \"../../yupSchema\";\nimport {\n defaultStallholderFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder form state and validation.\n *\n * @param {StallholderFormData} data - The initial form data.\n * @returns {CreateStallholderFormData} - The form methods and state.\n */\nexport function useStallholderForm(\n data?: StallholderFormData,\n): CreateStallholderFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderFormData>({\n defaultValues: defaultStallholderFormValues,\n resolver: yupResolver(stallHolderSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n categories: data.categories,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n specialities: data.specialities,\n });\n } else {\n reset(defaultStallholderFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n socialMedia,\n region,\n specialities,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n region,\n socialMedia,\n specialities,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","/* eslint-disable sort-keys */\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport * as yup from \"yup\";\nimport { TestFunction } from \"yup\";\n\nimport { EnumSocialMedia } from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const normalizedUrlTransform = () =>\n yup\n .string()\n .trim()\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n )\n .transform((value) =>\n typeof value === \"string\" ? normalizeUrl(value) : value,\n );\n\nexport const noLeadingZeros = (\n fieldName: string,\n options: NoLeadingZerosOptions = {},\n): TestFunction<number | undefined> => {\n return function (value, context) {\n const original = context.originalValue?.toString() ?? \"\";\n\n const regex = options.allowDecimal\n ? /^0\\d+(\\.\\d+)?$/ // e.g. \"03\", \"03.5\", \"0002.75\"\n : /^0\\d+$/; // e.g. \"01\", \"0001\"\n\n if (regex.test(original)) {\n return context.createError({\n message: `${fieldName} must not have leading zeros`,\n });\n }\n\n return true;\n };\n};\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(customParseFormat);\n\nconst now = dayjs(); // Current date and time\n\n// DATE AND TIME SCHEMA\nexport const endDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"End date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const startDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"Start date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const endDateAfterStartDateTest = yup\n .string()\n .test(\n \"end-after-start\",\n \"End date cannot be before start date\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n return dayjs(value, dateFormat, true).isSameOrAfter(\n dayjs(startDate, dateFormat, true),\n \"day\",\n );\n },\n );\n\nexport const endTimeMustBeAfterStartTimeTest = yup\n .string()\n .test(\n \"valid-end-time\",\n \"End time must be after start time\",\n function (value) {\n const { startDate, endDate, startTime } = this.parent;\n if (!startDate || !endDate || !startTime || !value) return false;\n\n const startDateTime = dayjs(\n `${startDate} ${startTime}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n const endDateTime = dayjs(\n `${endDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n\n return endDateTime.isAfter(startDateTime);\n },\n );\n\nexport const startTimeCannotBeInPastTest = yup\n .string()\n .test(\n \"valid-start-time\",\n \"Start time cannot be in the past\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n const startDateTime = dayjs(\n `${startDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n return startDateTime.isSameOrAfter(now);\n },\n );\n\nexport const dateTimeSchema = yup.object().shape({\n endDate: yup\n .string()\n .label(\"End Date\")\n .concat(endDateNotInPastTest)\n .concat(endDateAfterStartDateTest)\n .required(\"End date is required\"),\n endTime: yup\n .string()\n .label(\"End Time\")\n .concat(endTimeMustBeAfterStartTimeTest)\n .required(\"End time is required\"),\n startDate: yup\n .string()\n .label(\"Start Date\")\n .concat(startDateNotInPastTest)\n .required(\"Start date is required\"),\n startTime: yup\n .string()\n .label(\"Start Time\")\n .concat(startTimeCannotBeInPastTest)\n .required(\"Start time is required\"),\n});\n\nconst stallTypesSchema = yup.object({\n label: yup\n .string()\n .trim()\n .label(\"Stall Label\")\n .required(\"Stall label is required\"),\n price: yup\n .number()\n .label(\"Stall Price\")\n .min(0.1, \"Stall price must be at least 0.1\")\n .required(\"Stall price is required\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Stall price\", { allowDecimal: true }),\n ),\n stallCapacity: yup\n .number()\n .typeError(\"Stall capacity must be a number\")\n .min(1, \"Stall capacity must be at least 1\")\n .integer(\"Stall capacity must be a whole number\")\n .required(\"Stall capacity is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Stall capacity\")),\n});\n\nexport const dateTimeWithPriceSchema = dateTimeSchema.shape({\n stallTypes: yup\n .array()\n .of(stallTypesSchema)\n .min(1, \"At least one stall type is required\")\n .required(\"Stall types are required\"),\n});\n\nexport const locationSchema = yup.object().shape({\n city: yup.string().label(\"City\").required(\"City is required\"),\n coordinates: yup\n .array()\n .of(yup.number().required(\"Coordinates must be numbers\"))\n .length(\n 2,\n \"Coordinates must contain exactly two numbers (longitude, latitude)\",\n )\n .required(\"Coordinates are required\"),\n country: yup.string().label(\"Country\").required(\"Country is required\"),\n fullAddress: yup.string().label(\"Address\").required(\"Address is required\"),\n latitude: yup.number().label(\"Latitude\").required(\"Latitude is required\"),\n longitude: yup.number().label(\"Longitude\").required(\"Longitude is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n type: yup\n .string()\n .oneOf([\"Point\"], \"Type must be 'Point'\")\n .default(\"Point\")\n .required(\"Type is required\"),\n});\n\n// ✅ Reusable Email Schema\nexport const emailSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n );\n\n// ✅ Reusable Password Schema\nexport const passwordSchema = yup\n .string()\n .trim()\n .label(\"Password\")\n .min(8, \"Password must be at least 8 characters long\")\n .required(\"Password is required\");\n\nconst socialMediaSchema = yup.object({\n name: yup\n .mixed<EnumSocialMedia>()\n .oneOf(Object.values(EnumSocialMedia))\n .label(\"Social Media Name\")\n .optional(),\n link: yup.string().when(\"name\", {\n is: (name: EnumSocialMedia | undefined) => !!name, // If name has a value\n then: () =>\n normalizedUrlTransform()\n .required(\"Link is required when name is set\")\n .url(\"Link must be a valid URL\")\n .label(\"Social Media Link\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const globalResourceSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n cover: yup.object({\n source: yup.string().label(\"Cover\").required(\"Cover is required\"),\n title: yup.string().label(\"Cover Title\").required(\"Cover is required\"),\n }),\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup.string().label(\"Name\").trim().min(3).required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n});\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n} from \"./global\";\n\nconst nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const marketSchema = globalResourceSchema.shape({\n dateTime: yup.array().of(dateTimeSchema).required(\"DateTime is required\"),\n location: locationSchema,\n provider: yup\n .string()\n .label(\"Provider\")\n .trim()\n .min(3)\n .required(\"Provider is required\"),\n tags: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Tags are required\")\n .required(\"Tags are required\"),\n});\n\nconst paymentInfoSchema = yup.object({\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n\n accountHolderName: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account holder name is required for bank transfer\")\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n accountNumber: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account number is required for bank transfer\")\n .matches(\n nzBankAccountRegex,\n \"Account number must be in format: XX-XXXX-XXXXXXX-XX\",\n )\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n link: yup.string().when(\"paymentMethod\", {\n is: (val: EnumPaymentMethod) => val !== EnumPaymentMethod.BANK_TRANSFER,\n then: () =>\n normalizedUrlTransform()\n .url(\"Link must be a valid URL\")\n .required(\"Link is required for PayPal/Stripe\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const marketInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .nullable()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .typeError(\"Application deadline hours must be a number\")\n .min(1, \"Application deadline hours must be at least 1\")\n .required(\"Application deadline hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Application deadline hours\")),\n dateTime: yup\n .array()\n .of(dateTimeWithPriceSchema)\n .required(\"DateTime is required\"),\n marketId: yup.string().trim().required(\"Market ID is required\"),\n packInTime: yup\n .number()\n .typeError(\"Pack in time must be a number\")\n .min(1, \"Pack in time must be at least 1\")\n .required(\"Pack in time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack in time\")),\n packOutTime: yup\n .number()\n .typeError(\"Pack out time must be a number\")\n .min(1, \"Pack out time must be at least 1\")\n .required(\"Pack out time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack out time\")),\n paymentDueHours: yup\n .number()\n .typeError(\"Payment due hours must be a number\")\n .min(1, \"Payment due hours must be at least 1\")\n .required(\"Payment due hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Payment due hours\")),\n paymentInfo: yup\n .array()\n .of(paymentInfoSchema)\n .min(1, \"At least one payment info is required\")\n .required(\"Payment info is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport { globalResourceSchema } from \"./global\";\n\nexport const stallHolderSchema = globalResourceSchema.shape({\n categories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().required(\"Category id is required\"),\n name: yup.string().required(\"Category name is required\"),\n subcategories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n items: yup.array().of(yup.string().defined()).nullable(),\n name: yup.string().defined(),\n }),\n )\n .nullable(),\n }),\n )\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Product list must contain at least one item\")\n .required(\"Products are required\"),\n});\n\nexport const stallholderInfoSchema = yup.object().shape({\n electricity: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Electricity requirement is required\"),\n }),\n foodSafetyGradeFiles: yup.array().of(yup.string().defined()).nullable(),\n foodSafetyGradeFilesUpload: yup.array().of(yup.string().defined()).nullable(),\n gazebo: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Gazebo requirement is required\"),\n }),\n packaging: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Packaging list must contain at least one item\")\n .required(\"Packaging is required\"),\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n priceRange: yup.object().shape({\n max: yup\n .number()\n .min(1)\n .required(\"Max price is required\")\n .test(\n \"is-greater\",\n \"Max price must be greater than or equal to Min price\",\n function (max) {\n const { min } = this.parent;\n return max >= min;\n },\n ),\n min: yup.number().min(1).required(\"Min price is required\"),\n }),\n producedIn: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Produced in list must contain at least one item\")\n .required(\"Produced in is required\"),\n stallholderId: yup.string().trim().required(\"Stallholder ID is required\"),\n stallSize: yup.object().shape({\n depth: yup.number().min(1).required(\"Depth is required\"),\n width: yup.number().min(1).required(\"Width is required\"),\n }),\n table: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Table requirement is required\"),\n }),\n});\n","import * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n password: passwordSchema,\n preferredRegion: yup.string().required(\"Preferred region is required\"),\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n role: yup\n .mixed<EnumUserRole>()\n .oneOf(Object.values(EnumUserRole))\n .required(\"Role is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup\n .string()\n .label(\"First Name\")\n .required(\"First Name is required\"),\n lastName: yup.string().label(\"Last Name\").required(\"Last Name is required\"),\n password: passwordSchema,\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred Region is required\"),\n});\n\nexport const requestPasswordResetSchema = yup.object().shape({\n email: emailSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const validateVerificationTokenSchema = yup.object().shape({\n email: emailSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{5}$/, \"Verification code must be exactly 5 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\n\nimport { emailSchema } from \"./global\";\n\nexport const testersSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n osType: yup\n .mixed<EnumOSType>()\n .oneOf(Object.values(EnumOSType), \"Please select Android or iOS device\")\n .required(\"OS Type is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Market or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n});\n","import { EnumPaymentMethod } from \"../enums\";\nimport {\n BaseResourceTypeFormData,\n MarketFormData,\n MarketInfoFormData,\n StallholderFormData,\n StallholderInfoFormData,\n} from \"../types\";\n\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description:\n \"Lorem Ipsum is a placeholder text commonly used in design and publishing to represent the visual form of a document without relying on meaningful content. It's a jumbled Latin text, not intended to be read or understood, and is used to show the layout and typography before actual content is added.\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"Resource name\",\n promoCode: \"\",\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultMarketFormValues: MarketFormData = {\n ...globalDefaultValues,\n dateTime: [\n {\n endDate: \"04-07-2025\",\n endTime: \"15:00\",\n startDate: \"04-07-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-07-2025\",\n endTime: \"15:00\",\n startDate: \"05-07-2025\",\n startTime: \"09:00\",\n },\n ],\n location: {\n city: \"\",\n coordinates: [0, 0], // [longitude, latitude]\n country: \"\",\n fullAddress: \"\",\n latitude: 0,\n longitude: 0,\n region: \"\",\n type: \"Point\", // Default type for GeoJSON\n },\n provider: \"Provider name\",\n tags: [],\n};\n\nexport const defaultMarketInfoFormValues: MarketInfoFormData = {\n applicationDeadlineHours: 0,\n dateTime: [\n {\n endDate: \"04-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"04-05-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"05-05-2025\",\n startTime: \"09:00\",\n },\n ],\n marketId: \"\",\n packInTime: 0, // e.g., 2 hours before market opens\n packOutTime: 0, // e.g., 1 hour after market closes\n paymentDueHours: 0,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultStallholderFormValues: StallholderFormData = {\n ...globalDefaultValues,\n categories: [],\n locations: null,\n multiLocation: false,\n products: [],\n specialities: null,\n};\n\nexport const defaultStallholderInfoFormValues: StallholderInfoFormData = {\n electricity: { details: null, isRequired: false },\n foodSafetyGradeFiles: null,\n foodSafetyGradeFilesUpload: null,\n gazebo: { details: null, isRequired: false },\n packaging: [],\n paymentMethod: \"\" as EnumPaymentMethod,\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n stallholderId: \"\",\n stallSize: { depth: 0, width: 0 },\n table: { details: null, isRequired: false },\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: MarketFormData | StallholderFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n cover: data.cover,\n coverUpload: data.coverUpload,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n logo: data.logo,\n logoUpload: data.logoUpload,\n name: data.name,\n promoCode: data.promoCode,\n region: data.region,\n socialMedia: data.socialMedia,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderInfoFormData,\n StallholderInfoFormData,\n} from \"../../types/stallholder\";\nimport { stallholderInfoSchema } from \"../../yupSchema\";\nimport { defaultStallholderInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder apply form state and validation.\n *\n * @param {StallholderApplyFormFormData} data - The initial form data.\n * @returns {CreateStallholderInfoFormData} - The form methods and state.\n */\nexport function useStallholderInfoForm(\n data?: StallholderInfoFormData,\n): CreateStallholderInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderInfoFormData>({\n defaultValues: defaultStallholderInfoFormValues,\n resolver: yupResolver(stallholderInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n electricity: data.electricity,\n foodSafetyGradeFiles: data.foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload: data.foodSafetyGradeFilesUpload,\n gazebo: data.gazebo,\n packaging: data.packaging,\n paymentMethod: data.paymentMethod,\n priceRange: data.priceRange,\n producedIn: data.producedIn,\n stallholderId: data.stallholderId,\n stallSize: data.stallSize,\n table: data.table,\n });\n } else {\n reset(defaultStallholderInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateMarketFormData, MarketFormData } from \"../../types/market\";\nimport { marketSchema } from \"../../yupSchema\";\nimport {\n defaultMarketFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketFormData} data - The initial form data.\n * @returns {CreateMarketFormData} - The form methods and state.\n */\nexport function useMarketForm(data?: MarketFormData): CreateMarketFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketFormData>({\n defaultValues: defaultMarketFormValues,\n resolver: yupResolver(marketSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n location: data.location,\n provider: data.provider,\n tags: data.tags,\n });\n } else {\n reset(defaultMarketFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n provider,\n region,\n tags,\n promoCode,\n socialMedia,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n promoCode,\n provider,\n region,\n socialMedia,\n tags,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateMarketInfoFormData,\n MarketInfoFormData,\n} from \"../../types/market\";\nimport { marketInfoSchema } from \"../../yupSchema\";\nimport { defaultMarketInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketInfoFormData} data - The initial form data.\n * @returns {CreateMarketInfoFormData} - The form methods and state.\n */\nexport function useMarketInfoForm(\n data?: MarketInfoFormData,\n): CreateMarketInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketInfoFormData>({\n defaultValues: defaultMarketInfoFormValues,\n resolver: yupResolver(marketInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n marketId: data.marketId,\n packInTime: data.packInTime,\n packOutTime: data.packOutTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultMarketInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n packOutTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n packOutTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumUserRole } from \"../enums\";\nimport { CreateUserFormData, UserFormData } from \"../types/user\";\nimport { userSchema } from \"../yupSchema/user\";\n\nconst defaultValues: UserFormData = {\n active: false,\n avatar: null,\n avatarUpload: null,\n confirmPassword: \"\",\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n role: EnumUserRole.CUSTOMER,\n};\n\n/**\n * Custom hook to manage the user form state and validation.\n *\n * @param {UserFormData} data - The initial form data.\n * @returns {CreateUserFormData} - The form methods and state.\n */\nexport function useUserForm(data?: UserFormData): CreateUserFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<UserFormData>({\n defaultValues,\n resolver: yupResolver(userSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n active: data.active,\n avatar: data.avatar,\n avatarUpload: data.avatarUpload,\n confirmPassword: data.confirmPassword,\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateLoginFormData, LoginFormData } from \"../../types/auth\";\nimport { loginSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: LoginFormData = {\n email: \"\",\n password: \"\",\n};\n\n/**\n * Custom hook to manage the login form state and validation.\n *\n * @returns {CreateLoginFormData} - The form methods and state.\n */\nexport function useLoginForm(): CreateLoginFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<LoginFormData>({\n defaultValues,\n resolver: yupResolver(loginSchema),\n });\n\n const { email, password } = getValues();\n\n return {\n control,\n fields: {\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateRegisterFormData, RegisterFormData } from \"../../types/auth\";\nimport { registerSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RegisterFormData = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n};\n\n/**\n * Custom hook to manage the register form state and validation.\n *\n * @returns {CreateRegisterFormData} - The form methods and state.\n */\nexport function useRegisterForm(): CreateRegisterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RegisterFormData>({\n defaultValues,\n resolver: yupResolver(registerSchema),\n });\n\n const { email, firstName, lastName, password, preferredRegion } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateRequestPasswordResetFormData,\n RequestPasswordResetFormData,\n} from \"../../types/auth\";\nimport { requestPasswordResetSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RequestPasswordResetFormData = {\n email: \"\",\n};\n\nexport function useRequestPasswordResetForm(): CreateRequestPasswordResetFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RequestPasswordResetFormData>({\n defaultValues,\n resolver: yupResolver(requestPasswordResetSchema),\n });\n\n const { email } = getValues();\n\n return {\n control,\n fields: {\n email,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateValidateVerificationTokenFormData,\n ValidateVerificationTokenFormData,\n} from \"../../types/auth\";\nimport { validateVerificationTokenSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ValidateVerificationTokenFormData = {\n email: \"\",\n verificationToken: \"\",\n};\n\nexport function useValidateVerificationTokenForm(): CreateValidateVerificationTokenFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ValidateVerificationTokenFormData>({\n defaultValues,\n resolver: yupResolver(validateVerificationTokenSchema),\n });\n\n const { email, verificationToken } = getValues();\n\n return {\n control,\n fields: {\n email,\n verificationToken,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateResetPasswordFormData,\n ResetPasswordFormData,\n} from \"../../types/auth\";\nimport { resetPasswordSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ResetPasswordFormData = {\n confirmPassword: \"\",\n email: \"\",\n password: \"\",\n};\n\nexport function useResetPasswordForm(): CreateResetPasswordFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ResetPasswordFormData>({\n defaultValues,\n resolver: yupResolver(resetPasswordSchema),\n });\n\n const { confirmPassword, email, password } = getValues();\n\n return {\n control,\n fields: {\n confirmPassword,\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\nimport { CreateTestersFormData, TestersFormData } from \"src/types/testers\";\nimport { testersSchema } from \"src/yupSchema/testers\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n osType: \"\" as EnumOSType,\n resourceType: \"\" as EnumResourceType,\n};\n\nexport function useTestersForm(data?: TestersFormData): CreateTestersFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TestersFormData>({\n defaultValues,\n resolver: yupResolver(testersSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n osType: data.osType,\n resourceType: data.resourceType,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, osType, resourceType } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n osType,\n resourceType,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n ContactUsFormData,\n CreateContactUsFormData,\n} from \"src/types/contactUs\";\nimport { contactUsSchema } from \"src/yupSchema/contactUs\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n message: \"\",\n};\n\nexport function useContactUsForm(\n data?: ContactUsFormData,\n): CreateContactUsFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ContactUsFormData>({\n defaultValues,\n resolver: yupResolver(contactUsSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n message: data.message,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, message } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n message,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import * as yup from \"yup\";\n\nimport { emailSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n message: yup.string().required(\"Message is required\"),\n});\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n REQUEST_PASSWORD_RESET_MUTATION,\n LOGIN_MUTATION,\n REGISTER_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n RESET_PASSWORD_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation(\n REFRESH_TOKEN_MUTATION,\n );\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation(\n REQUEST_PASSWORD_RESET_MUTATION,\n );\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation(\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n );\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation(\n RESET_PASSWORD_MUTATION,\n );\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n refreshToken\n token\n }\n }\n`;\n\nexport const RESET_PASSWORD_MUTATION = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n message\n }\n }\n`;\n\nexport const REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const SOCIAL_MEDIA_FIELDS_FRAGMENT = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n }\n`;\n\nexport const RESOURCE_IMAGE_FIELDS_FRAGMENT = gql`\n fragment ResourceImageFields on ResourceImageType {\n source\n title\n }\n`;\n\nexport const OWNER_FIELDS_FRAGMENT = gql`\n fragment OwnerFields on OwnerType {\n _id\n email\n licences\n }\n`;\n\nexport const CATEGORY_FIELDS_FRAGMENT = gql`\n fragment CategoryFields on CategoryType {\n id\n name\n subcategories {\n id\n items\n name\n }\n }\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n createdAt\n email\n favourites {\n markets\n stallholders\n }\n firstName\n lastName\n licences\n markets\n preferredRegion\n refreshToken\n role\n stallholder\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n CREATE_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useCreateChat = () => {\n const [createChat, { loading, error }] = useMutation(CREATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.createChat?._id;\n\n return [\n {\n query: USER_CHATS,\n variables: { userId: mutationResult?.data?.createChat?.userId },\n },\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { createChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation(\n SEND_CHAT_MESSAGE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation(\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation(\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.removeParticipantFromChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { error, loading, removeParticipantFromChat };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const CREATE_CHAT_MUTATION = gql`\n mutation createChat($input: ChatInputType!) {\n createChat(input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id)\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($_id: ID!, $input: ID!) {\n addParticipantToChat(_id: $_id, input: $input) {\n ...ChatFields\n }\n ${CHAT_FIELDS_FRAGMENT}\n }\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($_id: ID!, $input: ID!) {\n removeParticipantFromChat(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n senderId\n senderName\n updatedAt\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n createdAt\n messages {\n ...ChatMessageFields\n }\n name\n participants\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { ChatType } from \"../../../types/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const chat = data?.chat as ChatType;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery(USER_CHATS, {\n fetchPolicy: \"network-only\",\n });\n\n const userChats = data?.userChats as ChatType[];\n\n return { error, loading, refetch, userChats };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_MARKET_INFO_MUTATION,\n CREATE_MARKET_MUTATION,\n DELETE_MARKET_MUTATION,\n UPDATE_MARKET_INFO_MUTATION,\n UPDATE_MARKET_MUTATION,\n} from \"../../mutations/market\";\nimport { GET_MARKET, GET_MARKET_INFO, GET_MARKETS } from \"../../queries/market\";\nimport { GET_USER_MARKETS } from \"../../queries/user\";\n\nexport const useCreateMarket = () => {\n const [createMarket, { loading, error }] = useMutation(\n CREATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { createMarket, error, loading };\n};\n\nexport const useUpdateMarket = () => {\n const [updateMarket, { loading, error }] = useMutation(\n UPDATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { error, loading, updateMarket };\n};\n\nexport const useDeleteMarket = () => {\n const [deleteMarket, { loading, error }] = useMutation(\n DELETE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n return { deleteMarket, error, loading };\n};\n\nexport const useCreateMarketInfo = () => {\n const [createMarketInfo, { loading, error }] = useMutation(\n CREATE_MARKET_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract marketId from the mutation response\n const marketId = mutationResult?.data?.createMarketInfo?.marketId;\n\n if (!marketId) return [];\n\n return [\n {\n query: GET_MARKET_INFO,\n variables: { marketId }, // Pass the marketId for refetching\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId }, // Pass the marketId for refetching\n },\n ];\n },\n },\n );\n\n return { createMarketInfo, error, loading };\n};\n\nexport const useUpdateMarketInfo = () => {\n const [updateMarketInfo, { loading, error }] = useMutation(\n UPDATE_MARKET_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract marketId from the mutation response\n const marketId = mutationResult?.data?.updateMarketInfo?.marketId;\n\n if (!marketId) return [];\n\n return [\n {\n query: GET_MARKET_INFO,\n variables: { marketId }, // Pass the marketId for refetching\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId }, // Pass the marketId for refetching\n },\n ];\n },\n },\n );\n\n return { error, loading, updateMarketInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { MARKET, MARKET_INFO } from \"../queries/market\";\n\nexport const CREATE_MARKET_MUTATION = gql`\n mutation createMarket($input: MarketInputType!) {\n createMarket(input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const UPDATE_MARKET_MUTATION = gql`\n mutation updateMarket($_id: ID!, $input: MarketInputType!) {\n updateMarket(_id: $_id, input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const DELETE_MARKET_MUTATION = gql`\n mutation deleteMarket($_id: ID!) {\n deleteMarket(_id: $_id)\n }\n`;\n\nexport const CREATE_MARKET_INFO_MUTATION = gql`\n mutation createMarketInfo($input: MarketInfoInputType!) {\n createMarketInfo(input: $input) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n\nexport const UPDATE_MARKET_INFO_MUTATION = gql`\n mutation updateMarketInfo($_id: ID!, $input: MarketInfoInputType!) {\n updateMarketInfo(_id: $_id, input: $input) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const MARKET_DATETIME_FIELDS_FRAGMENT = gql`\n fragment MarketDateTimeFields on MarketDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const MARKET_LOCATION_FIELDS_FRAGMENT = gql`\n fragment MarketLocationFields on MarketLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const MARKET_INFO = gql`\n fragment MarketInfoFields on MarketInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n endDate\n endTime\n stallTypes {\n label\n price\n stallCapacity\n }\n startDate\n startTime\n }\n marketId\n packInTime\n packOutTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n requirements {\n category\n label\n value\n }\n }\n`;\n\n// if this is updated than update GET_RESOURCE_CONNECTIONS as well\nexport const MARKET = gql`\n fragment MarketFields on MarketType {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n marketInfoId\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n tags\n updatedAt\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKETS = gql`\n query getMarkets {\n markets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKET = gql`\n query getMarket($_id: ID!) {\n market(_id: $_id) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_BY_REGION = gql`\n query getMarketsByRegion($region: String!) {\n marketsByRegion(region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const SEARCH_MARKETS = gql`\n query searchMarkets($search: String!, $region: String) {\n marketSearch(search: $search, region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_NEAR_ME = gql`\n query getMarketsNearMe($latitude: Float!, $longitude: Float!, $radius: Int) {\n marketsNearMe(latitude: $latitude, longitude: $longitude, radius: $radius) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKET_INFO = gql`\n query getMarketInfo($marketId: ID!) {\n marketInfo(marketId: $marketId) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"./global\";\nimport { MARKET } from \"./market\";\nimport { STALLHOLDER } from \"./stallholder\";\n\nexport const GET_USERS = gql`\n query getUsers {\n users {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER = gql`\n query getUser($id: ID!) {\n user(_id: $id) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER_MARKETS = gql`\n query getUserMarkets {\n userMarkets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_USER_STALLHOLDER = gql`\n query getUserStallholder {\n userStallholder {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_USER_FAVOURITES = gql`\n query getUserFavourites {\n userFavourites {\n markets {\n ...MarketFields\n }\n stallholders {\n ...StallholderFields\n }\n }\n }\n ${MARKET}\n ${STALLHOLDER}\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getMissedNotifications {\n userNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const STALLHOLDER_LOCATION_FIELDS_FRAGMENT = gql`\n fragment StallholderLocationFields on StallholderLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const STALLHOLDER_DATETIME_FIELDS_FRAGMENT = gql`\n fragment StallholderDateTimeFields on StallholderDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\n// if this is updated than update GET_RESOURCE_CONNECTIONS as well\nexport const STALLHOLDER = gql`\n fragment StallholderFields on StallholderType {\n _id\n active\n stallholderInfoId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n description\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n specialities\n updatedAt\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const STALLHOLDER_INFO = gql`\n fragment StallholderInfoFields on StallholderInfoType {\n _id\n electricity {\n details\n isRequired\n }\n foodSafetyGradeFiles\n gazebo {\n details\n isRequired\n }\n packaging\n paymentMethod\n priceRange {\n max\n min\n }\n producedIn\n stallholderId\n stallSize {\n depth\n width\n }\n table {\n details\n isRequired\n }\n }\n`;\n\nexport const GET_STALLHOLDERS = gql`\n query getStallHolders {\n stallholders {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER = gql`\n query getStallHolder($_id: ID!) {\n stallholder(_id: $_id) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDERS_BY_REGION = gql`\n query getStallholdersByRegion($region: String!) {\n stallholdersByRegion(region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const SEARCH_STALLHOLDERS = gql`\n query searchStallholders($search: String!, $region: String) {\n stallholderSearch(search: $search, region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER_INFO = gql`\n query getStallholderInfo($stallholderId: ID!) {\n stallholderInfo(stallholderId: $stallholderId) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketInfoType, MarketType } from \"../../../types/market\";\nimport {\n GET_MARKET,\n GET_MARKET_INFO,\n GET_MARKETS,\n GET_MARKETS_BY_REGION,\n GET_MARKETS_NEAR_ME,\n SEARCH_MARKETS,\n} from \"../../queries/market\";\n\nexport const useGetMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.markets as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n\nexport const useGetMarket = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const market = data?.market as MarketType;\n\n return { error, loading, market, refetch };\n};\n\nexport const useGetMarketsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n });\n\n const marketsByRegion = data?.marketsByRegion as MarketType[];\n\n return { error, loading, marketsByRegion, refetch };\n};\n\nexport const useSearchMarkets = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_MARKETS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const marketsSearch = data?.marketSearch as MarketType[];\n\n return { error, loading, marketsSearch, refetch };\n};\n\nexport const useGetMarketsNearMe = (location: {\n latitude: number;\n longitude: number;\n radius?: number;\n}) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_NEAR_ME, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const marketsNearMe = data?.marketsNearMe as MarketType[];\n\n return { error, loading, marketsNearMe, refetch };\n};\n\nexport const useGetMarketInfo = (marketId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET_INFO, {\n fetchPolicy: \"network-only\",\n skip: !marketId,\n variables: { marketId },\n });\n\n const marketInfo = data?.marketInfo as MarketInfoType;\n\n return { error, loading, marketInfo, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation(\n CREATE_POSTER_MUTATION,\n );\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_MARKET } from \"../../queries/market\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_STALLHOLDER } from \"../../queries/stallholder\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation(\n CREATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.createRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.createRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n },\n );\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation(\n UPDATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.updateRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.updateRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n ];\n },\n },\n );\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation(\n DELETE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.deleteRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.deleteRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n },\n );\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RELATION_FIELDS_FRAGMENT } from \"../queries/relation\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CATEGORY_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\nimport {\n MARKET_DATETIME_FIELDS_FRAGMENT,\n MARKET_LOCATION_FIELDS_FRAGMENT,\n} from \"./market\";\nimport {\n STALLHOLDER_DATETIME_FIELDS_FRAGMENT,\n STALLHOLDER_LOCATION_FIELDS_FRAGMENT,\n} from \"./stallholder\";\n\nconst RELATION_UPDATE_BY_FRAGMENT = gql`\n fragment RelationUpdateBy on RelationUpdateByType {\n resourceId\n resourceName\n resourceType\n startDate\n stallType {\n label\n price\n stallCapacity\n }\n toStatus\n }\n`;\n\nconst RELATION_LOGS_FRAGMENT = gql`\n fragment RelationLogs on RelationLogType {\n createdAt\n updatedAt\n updatedBy {\n ...RelationUpdateBy\n }\n }\n ${RELATION_UPDATE_BY_FRAGMENT}\n`;\n\nconst RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n lastUpdateBy\n startDate\n stallType {\n label\n price\n stallCapacity\n }\n status\n }\n`;\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n apiMessage\n createdAt\n lastUpdateBy\n marketId\n relationDates {\n ...RelationDates\n }\n relationLogs {\n ...RelationLogs\n }\n relationType\n stallholderId\n updatedAt\n }\n ${RELATION_DATES_FRAGMENT}\n ${RELATION_LOGS_FRAGMENT}\n`;\n\nexport const GET_RELATION = gql`\n query getRelation($id: ID!) {\n relation(_id: $id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_BY_MARKET_AND_STALLHOLDER = gql`\n query getRelationByMarketAndStallholder($marketId: ID!, $stallholderId: ID!) {\n relationByMarketAndStallholder(\n marketId: $marketId\n stallholderId: $stallholderId\n ) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKET_RELATIONS = gql`\n query getMarketRelations($marketId: ID!) {\n marketRelations(marketId: $marketId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_STALLHOLDER_RELATIONS = gql`\n query getStallholderRelations($stallholderId: ID!) {\n stallholderRelations(stallholderId: $stallholderId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_CONNECTIONS = gql`\n query getResourceConnections(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n markets {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n marketInfoId\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n tags\n updatedAt\n relationDates {\n ...RelationDates\n }\n }\n stallholders {\n _id\n active\n stallholderInfoId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n description\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n region\n relationIds\n specialities\n socialMedia {\n ...SocialMediaFields\n }\n updatedAt\n relationDates {\n ...RelationDates\n }\n }\n }\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: id === \"\",\n variables: { id },\n });\n\n const relation = data?.relation as RelationType;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByMarketAndStallholder = (\n marketId: string,\n stallholderId: string,\n) => {\n const { loading, error, data, refetch } = useQuery(\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n {\n fetchPolicy: \"no-cache\",\n skip: marketId === \"\" || stallholderId === \"\",\n variables: { marketId, stallholderId },\n },\n );\n\n const relationByMarketAndStallholder =\n data?.relationByMarketAndStallholder as RelationType;\n\n return { error, loading, refetch, relationByMarketAndStallholder };\n};\n\nexport const useGetMarketRelations = (marketId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: marketId === \"\",\n variables: { marketId },\n });\n\n const marketRelations = data?.marketRelations as RelationType[];\n\n return { error, loading, marketRelations, refetch };\n};\n\nexport const useGetStallholderRelations = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDER_RELATIONS,\n {\n fetchPolicy: \"network-only\",\n skip: stallholderId === \"\",\n variables: { stallholderId },\n },\n );\n\n const stallholderRelations = data?.stallholderRelations as RelationType[];\n\n return { error, loading, refetch, stallholderRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections =\n data?.resourceConnections as ResourceConnectionsType;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_STALLHOLDER } from \"src/graphql/queries/user\";\n\nimport {\n CREATE_STALLHOLDER_INFO_MUTATION,\n CREATE_STALLHOLDER_MUTATION,\n DELETE_STALLHOLDER_MUTATION,\n UPDATE_STALLHOLDER_INFO_MUTATION,\n UPDATE_STALLHOLDER_MUTATION,\n} from \"../../mutations/stallholder\";\nimport {\n GET_STALLHOLDER_INFO,\n GET_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useCreateStallholder = () => {\n const [createStallholder, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n\n return { createStallholder, error, loading };\n};\n\nexport const useUpdateStallholder = () => {\n const [updateStallholder, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n return { error, loading, updateStallholder };\n};\n\nexport const useDeleteStallholder = () => {\n const [deleteStallholder, { loading, error }] = useMutation(\n DELETE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n return { deleteStallholder, error, loading };\n};\n\nexport const useCreateStallholderInfo = () => {\n const [createStallholderInfo, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.createStallholderInfo?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_INFO,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n {\n query: GET_USER_STALLHOLDER,\n },\n ];\n },\n },\n );\n\n return { createStallholderInfo, error, loading };\n};\n\nexport const useUpdateStallholderInfo = () => {\n const [updateStallholderInfo, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.updateStallholderInfo?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_INFO,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n ];\n },\n },\n );\n\n return { error, loading, updateStallholderInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { STALLHOLDER, STALLHOLDER_INFO } from \"../queries/stallholder\";\n\nexport const CREATE_STALLHOLDER_MUTATION = gql`\n mutation createStallholder($input: StallholderInputType!) {\n createStallholder(input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const UPDATE_STALLHOLDER_MUTATION = gql`\n mutation updateStallholder($_id: ID!, $input: StallholderInputType!) {\n updateStallholder(_id: $_id, input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const DELETE_STALLHOLDER_MUTATION = gql`\n mutation deleteStallholder($_id: ID!) {\n deleteStallholder(_id: $_id)\n }\n`;\n\nexport const CREATE_STALLHOLDER_INFO_MUTATION = gql`\n mutation createStallholderInfo($input: StallholderInfoInputType!) {\n createStallholderInfo(input: $input) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n\nexport const UPDATE_STALLHOLDER_INFO_MUTATION = gql`\n mutation updateStallholderInfo($_id: ID!, $input: StallholderInfoInputType!) {\n updateStallholderInfo(_id: $_id, input: $input) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n StallholderInfoType,\n StallholderType,\n} from \"../../../types/stallholder\";\nimport {\n GET_STALLHOLDER,\n GET_STALLHOLDER_INFO,\n GET_STALLHOLDERS,\n GET_STALLHOLDERS_BY_REGION,\n SEARCH_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useGetStallholders = () => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n });\n\n const stallholders = data?.stallholders as StallholderType[];\n\n return {\n error,\n loading,\n refetch,\n stallholders,\n };\n};\n\nexport const useGetStallholder = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDER, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const stallholder = data?.stallholder as StallholderType;\n\n return { error, loading, refetch, stallholder };\n};\n\nexport const useGetStallholdersByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDERS_BY_REGION,\n {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n },\n );\n\n const stallholdersByRegion = data?.stallholdersByRegion as StallholderType[];\n\n return { error, loading, refetch, stallholdersByRegion };\n};\n\nexport const useSearchStallholders = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const stallholderSearch = data?.stallholderSearch as StallholderType[];\n\n return { error, loading, refetch, stallholderSearch };\n};\n\nexport const useGetStallholderInfo = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDER_INFO, {\n fetchPolicy: \"network-only\",\n skip: !stallholderId,\n variables: { stallholderId },\n });\n\n const stallholderInfo = data?.stallholderInfo as StallholderInfoType;\n\n return {\n error,\n loading,\n refetch,\n stallholderInfo,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { ChatType } from \"../../types/chat\";\nimport { NotificationType } from \"../../types/global\";\nimport { GET_CHAT_MESSAGE } from \"../subscriptions/chat\";\nimport {\n GET_GLOBAL_NOTIFICATION,\n GET_RELATION_NOTIFICATION,\n} from \"../subscriptions/notification\";\n\nexport const useGetNotification = () => {\n const {\n data: global,\n loading: loadingGlobal,\n error: errorGlobal,\n } = useSubscription(GET_GLOBAL_NOTIFICATION);\n\n const {\n data: relation,\n loading: loadingImportant,\n error: errorImportant,\n } = useSubscription(GET_RELATION_NOTIFICATION);\n\n const error = errorGlobal || errorImportant;\n const loading = loadingGlobal || loadingImportant;\n\n const notification = (relation?.getRelationNotification ||\n global?.getGlobalNotification) as NotificationType;\n\n return { error, loading, notification };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription(GET_CHAT_MESSAGE);\n\n const chat = data?.getChat as ChatType;\n\n return { chat, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nconst NOTIFICATION_FIELDS_FRAGMENT = gql`\n fragment NotificationFields on NotificationType {\n createdBy\n important\n message\n notifyUser\n resourceId\n resourceType\n }\n`;\n\nexport const GET_GLOBAL_NOTIFICATION = gql`\n subscription {\n getGlobalNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_NOTIFICATION = gql`\n subscription {\n getRelationNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER, GET_USER_FAVOURITES } from \"src/graphql/queries/user\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation(\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation(\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_USER_MUTATION = gql`\n mutation createUser($input: UserInputType!) {\n createUser(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($_id: ID!) {\n deleteUser(_id: $_id)\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketType, StallholderType } from \"src/types\";\n\nimport { UserType } from \"../../../types/user\";\nimport {\n GET_USER,\n GET_USER_FAVOURITES,\n GET_USER_MARKETS,\n GET_USER_NOTIFICATIONS,\n GET_USER_STALLHOLDER,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery(GET_USERS, {\n fetchPolicy: \"network-only\",\n });\n\n const users = data?.users as UserType[];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_USER, {\n variables: { id },\n });\n\n const user = data?.user as UserType;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const userMarkets = data?.userMarkets as MarketType[];\n\n return { error, loading, refetch, userMarkets };\n};\n\nexport const useGetUserStallholder = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_STALLHOLDER, {\n fetchPolicy: \"network-only\",\n });\n\n const userStallholder = data?.userStallholder as StallholderType;\n\n return { error, loading, refetch, userStallholder };\n};\n\nexport const useGetUserFavourites = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_FAVOURITES, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.userFavourites.markets as MarketType[];\n const stallholders = data?.userFavourites.stallholders as StallholderType[];\n\n const userFavourites = {\n markets,\n stallholders,\n };\n\n return { error, loading, refetch, userFavourites };\n};\n\nexport const useGetUserNotifications = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"network-only\",\n });\n\n const userNotifications = data?.userNotifications as boolean;\n\n return { error, loading, refetch, userNotifications };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_TESTER_MUTATION,\n DELETE_TESTER_MUTATION,\n UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/testers\";\n\nexport const useCreateTester = () => {\n const [createTester, { data, loading, error }] = useMutation(\n CREATE_TESTER_MUTATION,\n );\n\n return {\n createTester,\n data,\n error,\n loading,\n };\n};\n\nexport const useUpdateTester = () => {\n const [updateTester, { data, loading, error }] = useMutation(\n UPDATE_TESTER_MUTATION,\n );\n\n return {\n data,\n error,\n loading,\n updateTester,\n };\n};\n\nexport const useDeleteTester = () => {\n const [deleteTester, { loading, error }] = useMutation(\n DELETE_TESTER_MUTATION,\n );\n\n return { deleteTester, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { TESTER_FIELDS_FRAGMENT } from \"../queries/testers\";\n\nexport const CREATE_TESTER_MUTATION = gql`\n mutation createTester($input: TesterInputType!) {\n createTester(input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_TESTER_MUTATION = gql`\n mutation updateTester($_id: ID!, $input: TesterInputType!) {\n updateTester(_id: $_id, input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_TESTER_MUTATION = gql`\n mutation deleteTester($_id: ID!) {\n deleteTester(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const TESTER_FIELDS_FRAGMENT = gql`\n fragment TesterFields on TesterType {\n _id\n active\n createdAt\n email\n firstName\n lastName\n osType\n resourceType\n updatedAt\n }\n`;\n\nexport const GET_TESTERS = gql`\n query getTesters {\n testers {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTER = gql`\n query getTester($_id: ID!) {\n tester(_id: $_id) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_TESTER, GET_TESTERS } from \"src/graphql/queries/testers\";\nimport { TesterType } from \"src/types/testers\";\n\nexport const useGetTesters = () => {\n const { data, loading, error, refetch } = useQuery(GET_TESTERS);\n\n const testers = data?.testers as TesterType[];\n return {\n error,\n loading,\n refetch,\n testers,\n };\n};\n\nexport const useGetTester = (_id: string) => {\n const { data, loading, error, refetch } = useQuery(GET_TESTER, {\n skip: !_id,\n variables: { _id },\n });\n\n const tester = data?.tester as TesterType;\n\n return { error, loading, refetch, tester };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n message\n }\n }\n`;\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name of the Stallholder *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description of the Stallholder *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const stallholderMultiLocation: FormField = {\n helperText:\n \"Usefull when you are not only selling products on Markets but also providing services at other locations.\",\n name: \"multiLocation\",\n placeholder: \"Enable multi location\",\n};\n\nexport const stallholderFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const stallholderStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const stallholderEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const stallholderLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nconst availableCityTypes = [\n \"Auckland\",\n \"Christchurch\",\n \"Hamilton\",\n \"Wellington\",\n];\n\nconst nzRegionsWithCities = [\n {\n cities: [\"Auckland\"],\n region: \"Auckland\",\n },\n {\n cities: [\"Tauranga\", \"Whakatāne\", \"Rotorua\"],\n region: \"Bay of Plenty\",\n },\n {\n cities: [\"Christchurch\", \"Timaru\", \"Ashburton\"],\n region: \"Canterbury\",\n },\n {\n cities: [\"Gisborne\"],\n region: \"Gisborne\",\n },\n {\n cities: [\"Napier\", \"Hastings\"],\n region: \"Hawke's Bay\",\n },\n {\n cities: [\"Palmerston North\", \"Whanganui\", \"Levin\"],\n region: \"Manawatū-Whanganui\",\n },\n {\n cities: [\"Blenheim\", \"Picton\"],\n region: \"Marlborough\",\n },\n {\n cities: [\"Nelson\"],\n region: \"Nelson Tasman\",\n },\n {\n cities: [\"Whangārei\", \"Kerikeri\", \"Kaitaia\"],\n region: \"Northland\",\n },\n {\n cities: [\"Dunedin\", \"Queenstown\"],\n region: \"Otago\",\n },\n {\n cities: [\"Invercargill\", \"Gore\"],\n region: \"Southland\",\n },\n {\n cities: [\"New Plymouth\", \"Hāwera\"],\n region: \"Taranaki\",\n },\n {\n cities: [\"Hamilton\", \"Taupō\", \"Cambridge\"],\n region: \"Waikato\",\n },\n {\n cities: [\"Wellington\", \"Lower Hutt\", \"Upper Hutt\", \"Porirua\"],\n region: \"Wellington\",\n },\n];\n\nexport const availableCityOptions: OptionItem[] =\n mapArrayToOptions(availableCityTypes);\n","import { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const stallholderGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const stallholderTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const stallholderPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const stallholderStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallSize.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallSize.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const stallholderPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const stallholderPaymentMethod: FormField = {\n helperText: \"Select payment method\",\n name: \"paymentMethod\",\n placeholder: \"Payment Method type\",\n};\n\nexport const stallholderProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"producedIn\",\n placeholder: \"Produced type\",\n};\n\nconst packagingTypes = [\n \"Biodegradable\",\n \"Compostable\",\n \"Recyclable\",\n \"Reusable\",\n \"Single-use\",\n \"Glass\",\n \"Paper\",\n \"Plastic\",\n \"Wood\",\n \"Other\",\n];\n\nconst producedIngTypes = [\n \"Commercial Kitchen\",\n \"Home Premises\",\n \"Factory\",\n \"Farm\",\n \"Other\",\n];\n\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const marketBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Market *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText: \"Name of the Provider *\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Market *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const marketStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Market *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Market *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const marketEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Market *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Market *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { FormField } from \"../../types/global\";\nimport { Requirement, StallType } from \"../../types/market\";\n\nexport const marketInfo: FormField[] = [\n {\n helperText: \"Application Deadline *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText: \"Payment Due Hours *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack In Time *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n {\n helperText: \"Pack Out Time *\",\n keyboardType: \"number-pad\",\n name: \"packOutTime\",\n placeholder: \"Pack Out Time (in hours)\",\n },\n];\n\nexport const marketInfoPaymentInfo: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n {\n helperText: \"Link to payment target *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Link to payment target\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nexport const stallTypeOptions: StallType[] = [\n {\n label: \"3x3m tent site\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"2x2m mini stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"1.8m table only\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Food truck site\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Wall-based vendor\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Workshop/seating area\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Shared table space\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Corner stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Double stall (6x3m)\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Inside hall stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Outdoor open area\",\n price: 0,\n stallCapacity: 0,\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const loginFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n];\n\nexport const resetPasswordFields: FormField[] = [\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n\nexport const validateVerificationTokenFields: FormField[] = [\n {\n disabled: true,\n helperText: \"Your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter the Verification code sent to your email\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const profileFields: FormField[] = [\n {\n disabled: true,\n helperText: \"Email cannot be changed\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { Category } from \"../types/global\";\n\nexport const availableCategories: Category[] = [\n {\n id: \"food-drinks\",\n name: \"Food & Drinks\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n items: [\n \"Fruits & Vegetables\",\n \"Meat & Seafood\",\n \"Dairy & Eggs\",\n \"Bakery & Desserts\",\n \"Spices & Condiments\",\n \"Packaged & Specialty Foods\",\n \"Other\",\n ],\n name: \"Fresh Food & Groceries\",\n },\n {\n id: \"beverages-specialty-drinks\",\n items: [\n \"Fresh Juices & Smoothies\",\n \"Coffee & Teas\",\n \"Dairy & Plant-Based Drinks\",\n \"Alcoholic Beverages\",\n \"Other\",\n ],\n name: \"Beverages & Specialty Drinks\",\n },\n {\n id: \"prepared-street-foods\",\n items: [\n \"Local & International Specialties\",\n \"Vegan & Vegetarian Options\",\n \"Candies & Sweets\",\n \"BBQ & Grilled Foods\",\n \"Other\",\n ],\n name: \"Prepared & Street Foods\",\n },\n ],\n },\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n subcategories: [\n {\n id: \"home-lifestyle\",\n items: [\n \"Textiles & Home Decor\",\n \"Pottery & Ceramics\",\n \"Woodwork & Carving\",\n \"Handwoven Baskets & Bags\",\n \"Other\",\n ],\n name: \"Home & Lifestyle\",\n },\n {\n id: \"fashion-accessories\",\n items: [\n \"Leather & Hand-Stitched Items\",\n \"Handcrafted Jewelry & Accessories\",\n \"Traditional & Cultural Clothing\",\n \"Other\",\n ],\n name: \"Fashion & Accessories\",\n },\n {\n id: \"eco-friendly-products\",\n items: [\n \"Recycled Goods\",\n \"Eco-Packaging\",\n \"Sustainable Fashion & Accessories\",\n \"Other\",\n ],\n name: \"Eco-Friendly & Sustainable Products\",\n },\n {\n id: \"arts-crafts\",\n items: [\"Art & Crafts\", \"Traditional & Cultural Items\", \"Other\"],\n name: \"Arts & Crafts\",\n },\n ],\n },\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n subcategories: [\n {\n id: \"casual-modern-wear\",\n items: [\n \"Modern & Casual Clothes\",\n \"Jackets & Outerwear\",\n \"Baby & Kids Clothing\",\n \"Scarves & Shawls\",\n \"Second-Hand Designer Clothes\",\n \"Underwear\",\n \"Other\",\n ],\n name: \"Casual & Modern Wear\",\n },\n {\n id: \"footwear\",\n items: [\n \"Everyday Shoes\",\n \"Formal Shoes\",\n \"Handmade & Leather Shoes\",\n \"Other\",\n ],\n name: \"Footwear\",\n },\n {\n id: \"bags-accessories\",\n items: [\n \"Bags, Belts, Hats, Sunglasses, Watches\",\n \"Retro and Vintage Accessories\",\n \"Other\",\n ],\n name: \"Bags & Accessories\",\n },\n {\n id: \"luxury-designer-brands\",\n items: [\n \"Luxury Clothing\",\n \"Designer Shoes\",\n \"Exclusive Accessories\",\n \"Other\",\n ],\n name: \"Luxury & Designer Brands\",\n },\n ],\n },\n {\n id: \"home-garden-household\",\n name: \"Home, Garden & Household Goods\",\n subcategories: [\n {\n id: \"home-essentials-kitchenware\",\n items: [\n \"Kitchenware & Dining\",\n \"Sustainable & Eco-Friendly Items\",\n \"Handmade & Artisan Home Goods\",\n \"Other\",\n ],\n name: \"Home Essentials & Kitchenware\",\n },\n {\n id: \"furniture-decor-organization\",\n items: [\n \"Furniture & Home Decor\",\n \"Textiles & Bedding\",\n \"Storage & Organization\",\n \"Other\",\n ],\n name: \"Furniture, Decor & Organization\",\n },\n {\n id: \"outdoor-cleaning-essentials\",\n items: [\n \"Garden, Plants & Decorations\",\n \"DIY & Home Improvement\",\n \"Cleaning Supplies & Household Essentials\",\n \"Other\",\n ],\n name: \"Outdoor & Cleaning Essentials\",\n },\n ],\n },\n {\n id: \"toys-pets\",\n name: \"Toys & Pets\",\n subcategories: [\n {\n id: \"handmade-eco-friendly-kids\",\n items: [\"Handmade & Local Toys\", \"Eco-Friendly Kids Products\", \"Other\"],\n name: \"Handmade & Eco-Friendly Kids Products\",\n },\n {\n id: \"toys-all-ages\",\n items: [\n \"Classic & Interactive Toys\",\n \"Building Blocks & Board Games\",\n \"Balloons & Party Accessories\",\n \"Other\",\n ],\n name: \"Toys for All Ages\",\n },\n {\n id: \"pet-products-animal-goods\",\n items: [\n \"Natural Pet Foods\",\n \"Handmade Pet Accessories\",\n \"Livestock & Farm Supplies\",\n \"Other\",\n ],\n name: \"Pet Products & Animal Goods\",\n },\n ],\n },\n {\n id: \"health-wellness-selfcare\",\n name: \"Health, Wellness & Self-Care\",\n subcategories: [\n {\n id: \"natural-remedies-supplements\",\n items: [\n \"Vitamins, Minerals & Herbal Remedies\",\n \"Superfoods, Probiotics & Detox Teas\",\n \"Other\",\n ],\n name: \"Natural Remedies & Supplements\",\n },\n {\n id: \"organic-natural-products\",\n items: [\n \"Organic Produce, Honey, Nuts & Seeds\",\n \"Gluten-Free & Specialty Items\",\n \"Other\",\n ],\n name: \"Organic & Natural Products\",\n },\n {\n id: \"fitness-sports-nutrition\",\n items: [\"Protein Powders & Bars\", \"Sports & Energy Drinks\", \"Other\"],\n name: \"Fitness & Sports Nutrition\",\n },\n {\n id: \"mental-wellbeing-relaxation\",\n items: [\n \"Yoga, Meditation & Stress-Relief Tools\",\n \"Massage & Muscle Relaxers\",\n \"Motivational Books & Tools\",\n \"Other\",\n ],\n name: \"Mental Wellbeing & Relaxation\",\n },\n ],\n },\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n subcategories: [\n {\n id: \"electronic-devices-accessories\",\n items: [\n \"Refurbished & Used Electronics\",\n \"Smartphones & Gadgets\",\n \"Computers & Gaming Gear\",\n \"Photography & Audio Equipment\",\n \"Other\",\n ],\n name: \"Electronic Devices & Accessories\",\n },\n ],\n },\n {\n id: \"antiques-collectibles\",\n name: \"Antiques & Collectibles\",\n subcategories: [\n {\n id: \"antiques-vintage-furniture\",\n items: [\n \"Old Clocks, Paintings & Sculptures\",\n \"Coins, Stamps & Rare Books\",\n \"Antique & Vintage Furniture & Home Decor\",\n \"Other\",\n ],\n name: \"Antiques & Vintage Furniture\",\n },\n {\n id: \"historical-rare-items\",\n items: [\n \"War Relics & Military Medals\",\n \"Limited Edition Artworks & Memorabilia\",\n \"Other\",\n ],\n name: \"Historical & Rare Items\",\n },\n {\n id: \"collectible-toys-games\",\n items: [\n \"Limited Edition Figures & Retro Board Games\",\n \"Pop Culture & Sports Memorabilia\",\n \"Other\",\n ],\n name: \"Collectible Toys & Games\",\n },\n ],\n },\n];\n\nexport const categoryColors: Record<string, string> = {\n \"antiques-collectibles\": \"#DE630A\",\n \"clothing-fashion\": \"#6A08C5\",\n \"electronics-technology\": \"#0303BE\",\n \"food-drinks\": \"#FF004D\",\n \"handmade-local-products\": \"#8E4827\",\n \"health-wellness-selfcare\": \"#7DFB03\",\n \"home-garden-household\": \"#006400\",\n \"toys-pets\": \"#3357FF\",\n};\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nexport const testersFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n];\n","import { FormField } from \"src/types\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your message\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n"],"mappings":"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","names":["EnumInviteStatus","EnumPaymentMethod","EnumResourceType","EnumOSType","EnumRelationResource","EnumNotification","EnumResourceTypeIcon","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","EnumSocialMedia","dayjs","customParseFormat","isSameOrAfter","dayjs","isSameOrAfter","customParseFormat","yup","yup","yup","yup","yup","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","yupResolver","React","useForm","yup","defaultValues","useForm","yupResolver","React","gql","gql","useMutation","gql","gql","gql","useMutation","useMutation","gql","gql","gql","gql","gql","gql","gql","gql","useMutation","useQuery","useQuery","marketInfo","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","gql","gql","gql","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation"]}
1
+ {"version":3,"sources":["../src/utils/index.ts","../src/enums/index.ts","../src/hooks/useLocationSearch.ts","../src/hooks/stallholder/useStallholderForm.ts","../src/yupSchema/global.ts","../src/yupSchema/market.ts","../src/yupSchema/stallholder.ts","../src/yupSchema/user.ts","../src/yupSchema/auth.ts","../src/yupSchema/testers.ts","../src/hooks/utils.ts","../src/hooks/stallholder/useStallholderInfoForm.ts","../src/hooks/market/useMarketForm.ts","../src/hooks/market/useMarketInfoForm.ts","../src/hooks/useUserForm.ts","../src/hooks/auth/useLoginForm.ts","../src/hooks/auth/useRegisterForm.ts","../src/hooks/auth/useRequestPasswordResetForm.ts","../src/hooks/auth/useValidateVerificationTokenForm.ts","../src/hooks/auth/useResetPasswordForm.ts","../src/hooks/useTestersForm.ts","../src/hooks/useContactUsForm.ts","../src/yupSchema/contactUs.ts","../src/graphql/hooks/auth.ts","../src/graphql/mutations/auth.ts","../src/graphql/queries/global.ts","../src/graphql/hooks/chat/hooksMutation.ts","../src/graphql/mutations/chat.ts","../src/graphql/queries/chat.ts","../src/graphql/hooks/chat/hooksQuery.ts","../src/graphql/hooks/market/hooksMutation.ts","../src/graphql/mutations/market.ts","../src/graphql/queries/market.ts","../src/graphql/queries/user.ts","../src/graphql/queries/stallholder.ts","../src/graphql/hooks/market/hooksQuery.ts","../src/graphql/hooks/poster.ts","../src/graphql/mutations/poster.ts","../src/graphql/hooks/relation/hooksMutation.ts","../src/graphql/mutations/relation.ts","../src/graphql/queries/relation.ts","../src/graphql/hooks/relation/hooksQuery.ts","../src/graphql/hooks/stallholder/hooksMutation.ts","../src/graphql/mutations/stallholder.ts","../src/graphql/hooks/stallholder/hooksQuery.ts","../src/graphql/hooks/subscriptions.ts","../src/graphql/subscriptions/chat.ts","../src/graphql/subscriptions/notification.ts","../src/graphql/hooks/user/hooksMutation.ts","../src/graphql/mutations/user.ts","../src/graphql/hooks/user/hooksQuery.ts","../src/graphql/hooks/testers/hooksMutation.ts","../src/graphql/mutations/testers.ts","../src/graphql/queries/testers.ts","../src/graphql/hooks/testers/hooksQuery.ts","../src/graphql/hooks/contactUs.ts","../src/graphql/mutations/contactUs.ts","../src/formFields/stallholder/stallholder.ts","../src/formFields/stallholder/stallholderInfo.ts","../src/formFields/market/market.ts","../src/formFields/market/marketInfo.ts","../src/formFields/auth.ts","../src/formFields/user.ts","../src/formFields/categories.ts","../src/formFields/socialMedia.ts","../src/formFields/testers.ts","../src/formFields/contactUs.ts","../src/storage/index.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport timezone from \"dayjs/plugin/timezone.js\";\nimport utc from \"dayjs/plugin/utc.js\";\n\nimport { EnumInviteStatus, EnumPaymentMethod, EnumRegions } from \"../enums\";\nimport { OptionItem, Region } from \"../types/global\";\n\nexport const dateFormat = \"DD-MM-YYYY\";\nexport const timeFormat = \"HH:mm\";\n\n// Enable custom format parsing\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(isSameOrAfter);\n\ntype DateFormat = \"date\" | \"time\" | \"datetime\";\n\n/**\n * Format a date string to a more readable format.\n * @param dateStr - the date string\n * @param timeStr - optional time string\n * @param display - 'date' | 'time' | 'datetime'\n * @returns formatted string based on display option\n */\nexport const formatDate = (\n dateStr: string,\n display: DateFormat = \"datetime\",\n timeStr?: string,\n) => {\n // Combine date and time into a single string if time is provided\n const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;\n\n // Parse with formats\n const dateTime = timeStr\n ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`)\n : dayjs(dateStr, dateFormat);\n\n // Format parts\n const formattedDate = dateTime.format(\"dddd, D MMMM, YYYY\");\n const formattedTime = dateTime.format(\"h:mm a\");\n\n // Return based on display option\n switch (display) {\n case \"date\":\n return formattedDate;\n case \"time\":\n return formattedTime;\n case \"datetime\":\n return `${formattedDate} at ${formattedTime}`;\n default:\n return formattedDate;\n }\n};\n\nexport const getCurrentAndFutureDates = <\n T extends { startDate: string; startTime: string },\n>(\n dates: T[],\n): T[] => {\n const today = dayjs().startOf(\"day\");\n return dates.filter((dateObj) => {\n const dateTime = dayjs(dateObj.startDate, dateFormat);\n return dateTime.isSameOrAfter(today);\n });\n};\n\nexport const isFutureDatesBeforeThreshold = (\n date: {\n startDate: string;\n startTime: string;\n },\n minHoursFromNow: number,\n): boolean => {\n const threshold = minHoursFromNow\n ? dayjs().add(minHoursFromNow, \"hour\")\n : dayjs().startOf(\"day\");\n\n const dateTime = dayjs(\n `${date.startDate} ${date.startTime}`,\n `${dateFormat} ${timeFormat}`,\n );\n\n return dateTime.isSameOrAfter(threshold);\n};\n\nexport const formatTimestamp = (timestamp: string) => {\n const formattedDate = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(dateFormat);\n\n const formattedTime = dayjs(timestamp)\n .tz(\"Pacific/Auckland\")\n .format(timeFormat);\n\n return formatDate(formattedDate, \"date\");\n};\n\nexport const defaultRegion: Region = {\n latitude: -36.8624942, // Default: New Zealand\n latitudeDelta: 5.0,\n longitude: 174.7450494,\n longitudeDelta: 5.0,\n};\n\n/**\n * Function to remove __typename from an object or array of objects.\n * @param obj - The object or array to clean.\n * @returns - The cleaned object or array.\n */\nexport const removeTypename = (obj: any): any => {\n if (Array.isArray(obj)) {\n return obj.map((item) => removeTypename(item)); // Recursively clean arrays\n } else if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj; // Remove __typename\n return Object.keys(cleanedObj).reduce(\n (acc: { [key: string]: any }, key) => {\n acc[key] = removeTypename(cleanedObj[key]); // Recursively clean nested objects\n return acc;\n },\n {},\n );\n }\n return obj; // Return value as-is if it's not an object/array\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n return text.length > maxLength ? text.substring(0, maxLength) + \"...\" : text;\n};\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n * @param items - The array of strings to convert.\n * @returns - The converted array of objects.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item.replace(/_/g, \" \"),\n value: item.replace(/\\s+/g, \"_\").toLowerCase(),\n }));\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(EnumInviteStatus)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\n/**\n * Sort an array of date strings by their proximity to the current date.\n * @param dates - The array of date strings to sort.\n * @returns - The sorted array of date strings.\n */\nexport function sortDatesChronologically<\n T extends { startDate: string; startTime: string },\n>(dates: T[]): T[] {\n if (!dates || !dates.length) {\n return [];\n }\n\n return [...dates].sort((a, b) => {\n const dateTimeFormat = `${dateFormat} ${timeFormat}`;\n const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);\n const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);\n return dateA.valueOf() - dateB.valueOf(); // chronological order\n });\n}\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n if (!url.startsWith(\"http://\") && !url.startsWith(\"https://\")) {\n return `https://${url}`;\n }\n return url;\n}\n","export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n WAITING = \"Waiting\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumResourceType {\n MARKET = \"market\",\n STALLHOLDER = \"stallholder\",\n}\n\nexport enum EnumOSType {\n ANDROID = \"Android\",\n IOS = \"iOS\",\n}\n\nexport enum EnumRelationResource {\n MARKET_INVITE_STALLHOLDER = \"market_invite_stallholder\",\n STALLHOLDER_APPLICATION_TO_MARKET = \"stallholder_application_to_market\",\n}\n\nexport enum EnumNotification {\n CREATED_MARKET = \"created_market\",\n CREATED_STALLHOLDER = \"created_stallholder\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n MARKET_INVITE_STALLHOLDER = EnumRelationResource.MARKET_INVITE_STALLHOLDER,\n STALLHOLDER_APPLICATION_TO_MARKET = EnumRelationResource.STALLHOLDER_APPLICATION_TO_MARKET,\n}\n\nexport enum EnumResourceTypeIcon {\n MARKET = \"compass\",\n STALLHOLDER = \"store\",\n}\n\nexport enum EnumRegions {\n Auckland = \"Auckland\",\n BayOfPlenty = \"Bay of Plenty\",\n Canterbury = \"Canterbury\",\n Gisborne = \"Gisborne\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n Marlborough = \"Marlborough\",\n Nelson = \"Nelson\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n ENTERPRISE_MARKET = \"enterprise_market\",\n ENTERPRISE_STALLHOLDER = \"enterprise_stallholder\",\n PRO_MARKET = \"pro_market\",\n PRO_STALLHOLDER = \"pro_stallholder\",\n STANDARD_MARKET = \"standard_market\",\n STANDARD_STALLHOLDER = \"standard_stallholder\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n CUSTOMER = \"customer\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n","/* eslint-disable camelcase */\nimport { LocationType } from \"../types/global\";\n\nexport interface PlacePrediction {\n place_id: string;\n description: string;\n}\n\ninterface PlaceDetails {\n address_components: {\n long_name: string;\n short_name: string;\n types: string[];\n }[];\n formatted_address: string;\n geometry: {\n location: {\n lat: number;\n lng: number;\n };\n };\n url: string;\n}\n\ninterface UseLocation {\n getPredictions: (text: string) => Promise<PlacePrediction[] | undefined>;\n getPlaceDetails: (placeId: string) => Promise<LocationType | undefined>;\n}\n\n/** Handles API request errors */\nconst handleApiError = (error: unknown, message: string) => {\n console.error(message, error);\n};\n\n/**\n * Custom hook to manage location search functionality.\n *\n * @returns {UseLocation} - The functions to get predictions and place details.\n */\nexport const useLocationSearch = (googleApi: string): UseLocation => {\n const getPredictions = async (\n text: string,\n ): Promise<PlacePrediction[] | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/autocomplete/json?input=${text}&components=country:nz&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.predictions;\n } catch (error) {\n console.error(\"Error fetching predictions:\", error);\n handleApiError(error, \"Failed to fetch address predictions.\");\n }\n };\n\n const getPlaceDetails = async (\n placeId: string,\n ): Promise<LocationType | undefined> => {\n try {\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/place/details/json?place_id=${placeId}&key=${googleApi}`,\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = (await response.json()) as { result: PlaceDetails };\n const { result } = data;\n const { lat, lng } = result.geometry.location;\n const { address_components, formatted_address } = result;\n\n const address = address_components.reduce((acc, item) => {\n if (item.types.includes(\"street_number\")) {\n return { ...acc, streetNumber: item.long_name };\n }\n if (item.types.includes(\"route\")) {\n return { ...acc, streetName: item.long_name };\n }\n if (item.types.includes(\"locality\")) {\n return { ...acc, city: item.long_name };\n }\n if (item.types.includes(\"administrative_area_level_1\")) {\n return { ...acc, region: item.long_name };\n }\n if (item.types.includes(\"country\")) {\n return { ...acc, country: item.long_name };\n }\n return acc;\n }, {} as LocationType);\n\n const newLocation = {\n city: address.city.toLowerCase(),\n coordinates: [lng, lat], // [longitude, latitude]\n country: address.country,\n fullAddress: formatted_address,\n latitude: lat,\n longitude: lng,\n region: address.region.replace(/ Region$/, \"\"), // Remove \" Region\" suffix\n type: \"Point\" as const, // Mongoose GeoJSON type\n };\n\n return newLocation;\n } catch (error) {\n handleApiError(error, \"Failed to fetch place details.\");\n }\n };\n\n return {\n getPlaceDetails,\n getPredictions,\n };\n};\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderFormData,\n StallholderFormData,\n} from \"../../types/stallholder\";\nimport { stallHolderSchema } from \"../../yupSchema\";\nimport {\n defaultStallholderFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder form state and validation.\n *\n * @param {StallholderFormData} data - The initial form data.\n * @returns {CreateStallholderFormData} - The form methods and state.\n */\nexport function useStallholderForm(\n data?: StallholderFormData,\n): CreateStallholderFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderFormData>({\n defaultValues: defaultStallholderFormValues,\n resolver: yupResolver(stallHolderSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n categories: data.categories,\n locations: data.locations,\n multiLocation: data.multiLocation,\n products: data.products,\n specialities: data.specialities,\n });\n } else {\n reset(defaultStallholderFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n socialMedia,\n region,\n specialities,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n categories,\n cover,\n coverUpload,\n description,\n images,\n imagesUpload,\n locations,\n logo,\n logoUpload,\n multiLocation,\n name,\n products,\n promoCode,\n region,\n socialMedia,\n specialities,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","/* eslint-disable sort-keys */\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter.js\";\nimport * as yup from \"yup\";\nimport { TestFunction } from \"yup\";\n\nimport { EnumSocialMedia } from \"src/enums\";\n\nimport { dateFormat, normalizeUrl, timeFormat } from \"../utils\";\n\ntype NoLeadingZerosOptions = {\n allowDecimal?: boolean;\n};\n\nexport const normalizedUrlTransform = () =>\n yup\n .string()\n .trim()\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n )\n .transform((value) =>\n typeof value === \"string\" ? normalizeUrl(value) : value,\n );\n\nexport const noLeadingZeros = (\n fieldName: string,\n options: NoLeadingZerosOptions = {},\n): TestFunction<number | undefined> => {\n return function (value, context) {\n const original = context.originalValue?.toString() ?? \"\";\n\n const regex = options.allowDecimal\n ? /^0\\d+(\\.\\d+)?$/ // e.g. \"03\", \"03.5\", \"0002.75\"\n : /^0\\d+$/; // e.g. \"01\", \"0001\"\n\n if (regex.test(original)) {\n return context.createError({\n message: `${fieldName} must not have leading zeros`,\n });\n }\n\n return true;\n };\n};\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(customParseFormat);\n\nconst now = dayjs(); // Current date and time\n\n// DATE AND TIME SCHEMA\nexport const endDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"End date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const startDateNotInPastTest = yup\n .string()\n .test(\"not-in-past\", \"Start date cannot be in the past\", (value) => {\n return value\n ? dayjs(value, dateFormat, true).isSameOrAfter(now, \"day\")\n : false;\n });\n\nexport const endDateAfterStartDateTest = yup\n .string()\n .test(\n \"end-after-start\",\n \"End date cannot be before start date\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n return dayjs(value, dateFormat, true).isSameOrAfter(\n dayjs(startDate, dateFormat, true),\n \"day\",\n );\n },\n );\n\nexport const endTimeMustBeAfterStartTimeTest = yup\n .string()\n .test(\n \"valid-end-time\",\n \"End time must be after start time\",\n function (value) {\n const { startDate, endDate, startTime } = this.parent;\n if (!startDate || !endDate || !startTime || !value) return false;\n\n const startDateTime = dayjs(\n `${startDate} ${startTime}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n const endDateTime = dayjs(\n `${endDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n\n return endDateTime.isAfter(startDateTime);\n },\n );\n\nexport const startTimeCannotBeInPastTest = yup\n .string()\n .test(\n \"valid-start-time\",\n \"Start time cannot be in the past\",\n function (value) {\n const { startDate } = this.parent;\n if (!startDate || !value) return false;\n const startDateTime = dayjs(\n `${startDate} ${value}`,\n `${dateFormat} ${timeFormat}`,\n true,\n );\n return startDateTime.isSameOrAfter(now);\n },\n );\n\nexport const dateTimeSchema = yup.object().shape({\n endDate: yup\n .string()\n .label(\"End Date\")\n .concat(endDateNotInPastTest)\n .concat(endDateAfterStartDateTest)\n .required(\"End date is required\"),\n endTime: yup\n .string()\n .label(\"End Time\")\n .concat(endTimeMustBeAfterStartTimeTest)\n .required(\"End time is required\"),\n startDate: yup\n .string()\n .label(\"Start Date\")\n .concat(startDateNotInPastTest)\n .required(\"Start date is required\"),\n startTime: yup\n .string()\n .label(\"Start Time\")\n .concat(startTimeCannotBeInPastTest)\n .required(\"Start time is required\"),\n});\n\nconst stallTypesSchema = yup.object({\n label: yup\n .string()\n .trim()\n .label(\"Stall Label\")\n .required(\"Stall label is required\"),\n price: yup\n .number()\n .label(\"Stall Price\")\n .min(0.1, \"Stall price must be at least 0.1\")\n .required(\"Stall price is required\")\n .test(\n \"no-leading-zeros\",\n \"\",\n noLeadingZeros(\"Stall price\", { allowDecimal: true }),\n ),\n stallCapacity: yup\n .number()\n .typeError(\"Stall capacity must be a number\")\n .min(1, \"Stall capacity must be at least 1\")\n .integer(\"Stall capacity must be a whole number\")\n .required(\"Stall capacity is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Stall capacity\")),\n});\n\nexport const dateTimeWithPriceSchema = dateTimeSchema.shape({\n stallTypes: yup\n .array()\n .of(stallTypesSchema)\n .min(1, \"At least one stall type is required\")\n .required(\"Stall types are required\"),\n});\n\nexport const locationSchema = yup.object().shape({\n city: yup.string().label(\"City\").required(\"City is required\"),\n coordinates: yup\n .array()\n .of(yup.number().required(\"Coordinates must be numbers\"))\n .length(\n 2,\n \"Coordinates must contain exactly two numbers (longitude, latitude)\",\n )\n .required(\"Coordinates are required\"),\n country: yup.string().label(\"Country\").required(\"Country is required\"),\n fullAddress: yup.string().label(\"Address\").required(\"Address is required\"),\n latitude: yup.number().label(\"Latitude\").required(\"Latitude is required\"),\n longitude: yup.number().label(\"Longitude\").required(\"Longitude is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n type: yup\n .string()\n .oneOf([\"Point\"], \"Type must be 'Point'\")\n .default(\"Point\")\n .required(\"Type is required\"),\n});\n\n// ✅ Reusable Email Schema\nexport const emailSchema = yup\n .string()\n .email(\"Invalid email address\")\n .required(\"Email is required\")\n .label(\"Email\")\n .transform((value) =>\n typeof value === \"string\" ? value.toLowerCase() : value,\n );\n\n// ✅ Reusable Password Schema\nexport const passwordSchema = yup\n .string()\n .trim()\n .label(\"Password\")\n .min(8, \"Password must be at least 8 characters long\")\n .required(\"Password is required\");\n\nconst socialMediaSchema = yup.object({\n name: yup\n .mixed<EnumSocialMedia>()\n .oneOf(Object.values(EnumSocialMedia))\n .label(\"Social Media Name\")\n .optional(),\n link: yup.string().when(\"name\", {\n is: (name: EnumSocialMedia | undefined) => !!name, // If name has a value\n then: () =>\n normalizedUrlTransform()\n .required(\"Link is required when name is set\")\n .url(\"Link must be a valid URL\")\n .label(\"Social Media Link\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const globalResourceSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n cover: yup.object({\n source: yup.string().label(\"Cover\").required(\"Cover is required\"),\n title: yup.string().label(\"Cover Title\").required(\"Cover is required\"),\n }),\n description: yup\n .string()\n .label(\"Description\")\n .trim()\n .min(3)\n .required(\"Description is required\"),\n name: yup.string().label(\"Name\").trim().min(3).required(\"Name is required\"),\n region: yup.string().label(\"Region\").required(\"Region is required\"),\n socialMedia: yup.array().of(socialMediaSchema).nullable().optional(),\n});\n","/* eslint-disable sort-keys */\nimport * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport {\n dateTimeSchema,\n dateTimeWithPriceSchema,\n globalResourceSchema,\n locationSchema,\n noLeadingZeros,\n normalizedUrlTransform,\n} from \"./global\";\n\nconst nzBankAccountRegex = /^\\d{2}-\\d{4}-\\d{7}-\\d{2}$/;\n\nexport const marketSchema = globalResourceSchema.shape({\n dateTime: yup.array().of(dateTimeSchema).required(\"DateTime is required\"),\n location: locationSchema,\n provider: yup\n .string()\n .label(\"Provider\")\n .trim()\n .min(3)\n .required(\"Provider is required\"),\n tags: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Tags are required\")\n .required(\"Tags are required\"),\n});\n\nconst paymentInfoSchema = yup.object({\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n\n accountHolderName: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account holder name is required for bank transfer\")\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n accountNumber: yup.string().when(\"paymentMethod\", {\n is: EnumPaymentMethod.BANK_TRANSFER,\n then: (schema) =>\n schema\n .required(\"Account number is required for bank transfer\")\n .matches(\n nzBankAccountRegex,\n \"Account number must be in format: XX-XXXX-XXXXXXX-XX\",\n )\n .trim(),\n otherwise: (schema) => schema.notRequired(),\n }),\n\n link: yup.string().when(\"paymentMethod\", {\n is: (val: EnumPaymentMethod) => val !== EnumPaymentMethod.BANK_TRANSFER,\n then: () =>\n normalizedUrlTransform()\n .url(\"Link must be a valid URL\")\n .required(\"Link is required for PayPal/Stripe\"),\n otherwise: (schema) => schema.notRequired(),\n }),\n});\n\nexport const marketInfoSchema = yup.object().shape({\n applicationDeadlineHours: yup\n .number()\n .nullable()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value))\n .typeError(\"Application deadline hours must be a number\")\n .min(1, \"Application deadline hours must be at least 1\")\n .required(\"Application deadline hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Application deadline hours\")),\n dateTime: yup\n .array()\n .of(dateTimeWithPriceSchema)\n .required(\"DateTime is required\"),\n marketId: yup.string().trim().required(\"Market ID is required\"),\n packInTime: yup\n .number()\n .typeError(\"Pack in time must be a number\")\n .min(1, \"Pack in time must be at least 1\")\n .required(\"Pack in time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack in time\")),\n packOutTime: yup\n .number()\n .typeError(\"Pack out time must be a number\")\n .min(1, \"Pack out time must be at least 1\")\n .required(\"Pack out time is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Pack out time\")),\n paymentDueHours: yup\n .number()\n .typeError(\"Payment due hours must be a number\")\n .min(1, \"Payment due hours must be at least 1\")\n .required(\"Payment due hours is required\")\n .test(\"no-leading-zeros\", \"\", noLeadingZeros(\"Payment due hours\")),\n paymentInfo: yup\n .array()\n .of(paymentInfoSchema)\n .min(1, \"At least one payment info is required\")\n .required(\"Payment info is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumPaymentMethod } from \"../enums\";\n\nimport { globalResourceSchema } from \"./global\";\n\nexport const stallHolderSchema = globalResourceSchema.shape({\n categories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().required(\"Category id is required\"),\n name: yup.string().required(\"Category name is required\"),\n subcategories: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().defined(),\n items: yup.array().of(yup.string().defined()).nullable(),\n name: yup.string().defined(),\n }),\n )\n .nullable(),\n }),\n )\n .min(1, \"Category list must contain at least one item\")\n .required(\"Categories are required\"),\n multiLocation: yup.boolean().required(\"Multi location is required\"),\n products: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Product list must contain at least one item\")\n .required(\"Products are required\"),\n});\n\nexport const stallholderInfoSchema = yup.object().shape({\n electricity: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Electricity requirement is required\"),\n }),\n foodSafetyGradeFiles: yup.array().of(yup.string().defined()).nullable(),\n foodSafetyGradeFilesUpload: yup.array().of(yup.string().defined()).nullable(),\n gazebo: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Gazebo requirement is required\"),\n }),\n packaging: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Packaging list must contain at least one item\")\n .required(\"Packaging is required\"),\n paymentMethod: yup\n .mixed<EnumPaymentMethod>()\n .oneOf(Object.values(EnumPaymentMethod))\n .required(\"Please select a Payment method\"),\n priceRange: yup.object().shape({\n max: yup\n .number()\n .min(1)\n .required(\"Max price is required\")\n .test(\n \"is-greater\",\n \"Max price must be greater than or equal to Min price\",\n function (max) {\n const { min } = this.parent;\n return max >= min;\n },\n ),\n min: yup.number().min(1).required(\"Min price is required\"),\n }),\n producedIn: yup\n .array()\n .of(yup.string().defined())\n .min(1, \"Produced in list must contain at least one item\")\n .required(\"Produced in is required\"),\n stallholderId: yup.string().trim().required(\"Stallholder ID is required\"),\n stallSize: yup.object().shape({\n depth: yup.number().min(1).required(\"Depth is required\"),\n width: yup.number().min(1).required(\"Width is required\"),\n }),\n table: yup.object().shape({\n details: yup\n .string()\n .trim()\n .test(\"details-required\", \"Please add details\", function (value) {\n return !this.parent?.isRequired || (value?.trim().length ?? 0) > 0;\n })\n .nullable(),\n isRequired: yup.boolean().required(\"Table requirement is required\"),\n }),\n});\n","import * as yup from \"yup\";\n\nimport { EnumUserRole } from \"../enums\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const userSchema = yup.object().shape({\n active: yup.boolean().required(\"Active is required\"),\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n password: passwordSchema,\n preferredRegion: yup.string().required(\"Preferred region is required\"),\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n role: yup\n .mixed<EnumUserRole>()\n .oneOf(Object.values(EnumUserRole))\n .required(\"Role is required\"),\n});\n","import * as yup from \"yup\";\n\nimport { emailSchema, passwordSchema } from \"./global\";\n\nexport const loginSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n});\n\nexport const registerSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup\n .string()\n .label(\"First Name\")\n .required(\"First Name is required\"),\n lastName: yup.string().label(\"Last Name\").required(\"Last Name is required\"),\n password: passwordSchema,\n preferredRegion: yup\n .string()\n .label(\"Preferred Region\")\n .required(\"Preferred Region is required\"),\n});\n\nexport const requestPasswordResetSchema = yup.object().shape({\n email: emailSchema,\n});\n\nexport const resetPasswordSchema = yup.object().shape({\n email: emailSchema,\n password: passwordSchema,\n // eslint-disable-next-line sort-keys\n confirmPassword: yup\n .string()\n .oneOf([yup.ref(\"password\")], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const validateVerificationTokenSchema = yup.object().shape({\n email: emailSchema,\n verificationToken: yup\n .string()\n .required(\"Verification code is required\")\n .matches(/^\\d{5}$/, \"Verification code must be exactly 5 digits\"),\n});\n","import * as yup from \"yup\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\n\nimport { emailSchema } from \"./global\";\n\nexport const testersSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n osType: yup\n .mixed<EnumOSType>()\n .oneOf(Object.values(EnumOSType), \"Please select Android or iOS device\")\n .required(\"OS Type is required\"),\n resourceType: yup\n .mixed<EnumResourceType>()\n .oneOf(\n Object.values(EnumResourceType),\n \"Please select Market or Stallholder\",\n )\n .required(\"Resource Type is required\"),\n});\n","import { EnumPaymentMethod } from \"../enums\";\nimport {\n BaseResourceTypeFormData,\n MarketFormData,\n MarketInfoFormData,\n StallholderFormData,\n StallholderInfoFormData,\n} from \"../types\";\n\nexport const globalDefaultValues: BaseResourceTypeFormData = {\n active: false,\n cover: {\n source: \"\",\n title: \"\",\n },\n coverUpload: {\n source: \"\",\n title: \"\",\n },\n description:\n \"Lorem Ipsum is a placeholder text commonly used in design and publishing to represent the visual form of a document without relying on meaningful content. It's a jumbled Latin text, not intended to be read or understood, and is used to show the layout and typography before actual content is added.\",\n images: null,\n imagesUpload: null,\n logo: null,\n logoUpload: null,\n name: \"Resource name\",\n promoCode: \"\",\n region: \"\",\n socialMedia: [],\n};\n\nexport const defaultMarketFormValues: MarketFormData = {\n ...globalDefaultValues,\n dateTime: [\n {\n endDate: \"04-07-2025\",\n endTime: \"15:00\",\n startDate: \"04-07-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-07-2025\",\n endTime: \"15:00\",\n startDate: \"05-07-2025\",\n startTime: \"09:00\",\n },\n ],\n location: {\n city: \"\",\n coordinates: [0, 0], // [longitude, latitude]\n country: \"\",\n fullAddress: \"\",\n latitude: 0,\n longitude: 0,\n region: \"\",\n type: \"Point\", // Default type for GeoJSON\n },\n provider: \"Provider name\",\n tags: [],\n};\n\nexport const defaultMarketInfoFormValues: MarketInfoFormData = {\n applicationDeadlineHours: 0,\n dateTime: [\n {\n endDate: \"04-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"04-05-2025\",\n startTime: \"09:00\",\n },\n {\n endDate: \"05-05-2025\",\n endTime: \"15:00\",\n stallTypes: [],\n startDate: \"05-05-2025\",\n startTime: \"09:00\",\n },\n ],\n marketId: \"\",\n packInTime: 0, // e.g., 2 hours before market opens\n packOutTime: 0, // e.g., 1 hour after market closes\n paymentDueHours: 0,\n paymentInfo: [],\n requirements: [],\n};\n\nexport const defaultStallholderFormValues: StallholderFormData = {\n ...globalDefaultValues,\n categories: [],\n locations: null,\n multiLocation: false,\n products: [],\n specialities: null,\n};\n\nexport const defaultStallholderInfoFormValues: StallholderInfoFormData = {\n electricity: { details: null, isRequired: false },\n foodSafetyGradeFiles: null,\n foodSafetyGradeFilesUpload: null,\n gazebo: { details: null, isRequired: false },\n packaging: [],\n paymentMethod: \"\" as EnumPaymentMethod,\n priceRange: { max: 0, min: 0 },\n producedIn: [],\n stallholderId: \"\",\n stallSize: { depth: 0, width: 0 },\n table: { details: null, isRequired: false },\n};\n\nexport function mapBaseResourceTypeToFormData(\n data: MarketFormData | StallholderFormData,\n): BaseResourceTypeFormData {\n return {\n _id: data._id,\n active: data.active,\n cover: data.cover,\n coverUpload: data.coverUpload,\n description: data.description,\n images: data.images,\n imagesUpload: data.imagesUpload,\n logo: data.logo,\n logoUpload: data.logoUpload,\n name: data.name,\n promoCode: data.promoCode,\n region: data.region,\n socialMedia: data.socialMedia,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateStallholderInfoFormData,\n StallholderInfoFormData,\n} from \"../../types/stallholder\";\nimport { stallholderInfoSchema } from \"../../yupSchema\";\nimport { defaultStallholderInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the stallholder apply form state and validation.\n *\n * @param {StallholderApplyFormFormData} data - The initial form data.\n * @returns {CreateStallholderInfoFormData} - The form methods and state.\n */\nexport function useStallholderInfoForm(\n data?: StallholderInfoFormData,\n): CreateStallholderInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<StallholderInfoFormData>({\n defaultValues: defaultStallholderInfoFormValues,\n resolver: yupResolver(stallholderInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n electricity: data.electricity,\n foodSafetyGradeFiles: data.foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload: data.foodSafetyGradeFilesUpload,\n gazebo: data.gazebo,\n packaging: data.packaging,\n paymentMethod: data.paymentMethod,\n priceRange: data.priceRange,\n producedIn: data.producedIn,\n stallholderId: data.stallholderId,\n stallSize: data.stallSize,\n table: data.table,\n });\n } else {\n reset(defaultStallholderInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n electricity,\n foodSafetyGradeFiles,\n foodSafetyGradeFilesUpload,\n gazebo,\n packaging,\n paymentMethod,\n priceRange,\n producedIn,\n stallholderId,\n stallSize,\n table,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateMarketFormData, MarketFormData } from \"../../types/market\";\nimport { marketSchema } from \"../../yupSchema\";\nimport {\n defaultMarketFormValues,\n mapBaseResourceTypeToFormData,\n} from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketFormData} data - The initial form data.\n * @returns {CreateMarketFormData} - The form methods and state.\n */\nexport function useMarketForm(data?: MarketFormData): CreateMarketFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketFormData>({\n defaultValues: defaultMarketFormValues,\n resolver: yupResolver(marketSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n ...mapBaseResourceTypeToFormData(data),\n dateTime: data.dateTime,\n location: data.location,\n provider: data.provider,\n tags: data.tags,\n });\n } else {\n reset(defaultMarketFormValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n provider,\n region,\n tags,\n promoCode,\n socialMedia,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n cover,\n coverUpload,\n dateTime,\n description,\n images,\n imagesUpload,\n location,\n logo,\n logoUpload,\n name,\n promoCode,\n provider,\n region,\n socialMedia,\n tags,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateMarketInfoFormData,\n MarketInfoFormData,\n} from \"../../types/market\";\nimport { marketInfoSchema } from \"../../yupSchema\";\nimport { defaultMarketInfoFormValues } from \"../utils\";\n\n/**\n * Custom hook to manage the market form state and validation.\n *\n * @param {MarketInfoFormData} data - The initial form data.\n * @returns {CreateMarketInfoFormData} - The form methods and state.\n */\nexport function useMarketInfoForm(\n data?: MarketInfoFormData,\n): CreateMarketInfoFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<MarketInfoFormData>({\n defaultValues: defaultMarketInfoFormValues,\n resolver: yupResolver(marketInfoSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n applicationDeadlineHours: data.applicationDeadlineHours,\n dateTime: data.dateTime,\n marketId: data.marketId,\n packInTime: data.packInTime,\n packOutTime: data.packOutTime,\n paymentDueHours: data.paymentDueHours,\n paymentInfo: data.paymentInfo,\n requirements: data.requirements,\n });\n } else {\n reset(defaultMarketInfoFormValues);\n }\n }, [data]);\n\n const {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n packOutTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n applicationDeadlineHours,\n dateTime,\n marketId,\n packInTime,\n packOutTime,\n paymentDueHours,\n paymentInfo,\n requirements,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumUserRole } from \"../enums\";\nimport { CreateUserFormData, UserFormData } from \"../types/user\";\nimport { userSchema } from \"../yupSchema/user\";\n\nconst defaultValues: UserFormData = {\n active: false,\n avatar: null,\n avatarUpload: null,\n confirmPassword: \"\",\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n role: EnumUserRole.CUSTOMER,\n};\n\n/**\n * Custom hook to manage the user form state and validation.\n *\n * @param {UserFormData} data - The initial form data.\n * @returns {CreateUserFormData} - The form methods and state.\n */\nexport function useUserForm(data?: UserFormData): CreateUserFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<UserFormData>({\n defaultValues,\n resolver: yupResolver(userSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n _id: data._id,\n active: data.active,\n avatar: data.avatar,\n avatarUpload: data.avatarUpload,\n confirmPassword: data.confirmPassword,\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n password: data.password,\n preferredRegion: data.preferredRegion,\n role: data.role,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n } = getValues();\n\n return {\n control,\n fields: {\n _id,\n active,\n avatar,\n avatarUpload,\n confirmPassword,\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n role,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateLoginFormData, LoginFormData } from \"../../types/auth\";\nimport { loginSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: LoginFormData = {\n email: \"\",\n password: \"\",\n};\n\n/**\n * Custom hook to manage the login form state and validation.\n *\n * @returns {CreateLoginFormData} - The form methods and state.\n */\nexport function useLoginForm(): CreateLoginFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<LoginFormData>({\n defaultValues,\n resolver: yupResolver(loginSchema),\n });\n\n const { email, password } = getValues();\n\n return {\n control,\n fields: {\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport { CreateRegisterFormData, RegisterFormData } from \"../../types/auth\";\nimport { registerSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RegisterFormData = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n password: \"\",\n preferredRegion: \"\",\n};\n\n/**\n * Custom hook to manage the register form state and validation.\n *\n * @returns {CreateRegisterFormData} - The form methods and state.\n */\nexport function useRegisterForm(): CreateRegisterFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RegisterFormData>({\n defaultValues,\n resolver: yupResolver(registerSchema),\n });\n\n const { email, firstName, lastName, password, preferredRegion } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n password,\n preferredRegion,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateRequestPasswordResetFormData,\n RequestPasswordResetFormData,\n} from \"../../types/auth\";\nimport { requestPasswordResetSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: RequestPasswordResetFormData = {\n email: \"\",\n};\n\nexport function useRequestPasswordResetForm(): CreateRequestPasswordResetFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<RequestPasswordResetFormData>({\n defaultValues,\n resolver: yupResolver(requestPasswordResetSchema),\n });\n\n const { email } = getValues();\n\n return {\n control,\n fields: {\n email,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateValidateVerificationTokenFormData,\n ValidateVerificationTokenFormData,\n} from \"../../types/auth\";\nimport { validateVerificationTokenSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ValidateVerificationTokenFormData = {\n email: \"\",\n verificationToken: \"\",\n};\n\nexport function useValidateVerificationTokenForm(): CreateValidateVerificationTokenFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ValidateVerificationTokenFormData>({\n defaultValues,\n resolver: yupResolver(validateVerificationTokenSchema),\n });\n\n const { email, verificationToken } = getValues();\n\n return {\n control,\n fields: {\n email,\n verificationToken,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n CreateResetPasswordFormData,\n ResetPasswordFormData,\n} from \"../../types/auth\";\nimport { resetPasswordSchema } from \"../../yupSchema/auth\";\n\nconst defaultValues: ResetPasswordFormData = {\n confirmPassword: \"\",\n email: \"\",\n password: \"\",\n};\n\nexport function useResetPasswordForm(): CreateResetPasswordFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ResetPasswordFormData>({\n defaultValues,\n resolver: yupResolver(resetPasswordSchema),\n });\n\n const { confirmPassword, email, password } = getValues();\n\n return {\n control,\n fields: {\n confirmPassword,\n email,\n password,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport { EnumOSType, EnumResourceType } from \"src/enums\";\nimport { CreateTestersFormData, TestersFormData } from \"src/types/testers\";\nimport { testersSchema } from \"src/yupSchema/testers\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n osType: \"\" as EnumOSType,\n resourceType: \"\" as EnumResourceType,\n};\n\nexport function useTestersForm(data?: TestersFormData): CreateTestersFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<TestersFormData>({\n defaultValues,\n resolver: yupResolver(testersSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n osType: data.osType,\n resourceType: data.resourceType,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, osType, resourceType } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n osType,\n resourceType,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import { yupResolver } from \"@hookform/resolvers/yup\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\n\nimport {\n ContactUsFormData,\n CreateContactUsFormData,\n} from \"src/types/contactUs\";\nimport { contactUsSchema } from \"src/yupSchema/contactUs\";\n\nconst defaultValues = {\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n message: \"\",\n};\n\nexport function useContactUsForm(\n data?: ContactUsFormData,\n): CreateContactUsFormData {\n const {\n control,\n formState: { errors },\n getValues,\n handleSubmit,\n reset,\n setValue,\n watch,\n } = useForm<ContactUsFormData>({\n defaultValues,\n resolver: yupResolver(contactUsSchema),\n });\n\n React.useEffect(() => {\n if (data) {\n reset({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n message: data.message,\n });\n } else {\n reset(defaultValues);\n }\n }, [data]);\n\n const { email, firstName, lastName, message } = getValues();\n\n return {\n control,\n fields: {\n email,\n firstName,\n lastName,\n message,\n },\n formState: { errors },\n handleSubmit,\n reset,\n setValue,\n watch,\n };\n}\n","import * as yup from \"yup\";\n\nimport { emailSchema } from \"./global\";\n\nexport const contactUsSchema = yup.object().shape({\n email: emailSchema,\n firstName: yup.string().required(\"First name is required\"),\n lastName: yup.string().required(\"Last name is required\"),\n message: yup.string().required(\"Message is required\"),\n});\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n REQUEST_PASSWORD_RESET_MUTATION,\n LOGIN_MUTATION,\n REGISTER_MUTATION,\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n RESET_PASSWORD_MUTATION,\n LOGOUT_MUTATION,\n REFRESH_TOKEN_MUTATION,\n} from \"../mutations/auth\";\n\nexport const useRegister = () => {\n const [register, { loading, error }] = useMutation(REGISTER_MUTATION);\n return { error, loading, register };\n};\n\nexport const useLogin = () => {\n const [login, { loading, error }] = useMutation(LOGIN_MUTATION);\n return { error, loading, login };\n};\n\nexport const useLogout = () => {\n const [logout, { loading, error }] = useMutation(LOGOUT_MUTATION);\n return { error, loading, logout };\n};\n\nexport const useRefreshToken = () => {\n const [refreshToken, { loading, error }] = useMutation(\n REFRESH_TOKEN_MUTATION,\n );\n return { error, loading, refreshToken };\n};\n\nexport const useRequestPasswordReset = () => {\n const [requestPasswordReset, { loading, error }] = useMutation(\n REQUEST_PASSWORD_RESET_MUTATION,\n );\n\n return { error, loading, requestPasswordReset };\n};\n\nexport const useValidateVerificationToken = () => {\n const [validateVerificationToken, { loading, error }] = useMutation(\n VALIDATE_VERIFICATION_TOKEN_MUTATION,\n );\n\n return { error, loading, validateVerificationToken };\n};\n\nexport const useResetPassword = () => {\n const [resetPassword, { loading, error }] = useMutation(\n RESET_PASSWORD_MUTATION,\n );\n\n return { error, loading, resetPassword };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const REGISTER_MUTATION = gql`\n mutation register($input: RegisterInputType!) {\n register(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGIN_MUTATION = gql`\n mutation login($input: LoginInputType!) {\n login(input: $input) {\n message\n refreshToken\n token\n user {\n ...UserFields\n }\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const LOGOUT_MUTATION = gql`\n mutation logout {\n logout {\n message\n }\n }\n`;\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation refreshToken($input: RefreshTokenInputType!) {\n refreshToken(input: $input) {\n refreshToken\n token\n }\n }\n`;\n\nexport const RESET_PASSWORD_MUTATION = gql`\n mutation resetPassword($input: ResetPasswordInputType!) {\n resetPassword(input: $input) {\n message\n }\n }\n`;\n\nexport const REQUEST_PASSWORD_RESET_MUTATION = gql`\n mutation requestPasswordReset($input: RequestPasswordResetInputType!) {\n requestPasswordReset(input: $input) {\n message\n }\n }\n`;\n\nexport const VALIDATE_VERIFICATION_TOKEN_MUTATION = gql`\n mutation validateVerificationToken(\n $input: ValidateVerificationTokenInputType!\n ) {\n validateVerificationToken(input: $input) {\n message\n }\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const SOCIAL_MEDIA_FIELDS_FRAGMENT = gql`\n fragment SocialMediaFields on SocialMediaType {\n name\n link\n }\n`;\n\nexport const RESOURCE_IMAGE_FIELDS_FRAGMENT = gql`\n fragment ResourceImageFields on ResourceImageType {\n source\n title\n }\n`;\n\nexport const OWNER_FIELDS_FRAGMENT = gql`\n fragment OwnerFields on OwnerType {\n _id\n email\n licences\n }\n`;\n\nexport const CATEGORY_FIELDS_FRAGMENT = gql`\n fragment CategoryFields on CategoryType {\n id\n name\n subcategories {\n id\n items\n name\n }\n }\n`;\n\nexport const USER_FIELDS_FRAGMENT = gql`\n fragment UserFields on UserType {\n _id\n active\n avatar {\n ...ResourceImageFields\n }\n createdAt\n email\n favourites {\n markets\n stallholders\n }\n firstName\n lastName\n licences\n markets\n preferredRegion\n refreshToken\n role\n stallholder\n updatedAt\n }\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n CREATE_CHAT_MUTATION,\n DELETE_CHAT_MUTATION,\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n SEND_CHAT_MESSAGE_MUTATION,\n} from \"../../mutations/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useCreateChat = () => {\n const [createChat, { loading, error }] = useMutation(CREATE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.createChat?._id;\n\n return [\n {\n query: USER_CHATS,\n variables: { userId: mutationResult?.data?.createChat?.userId },\n },\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n });\n\n return { createChat, error, loading };\n};\n\nexport const useSendChatMessage = () => {\n const [sendChatMessage, { loading, error }] = useMutation(\n SEND_CHAT_MESSAGE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.sendChatMessage?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { error, loading, sendChatMessage };\n};\n\nexport const useDeleteChat = () => {\n const [deleteChat, { loading, error }] = useMutation(DELETE_CHAT_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: USER_CHATS }],\n });\n\n return { deleteChat, error, loading };\n};\n\nexport const useAddParticipantToChat = () => {\n const [addParticipantToChat, { loading, error }] = useMutation(\n ADD_PARTICIPANT_TO_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.addParticipantToChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { addParticipantToChat, error, loading };\n};\n\nexport const useRemoveParticipantFromChat = () => {\n const [removeParticipantFromChat, { loading, error }] = useMutation(\n REMOVE_PARTICIPANT_FROM_CHAT_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract chatId from the mutation response\n const chatId = mutationResult?.data?.removeParticipantFromChat?._id;\n\n return [\n {\n query: CHAT,\n variables: { _id: chatId },\n },\n ];\n },\n },\n );\n\n return { error, loading, removeParticipantFromChat };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const CREATE_CHAT_MUTATION = gql`\n mutation createChat($input: ChatInputType!) {\n createChat(input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const SEND_CHAT_MESSAGE_MUTATION = gql`\n mutation sendChatMessage($_id: ID!, $input: ChatMessageInputType!) {\n sendChatMessage(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_CHAT_MUTATION = gql`\n mutation deleteChat($_id: ID!) {\n deleteChat(_id: $_id)\n }\n`;\n\nexport const ADD_PARTICIPANT_TO_CHAT_MUTATION = gql`\n mutation addParticipantToChat($_id: ID!, $input: ID!) {\n addParticipantToChat(_id: $_id, input: $input) {\n ...ChatFields\n }\n ${CHAT_FIELDS_FRAGMENT}\n }\n`;\n\nexport const REMOVE_PARTICIPANT_FROM_CHAT_MUTATION = gql`\n mutation removeParticipantFromChat($_id: ID!, $input: ID!) {\n removeParticipantFromChat(_id: $_id, input: $input) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const CHAT_MESSAGE_FIELDS_FRAGMENT = gql`\n fragment ChatMessageFields on ChatMessageType {\n _id\n content\n createdAt\n senderId\n senderName\n updatedAt\n }\n`;\n\nexport const CHAT_FIELDS_FRAGMENT = gql`\n fragment ChatFields on ChatType {\n _id\n createdAt\n messages {\n ...ChatMessageFields\n }\n name\n participants\n updatedAt\n }\n ${CHAT_MESSAGE_FIELDS_FRAGMENT}\n`;\n\nexport const CHAT = gql`\n query chat($_id: ID!) {\n chat(_id: $_id) {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n\nexport const USER_CHATS = gql`\n query userChats {\n userChats {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { ChatType } from \"../../../types/chat\";\nimport { CHAT, USER_CHATS } from \"../../queries/chat\";\n\nexport const useGetChat = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(CHAT, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const chat = data?.chat as ChatType;\n\n return { chat, error, loading, refetch };\n};\n\nexport const useGetUserChats = () => {\n const { loading, error, data, refetch } = useQuery(USER_CHATS, {\n fetchPolicy: \"network-only\",\n });\n\n const userChats = data?.userChats as ChatType[];\n\n return { error, loading, refetch, userChats };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_MARKET_INFO_MUTATION,\n CREATE_MARKET_MUTATION,\n DELETE_MARKET_MUTATION,\n UPDATE_MARKET_INFO_MUTATION,\n UPDATE_MARKET_MUTATION,\n} from \"../../mutations/market\";\nimport { GET_MARKET, GET_MARKET_INFO, GET_MARKETS } from \"../../queries/market\";\nimport { GET_USER_MARKETS } from \"../../queries/user\";\n\nexport const useCreateMarket = () => {\n const [createMarket, { loading, error }] = useMutation(\n CREATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { createMarket, error, loading };\n};\n\nexport const useUpdateMarket = () => {\n const [updateMarket, { loading, error }] = useMutation(\n UPDATE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n\n return { error, loading, updateMarket };\n};\n\nexport const useDeleteMarket = () => {\n const [deleteMarket, { loading, error }] = useMutation(\n DELETE_MARKET_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_MARKETS }, { query: GET_MARKETS }],\n },\n );\n return { deleteMarket, error, loading };\n};\n\nexport const useCreateMarketInfo = () => {\n const [createMarketInfo, { loading, error }] = useMutation(\n CREATE_MARKET_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract marketId from the mutation response\n const marketId = mutationResult?.data?.createMarketInfo?.marketId;\n\n if (!marketId) return [];\n\n return [\n {\n query: GET_MARKET_INFO,\n variables: { marketId }, // Pass the marketId for refetching\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId }, // Pass the marketId for refetching\n },\n ];\n },\n },\n );\n\n return { createMarketInfo, error, loading };\n};\n\nexport const useUpdateMarketInfo = () => {\n const [updateMarketInfo, { loading, error }] = useMutation(\n UPDATE_MARKET_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract marketId from the mutation response\n const marketId = mutationResult?.data?.updateMarketInfo?.marketId;\n\n if (!marketId) return [];\n\n return [\n {\n query: GET_MARKET_INFO,\n variables: { marketId }, // Pass the marketId for refetching\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId }, // Pass the marketId for refetching\n },\n ];\n },\n },\n );\n\n return { error, loading, updateMarketInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { MARKET, MARKET_INFO } from \"../queries/market\";\n\nexport const CREATE_MARKET_MUTATION = gql`\n mutation createMarket($input: MarketInputType!) {\n createMarket(input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const UPDATE_MARKET_MUTATION = gql`\n mutation updateMarket($_id: ID!, $input: MarketInputType!) {\n updateMarket(_id: $_id, input: $input) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const DELETE_MARKET_MUTATION = gql`\n mutation deleteMarket($_id: ID!) {\n deleteMarket(_id: $_id)\n }\n`;\n\nexport const CREATE_MARKET_INFO_MUTATION = gql`\n mutation createMarketInfo($input: MarketInfoInputType!) {\n createMarketInfo(input: $input) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n\nexport const UPDATE_MARKET_INFO_MUTATION = gql`\n mutation updateMarketInfo($_id: ID!, $input: MarketInfoInputType!) {\n updateMarketInfo(_id: $_id, input: $input) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const MARKET_DATETIME_FIELDS_FRAGMENT = gql`\n fragment MarketDateTimeFields on MarketDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\nexport const MARKET_LOCATION_FIELDS_FRAGMENT = gql`\n fragment MarketLocationFields on MarketLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const MARKET_INFO = gql`\n fragment MarketInfoFields on MarketInfoType {\n _id\n applicationDeadlineHours\n dateTime {\n endDate\n endTime\n stallTypes {\n label\n price\n stallCapacity\n }\n startDate\n startTime\n }\n marketId\n packInTime\n packOutTime\n paymentDueHours\n paymentInfo {\n accountHolderName\n accountNumber\n link\n paymentMethod\n }\n requirements {\n category\n label\n value\n }\n }\n`;\n\n// if this is updated than update GET_RESOURCE_CONNECTIONS as well\nexport const MARKET = gql`\n fragment MarketFields on MarketType {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n marketInfoId\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n tags\n updatedAt\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKETS = gql`\n query getMarkets {\n markets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKET = gql`\n query getMarket($_id: ID!) {\n market(_id: $_id) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_BY_REGION = gql`\n query getMarketsByRegion($region: String!) {\n marketsByRegion(region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const SEARCH_MARKETS = gql`\n query searchMarkets($search: String!, $region: String) {\n marketSearch(search: $search, region: $region) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKETS_NEAR_ME = gql`\n query getMarketsNearMe($latitude: Float!, $longitude: Float!, $radius: Int) {\n marketsNearMe(latitude: $latitude, longitude: $longitude, radius: $radius) {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_MARKET_INFO = gql`\n query getMarketInfo($marketId: ID!) {\n marketInfo(marketId: $marketId) {\n ...MarketInfoFields\n }\n }\n ${MARKET_INFO}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"./global\";\nimport { MARKET } from \"./market\";\nimport { STALLHOLDER } from \"./stallholder\";\n\nexport const GET_USERS = gql`\n query getUsers {\n users {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER = gql`\n query getUser($id: ID!) {\n user(_id: $id) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_USER_MARKETS = gql`\n query getUserMarkets {\n userMarkets {\n ...MarketFields\n }\n }\n ${MARKET}\n`;\n\nexport const GET_USER_STALLHOLDER = gql`\n query getUserStallholder {\n userStallholder {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_USER_FAVOURITES = gql`\n query getUserFavourites {\n userFavourites {\n markets {\n ...MarketFields\n }\n stallholders {\n ...StallholderFields\n }\n }\n }\n ${MARKET}\n ${STALLHOLDER}\n`;\n\nexport const GET_USER_NOTIFICATIONS = gql`\n query getMissedNotifications {\n userNotifications\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n OWNER_FIELDS_FRAGMENT,\n CATEGORY_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\n\nexport const STALLHOLDER_LOCATION_FIELDS_FRAGMENT = gql`\n fragment StallholderLocationFields on StallholderLocationType {\n city\n coordinates\n country\n fullAddress\n latitude\n longitude\n region\n type\n }\n`;\n\nexport const STALLHOLDER_DATETIME_FIELDS_FRAGMENT = gql`\n fragment StallholderDateTimeFields on StallholderDateTimeType {\n endDate\n endTime\n startDate\n startTime\n }\n`;\n\n// if this is updated than update GET_RESOURCE_CONNECTIONS as well\nexport const STALLHOLDER = gql`\n fragment StallholderFields on StallholderType {\n _id\n active\n stallholderInfoId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n description\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n specialities\n updatedAt\n }\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n\nexport const STALLHOLDER_INFO = gql`\n fragment StallholderInfoFields on StallholderInfoType {\n _id\n electricity {\n details\n isRequired\n }\n foodSafetyGradeFiles\n gazebo {\n details\n isRequired\n }\n packaging\n paymentMethod\n priceRange {\n max\n min\n }\n producedIn\n stallholderId\n stallSize {\n depth\n width\n }\n table {\n details\n isRequired\n }\n }\n`;\n\nexport const GET_STALLHOLDERS = gql`\n query getStallHolders {\n stallholders {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER = gql`\n query getStallHolder($_id: ID!) {\n stallholder(_id: $_id) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDERS_BY_REGION = gql`\n query getStallholdersByRegion($region: String!) {\n stallholdersByRegion(region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const SEARCH_STALLHOLDERS = gql`\n query searchStallholders($search: String!, $region: String) {\n stallholderSearch(search: $search, region: $region) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const GET_STALLHOLDER_INFO = gql`\n query getStallholderInfo($stallholderId: ID!) {\n stallholderInfo(stallholderId: $stallholderId) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketInfoType, MarketType } from \"../../../types/market\";\nimport {\n GET_MARKET,\n GET_MARKET_INFO,\n GET_MARKETS,\n GET_MARKETS_BY_REGION,\n GET_MARKETS_NEAR_ME,\n SEARCH_MARKETS,\n} from \"../../queries/market\";\n\nexport const useGetMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.markets as MarketType[];\n\n return { error, loading, markets, refetch };\n};\n\nexport const useGetMarket = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const market = data?.market as MarketType;\n\n return { error, loading, market, refetch };\n};\n\nexport const useGetMarketsByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_BY_REGION, {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n });\n\n const marketsByRegion = data?.marketsByRegion as MarketType[];\n\n return { error, loading, marketsByRegion, refetch };\n};\n\nexport const useSearchMarkets = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_MARKETS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const marketsSearch = data?.marketSearch as MarketType[];\n\n return { error, loading, marketsSearch, refetch };\n};\n\nexport const useGetMarketsNearMe = (location: {\n latitude: number;\n longitude: number;\n radius?: number;\n}) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKETS_NEAR_ME, {\n fetchPolicy: \"network-only\",\n skip: !location.latitude || !location.longitude,\n variables: {\n latitude: location.latitude,\n longitude: location.longitude,\n radius: location.radius || 10000, // Default to 10km if no radius is provided\n },\n });\n\n const marketsNearMe = data?.marketsNearMe as MarketType[];\n\n return { error, loading, marketsNearMe, refetch };\n};\n\nexport const useGetMarketInfo = (marketId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET_INFO, {\n fetchPolicy: \"network-only\",\n skip: !marketId,\n variables: { marketId },\n });\n\n const marketInfo = data?.marketInfo as MarketInfoType;\n\n return { error, loading, marketInfo, refetch };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CREATE_POSTER_MUTATION } from \"../mutations/poster\";\n\nexport const useCreatePoster = () => {\n const [createPoster, { loading, error }] = useMutation(\n CREATE_POSTER_MUTATION,\n );\n return { createPoster, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CREATE_POSTER_MUTATION = gql`\n mutation createPoster($input: PosterInputType!) {\n createPoster(input: $input) {\n message\n }\n }\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_RELATION_MUTATION,\n DELETE_RELATION_MUTATION,\n UPDATE_RELATION_MUTATION,\n} from \"../../mutations/relation\";\nimport { USER_CHATS } from \"../../queries/chat\";\nimport { GET_MARKET } from \"../../queries/market\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\nimport { GET_STALLHOLDER } from \"../../queries/stallholder\";\n\nexport const useCreateRelation = () => {\n const [createRelation, { loading, error }] = useMutation(\n CREATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.createRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.createRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n },\n );\n\n return { createRelation, error, loading };\n};\n\nexport const useUpdateRelation = () => {\n const [updateRelation, { loading, error }] = useMutation(\n UPDATE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.updateRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.updateRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_MARKET,\n variables: { _id: marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_STALLHOLDER,\n variables: { _id: stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n ];\n },\n },\n );\n\n return { error, loading, updateRelation };\n};\n\nexport const useDeleteRelation = () => {\n const [deleteRelation, { loading, error }] = useMutation(\n DELETE_RELATION_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract relationId from the mutation response\n const marketId = mutationResult?.data?.deleteRelation?.marketId;\n const stallholderId =\n mutationResult?.data?.deleteRelation?.stallholderId;\n\n return [\n {\n query: GET_MARKET_RELATIONS,\n variables: { marketId },\n },\n {\n query: GET_STALLHOLDER_RELATIONS,\n variables: { stallholderId },\n },\n {\n query: GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n variables: { marketId, stallholderId },\n },\n {\n query: USER_CHATS,\n },\n ];\n },\n },\n );\n return { deleteRelation, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { RELATION_FIELDS_FRAGMENT } from \"../queries/relation\";\n\nexport const CREATE_RELATION_MUTATION = gql`\n mutation createRelation($input: RelationInputType!) {\n createRelation(input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_RELATION_MUTATION = gql`\n mutation updateRelation($_id: ID!, $input: RelationInputType!) {\n updateRelation(_id: $_id, input: $input) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_RELATION_MUTATION = gql`\n mutation deleteRelation($_id: ID!) {\n deleteRelation(_id: $_id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nimport {\n CATEGORY_FIELDS_FRAGMENT,\n OWNER_FIELDS_FRAGMENT,\n RESOURCE_IMAGE_FIELDS_FRAGMENT,\n SOCIAL_MEDIA_FIELDS_FRAGMENT,\n} from \"./global\";\nimport {\n MARKET_DATETIME_FIELDS_FRAGMENT,\n MARKET_LOCATION_FIELDS_FRAGMENT,\n} from \"./market\";\nimport {\n STALLHOLDER_DATETIME_FIELDS_FRAGMENT,\n STALLHOLDER_LOCATION_FIELDS_FRAGMENT,\n} from \"./stallholder\";\n\nconst RELATION_UPDATE_BY_FRAGMENT = gql`\n fragment RelationUpdateBy on RelationUpdateByType {\n resourceId\n resourceName\n resourceType\n startDate\n startTime\n stallType {\n label\n price\n stallCapacity\n }\n toStatus\n }\n`;\n\nconst RELATION_LOGS_FRAGMENT = gql`\n fragment RelationLogs on RelationLogType {\n createdAt\n updatedAt\n updatedBy {\n ...RelationUpdateBy\n }\n }\n ${RELATION_UPDATE_BY_FRAGMENT}\n`;\n\nconst RELATION_DATES_FRAGMENT = gql`\n fragment RelationDates on RelationDateType {\n lastUpdateBy\n startDate\n startTime\n stallType {\n label\n price\n stallCapacity\n }\n status\n }\n`;\n\nexport const RELATION_FIELDS_FRAGMENT = gql`\n fragment RelationFields on RelationType {\n _id\n apiMessage\n createdAt\n lastUpdateBy\n marketId\n relationDates {\n ...RelationDates\n }\n relationLogs {\n ...RelationLogs\n }\n relationType\n stallholderId\n updatedAt\n }\n ${RELATION_DATES_FRAGMENT}\n ${RELATION_LOGS_FRAGMENT}\n`;\n\nexport const GET_RELATION = gql`\n query getRelation($id: ID!) {\n relation(_id: $id) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_BY_MARKET_AND_STALLHOLDER = gql`\n query getRelationByMarketAndStallholder($marketId: ID!, $stallholderId: ID!) {\n relationByMarketAndStallholder(\n marketId: $marketId\n stallholderId: $stallholderId\n ) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_MARKET_RELATIONS = gql`\n query getMarketRelations($marketId: ID!) {\n marketRelations(marketId: $marketId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_STALLHOLDER_RELATIONS = gql`\n query getStallholderRelations($stallholderId: ID!) {\n stallholderRelations(stallholderId: $stallholderId) {\n ...RelationFields\n }\n }\n ${RELATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RESOURCE_CONNECTIONS = gql`\n query getResourceConnections(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n ) {\n resourceConnections(resourceId: $resourceId, resourceType: $resourceType) {\n markets {\n _id\n active\n cover {\n ...ResourceImageFields\n }\n createdAt\n dateTime {\n ...MarketDateTimeFields\n }\n description\n images {\n ...ResourceImageFields\n }\n location {\n ...MarketLocationFields\n }\n logo {\n ...ResourceImageFields\n }\n marketInfoId\n name\n owner {\n ...OwnerFields\n }\n promoCode\n provider\n region\n relationIds\n socialMedia {\n ...SocialMediaFields\n }\n tags\n updatedAt\n relationDates {\n ...RelationDates\n }\n }\n stallholders {\n _id\n active\n stallholderInfoId\n categories {\n ...CategoryFields\n }\n cover {\n ...ResourceImageFields\n }\n createdAt\n description\n images {\n ...ResourceImageFields\n }\n locations {\n dateTime {\n ...StallholderDateTimeFields\n }\n description\n location {\n ...StallholderLocationFields\n }\n }\n logo {\n ...ResourceImageFields\n }\n multiLocation\n name\n owner {\n ...OwnerFields\n }\n products\n promoCode\n region\n relationIds\n specialities\n socialMedia {\n ...SocialMediaFields\n }\n updatedAt\n relationDates {\n ...RelationDates\n }\n }\n }\n }\n ${MARKET_DATETIME_FIELDS_FRAGMENT}\n ${MARKET_LOCATION_FIELDS_FRAGMENT}\n ${OWNER_FIELDS_FRAGMENT}\n ${RESOURCE_IMAGE_FIELDS_FRAGMENT}\n ${CATEGORY_FIELDS_FRAGMENT}\n ${STALLHOLDER_DATETIME_FIELDS_FRAGMENT}\n ${STALLHOLDER_LOCATION_FIELDS_FRAGMENT}\n ${RELATION_DATES_FRAGMENT}\n ${SOCIAL_MEDIA_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { EnumResourceType } from \"../../../enums\";\nimport { ResourceConnectionsType } from \"../../../types\";\nimport { RelationType } from \"../../../types/relation\";\nimport {\n GET_MARKET_RELATIONS,\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n GET_RESOURCE_CONNECTIONS,\n GET_RELATION,\n GET_STALLHOLDER_RELATIONS,\n} from \"../../queries/relation\";\n\nexport const useGetRelation = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_RELATION, {\n fetchPolicy: \"network-only\",\n skip: id === \"\",\n variables: { id },\n });\n\n const relation = data?.relation as RelationType;\n\n return { error, loading, refetch, relation };\n};\n\nexport const useGetRelationByMarketAndStallholder = (\n marketId: string,\n stallholderId: string,\n) => {\n const { loading, error, data, refetch } = useQuery(\n GET_RELATION_BY_MARKET_AND_STALLHOLDER,\n {\n fetchPolicy: \"no-cache\",\n skip: marketId === \"\" || stallholderId === \"\",\n variables: { marketId, stallholderId },\n },\n );\n\n const relationByMarketAndStallholder =\n data?.relationByMarketAndStallholder as RelationType;\n\n return { error, loading, refetch, relationByMarketAndStallholder };\n};\n\nexport const useGetMarketRelations = (marketId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_MARKET_RELATIONS, {\n fetchPolicy: \"network-only\",\n skip: marketId === \"\",\n variables: { marketId },\n });\n\n const marketRelations = data?.marketRelations as RelationType[];\n\n return { error, loading, marketRelations, refetch };\n};\n\nexport const useGetStallholderRelations = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDER_RELATIONS,\n {\n fetchPolicy: \"network-only\",\n skip: stallholderId === \"\",\n variables: { stallholderId },\n },\n );\n\n const stallholderRelations = data?.stallholderRelations as RelationType[];\n\n return { error, loading, refetch, stallholderRelations };\n};\n\nexport const useGetResourceConnections = (\n resourceId: string,\n resourceType: EnumResourceType,\n) => {\n const { loading, error, data, refetch } = useQuery(GET_RESOURCE_CONNECTIONS, {\n fetchPolicy: \"network-only\",\n variables: { resourceId, resourceType },\n });\n\n const resourceConnections =\n data?.resourceConnections as ResourceConnectionsType;\n\n return { error, loading, refetch, resourceConnections };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER_STALLHOLDER } from \"src/graphql/queries/user\";\n\nimport {\n CREATE_STALLHOLDER_INFO_MUTATION,\n CREATE_STALLHOLDER_MUTATION,\n DELETE_STALLHOLDER_MUTATION,\n UPDATE_STALLHOLDER_INFO_MUTATION,\n UPDATE_STALLHOLDER_MUTATION,\n} from \"../../mutations/stallholder\";\nimport {\n GET_STALLHOLDER_INFO,\n GET_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useCreateStallholder = () => {\n const [createStallholder, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n\n return { createStallholder, error, loading };\n};\n\nexport const useUpdateStallholder = () => {\n const [updateStallholder, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n return { error, loading, updateStallholder };\n};\n\nexport const useDeleteStallholder = () => {\n const [deleteStallholder, { loading, error }] = useMutation(\n DELETE_STALLHOLDER_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [\n { query: GET_STALLHOLDERS },\n { query: GET_USER_STALLHOLDER },\n ],\n },\n );\n return { deleteStallholder, error, loading };\n};\n\nexport const useCreateStallholderInfo = () => {\n const [createStallholderInfo, { loading, error }] = useMutation(\n CREATE_STALLHOLDER_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.createStallholderInfo?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_INFO,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n {\n query: GET_USER_STALLHOLDER,\n },\n ];\n },\n },\n );\n\n return { createStallholderInfo, error, loading };\n};\n\nexport const useUpdateStallholderInfo = () => {\n const [updateStallholderInfo, { loading, error }] = useMutation(\n UPDATE_STALLHOLDER_INFO_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract stallholderId from the mutation response\n const stallholderId =\n mutationResult?.data?.updateStallholderInfo?.stallholderId;\n\n if (!stallholderId) return [];\n\n return [\n {\n query: GET_STALLHOLDER_INFO,\n variables: { stallholderId }, // Pass the stallholderId for refetching\n },\n ];\n },\n },\n );\n\n return { error, loading, updateStallholderInfo };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { STALLHOLDER, STALLHOLDER_INFO } from \"../queries/stallholder\";\n\nexport const CREATE_STALLHOLDER_MUTATION = gql`\n mutation createStallholder($input: StallholderInputType!) {\n createStallholder(input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const UPDATE_STALLHOLDER_MUTATION = gql`\n mutation updateStallholder($_id: ID!, $input: StallholderInputType!) {\n updateStallholder(_id: $_id, input: $input) {\n ...StallholderFields\n }\n }\n ${STALLHOLDER}\n`;\n\nexport const DELETE_STALLHOLDER_MUTATION = gql`\n mutation deleteStallholder($_id: ID!) {\n deleteStallholder(_id: $_id)\n }\n`;\n\nexport const CREATE_STALLHOLDER_INFO_MUTATION = gql`\n mutation createStallholderInfo($input: StallholderInfoInputType!) {\n createStallholderInfo(input: $input) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n\nexport const UPDATE_STALLHOLDER_INFO_MUTATION = gql`\n mutation updateStallholderInfo($_id: ID!, $input: StallholderInfoInputType!) {\n updateStallholderInfo(_id: $_id, input: $input) {\n ...StallholderInfoFields\n }\n }\n ${STALLHOLDER_INFO}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport {\n StallholderInfoType,\n StallholderType,\n} from \"../../../types/stallholder\";\nimport {\n GET_STALLHOLDER,\n GET_STALLHOLDER_INFO,\n GET_STALLHOLDERS,\n GET_STALLHOLDERS_BY_REGION,\n SEARCH_STALLHOLDERS,\n} from \"../../queries/stallholder\";\n\nexport const useGetStallholders = () => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n });\n\n const stallholders = data?.stallholders as StallholderType[];\n\n return {\n error,\n loading,\n refetch,\n stallholders,\n };\n};\n\nexport const useGetStallholder = (_id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDER, {\n fetchPolicy: \"network-only\",\n skip: !_id,\n variables: { _id },\n });\n\n const stallholder = data?.stallholder as StallholderType;\n\n return { error, loading, refetch, stallholder };\n};\n\nexport const useGetStallholdersByRegion = (region: string) => {\n const { loading, error, data, refetch } = useQuery(\n GET_STALLHOLDERS_BY_REGION,\n {\n fetchPolicy: \"network-only\",\n skip: !region,\n variables: { region },\n },\n );\n\n const stallholdersByRegion = data?.stallholdersByRegion as StallholderType[];\n\n return { error, loading, refetch, stallholdersByRegion };\n};\n\nexport const useSearchStallholders = (search: string, region: string) => {\n const { loading, error, data, refetch } = useQuery(SEARCH_STALLHOLDERS, {\n fetchPolicy: \"network-only\",\n skip: search.length < 3,\n variables: { region, search },\n });\n\n const stallholderSearch = data?.stallholderSearch as StallholderType[];\n\n return { error, loading, refetch, stallholderSearch };\n};\n\nexport const useGetStallholderInfo = (stallholderId: string) => {\n const { loading, error, data, refetch } = useQuery(GET_STALLHOLDER_INFO, {\n fetchPolicy: \"network-only\",\n skip: !stallholderId,\n variables: { stallholderId },\n });\n\n const stallholderInfo = data?.stallholderInfo as StallholderInfoType;\n\n return {\n error,\n loading,\n refetch,\n stallholderInfo,\n };\n};\n","import { useSubscription } from \"@apollo/client\";\n\nimport { ChatType } from \"../../types/chat\";\nimport { NotificationType } from \"../../types/global\";\nimport { GET_CHAT_MESSAGE } from \"../subscriptions/chat\";\nimport {\n GET_GLOBAL_NOTIFICATION,\n GET_RELATION_NOTIFICATION,\n} from \"../subscriptions/notification\";\n\nexport const useGetNotification = () => {\n const {\n data: global,\n loading: loadingGlobal,\n error: errorGlobal,\n } = useSubscription(GET_GLOBAL_NOTIFICATION);\n\n const {\n data: relation,\n loading: loadingImportant,\n error: errorImportant,\n } = useSubscription(GET_RELATION_NOTIFICATION);\n\n const error = errorGlobal || errorImportant;\n const loading = loadingGlobal || loadingImportant;\n\n const notification = (relation?.getRelationNotification ||\n global?.getGlobalNotification) as NotificationType;\n\n return { error, loading, notification };\n};\n\nexport const useGetChatSubscription = () => {\n const { data, loading, error } = useSubscription(GET_CHAT_MESSAGE);\n\n const chat = data?.getChat as ChatType;\n\n return { chat, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { CHAT_FIELDS_FRAGMENT } from \"../queries/chat\";\n\nexport const GET_CHAT_MESSAGE = gql`\n subscription {\n getChatMessage {\n ...ChatFields\n }\n }\n ${CHAT_FIELDS_FRAGMENT}\n`;\n","import { gql } from \"@apollo/client\";\n\nconst NOTIFICATION_FIELDS_FRAGMENT = gql`\n fragment NotificationFields on NotificationType {\n createdBy\n important\n message\n notifyUser\n resourceId\n resourceType\n }\n`;\n\nexport const GET_GLOBAL_NOTIFICATION = gql`\n subscription {\n getGlobalNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n\nexport const GET_RELATION_NOTIFICATION = gql`\n subscription {\n getRelationNotification {\n ...NotificationFields\n }\n }\n ${NOTIFICATION_FIELDS_FRAGMENT}\n`;\n","import { useMutation } from \"@apollo/client\";\n\nimport { GET_USER, GET_USER_FAVOURITES } from \"src/graphql/queries/user\";\n\nimport {\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n CREATE_USER_MUTATION,\n DELETE_USER_MUTATION,\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n UPDATE_USER_MUTATION,\n} from \"../../mutations/user\";\n\nexport const useCreateUser = () => {\n const [createUser, { loading, error }] = useMutation(CREATE_USER_MUTATION);\n\n return { createUser, error, loading };\n};\n\nexport const useUpdateUser = () => {\n const [updateUser, { loading, error }] = useMutation(UPDATE_USER_MUTATION, {\n awaitRefetchQueries: true,\n refetchQueries: (mutationResult) => {\n // Extract userId from the mutation response\n const userId = mutationResult?.data?.updateUser?._id;\n\n if (!userId) return [];\n\n return [{ query: GET_USER, variables: { _id: userId } }];\n },\n });\n\n return { error, loading, updateUser };\n};\n\nexport const useDeleteUser = () => {\n const [deleteUser, { loading, error }] = useMutation(DELETE_USER_MUTATION);\n\n return { deleteUser, error, loading };\n};\n\nexport const useAddUserFavouriteResource = () => {\n const [addUserFavouriteResource, { loading, error }] = useMutation(\n ADD_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { addUserFavouriteResource, error, loading };\n};\n\nexport const useRemoveUserFavouriteResource = () => {\n const [removeUserFavouriteResource, { loading, error }] = useMutation(\n REMOVE_USER_FAVOURITE_RESOURCE_MUTATION,\n {\n awaitRefetchQueries: true,\n refetchQueries: [{ query: GET_USER_FAVOURITES }],\n },\n );\n\n return { error, loading, removeUserFavouriteResource };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { USER_FIELDS_FRAGMENT } from \"../queries/global\";\n\nexport const CREATE_USER_MUTATION = gql`\n mutation createUser($input: UserInputType!) {\n createUser(input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_USER_MUTATION = gql`\n mutation updateUser($_id: ID!, $input: UserInputType!) {\n updateUser(_id: $_id, input: $input) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_USER_MUTATION = gql`\n mutation deleteUser($_id: ID!) {\n deleteUser(_id: $_id)\n }\n`;\n\nexport const ADD_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation addUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n addUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n\nexport const REMOVE_USER_FAVOURITE_RESOURCE_MUTATION = gql`\n mutation removeUserFavouriteResource(\n $resourceId: ID!\n $resourceType: ResourceTypeEnum!\n $userId: ID!\n ) {\n removeUserFavouriteResource(\n resourceId: $resourceId\n resourceType: $resourceType\n userId: $userId\n ) {\n ...UserFields\n }\n }\n ${USER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { MarketType, StallholderType } from \"src/types\";\n\nimport { UserType } from \"../../../types/user\";\nimport {\n GET_USER,\n GET_USER_FAVOURITES,\n GET_USER_MARKETS,\n GET_USER_NOTIFICATIONS,\n GET_USER_STALLHOLDER,\n GET_USERS,\n} from \"../../queries/user\";\n\nexport const useGetUsers = () => {\n const { loading, error, data, refetch } = useQuery(GET_USERS, {\n fetchPolicy: \"network-only\",\n });\n\n const users = data?.users as UserType[];\n\n return { error, loading, refetch, users };\n};\n\nexport const useGetUser = (id: string) => {\n const { loading, error, data, refetch } = useQuery(GET_USER, {\n variables: { id },\n });\n\n const user = data?.user as UserType;\n\n return { error, loading, refetch, user };\n};\n\nexport const useGetUserMarkets = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_MARKETS, {\n fetchPolicy: \"network-only\",\n });\n\n const userMarkets = data?.userMarkets as MarketType[];\n\n return { error, loading, refetch, userMarkets };\n};\n\nexport const useGetUserStallholder = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_STALLHOLDER, {\n fetchPolicy: \"network-only\",\n });\n\n const userStallholder = data?.userStallholder as StallholderType;\n\n return { error, loading, refetch, userStallholder };\n};\n\nexport const useGetUserFavourites = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_FAVOURITES, {\n fetchPolicy: \"network-only\",\n });\n\n const markets = data?.userFavourites.markets as MarketType[];\n const stallholders = data?.userFavourites.stallholders as StallholderType[];\n\n const userFavourites = {\n markets,\n stallholders,\n };\n\n return { error, loading, refetch, userFavourites };\n};\n\nexport const useGetUserNotifications = () => {\n const { loading, error, data, refetch } = useQuery(GET_USER_NOTIFICATIONS, {\n fetchPolicy: \"network-only\",\n });\n\n const userNotifications = data?.userNotifications as boolean;\n\n return { error, loading, refetch, userNotifications };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport {\n CREATE_TESTER_MUTATION,\n DELETE_TESTER_MUTATION,\n UPDATE_TESTER_MUTATION,\n} from \"src/graphql/mutations/testers\";\n\nexport const useCreateTester = () => {\n const [createTester, { data, loading, error }] = useMutation(\n CREATE_TESTER_MUTATION,\n );\n\n return {\n createTester,\n data,\n error,\n loading,\n };\n};\n\nexport const useUpdateTester = () => {\n const [updateTester, { data, loading, error }] = useMutation(\n UPDATE_TESTER_MUTATION,\n );\n\n return {\n data,\n error,\n loading,\n updateTester,\n };\n};\n\nexport const useDeleteTester = () => {\n const [deleteTester, { loading, error }] = useMutation(\n DELETE_TESTER_MUTATION,\n );\n\n return { deleteTester, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nimport { TESTER_FIELDS_FRAGMENT } from \"../queries/testers\";\n\nexport const CREATE_TESTER_MUTATION = gql`\n mutation createTester($input: TesterInputType!) {\n createTester(input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const UPDATE_TESTER_MUTATION = gql`\n mutation updateTester($_id: ID!, $input: TesterInputType!) {\n updateTester(_id: $_id, input: $input) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const DELETE_TESTER_MUTATION = gql`\n mutation deleteTester($_id: ID!) {\n deleteTester(_id: $_id)\n }\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const TESTER_FIELDS_FRAGMENT = gql`\n fragment TesterFields on TesterType {\n _id\n active\n createdAt\n email\n firstName\n lastName\n osType\n resourceType\n updatedAt\n }\n`;\n\nexport const GET_TESTERS = gql`\n query getTesters {\n testers {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n\nexport const GET_TESTER = gql`\n query getTester($_id: ID!) {\n tester(_id: $_id) {\n ...TesterFields\n }\n }\n ${TESTER_FIELDS_FRAGMENT}\n`;\n","import { useQuery } from \"@apollo/client\";\n\nimport { GET_TESTER, GET_TESTERS } from \"src/graphql/queries/testers\";\nimport { TesterType } from \"src/types/testers\";\n\nexport const useGetTesters = () => {\n const { data, loading, error, refetch } = useQuery(GET_TESTERS);\n\n const testers = data?.testers as TesterType[];\n return {\n error,\n loading,\n refetch,\n testers,\n };\n};\n\nexport const useGetTester = (_id: string) => {\n const { data, loading, error, refetch } = useQuery(GET_TESTER, {\n skip: !_id,\n variables: { _id },\n });\n\n const tester = data?.tester as TesterType;\n\n return { error, loading, refetch, tester };\n};\n","import { useMutation } from \"@apollo/client\";\n\nimport { CONTACT_US_MUTATION } from \"../mutations/contactUs\";\n\nexport const useContactUs = () => {\n const [contactUs, { loading, error }] = useMutation(CONTACT_US_MUTATION);\n return { contactUs, error, loading };\n};\n","import { gql } from \"@apollo/client\";\n\nexport const CONTACT_US_MUTATION = gql`\n mutation contactUs($input: ContactUsInputType!) {\n contactUs(input: $input) {\n message\n }\n }\n`;\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderBasicInfoFields: FormField[] = [\n {\n helperText: \"Business Name of the Stallholder *\",\n name: \"name\",\n placeholder: \"Business Name\",\n },\n {\n helperText: \"Description of the Stallholder *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const stallholderMultiLocation: FormField = {\n helperText:\n \"Usefull when you are not only selling products on Markets but also providing services at other locations.\",\n name: \"multiLocation\",\n placeholder: \"Enable multi location\",\n};\n\nexport const stallholderFullAddress: FormField = {\n helperText: \"Enter address\",\n name: \"fullAddress\",\n placeholder: \"Start typing to find address\",\n};\n\nexport const stallholderStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const stallholderEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const stallholderLocationDescription: FormField = {\n helperText: \"Description\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n};\n\nconst availableCityTypes = [\n \"Auckland\",\n \"Christchurch\",\n \"Hamilton\",\n \"Wellington\",\n];\n\nconst nzRegionsWithCities = [\n {\n cities: [\"Auckland\"],\n region: \"Auckland\",\n },\n {\n cities: [\"Tauranga\", \"Whakatāne\", \"Rotorua\"],\n region: \"Bay of Plenty\",\n },\n {\n cities: [\"Christchurch\", \"Timaru\", \"Ashburton\"],\n region: \"Canterbury\",\n },\n {\n cities: [\"Gisborne\"],\n region: \"Gisborne\",\n },\n {\n cities: [\"Napier\", \"Hastings\"],\n region: \"Hawke's Bay\",\n },\n {\n cities: [\"Palmerston North\", \"Whanganui\", \"Levin\"],\n region: \"Manawatū-Whanganui\",\n },\n {\n cities: [\"Blenheim\", \"Picton\"],\n region: \"Marlborough\",\n },\n {\n cities: [\"Nelson\"],\n region: \"Nelson Tasman\",\n },\n {\n cities: [\"Whangārei\", \"Kerikeri\", \"Kaitaia\"],\n region: \"Northland\",\n },\n {\n cities: [\"Dunedin\", \"Queenstown\"],\n region: \"Otago\",\n },\n {\n cities: [\"Invercargill\", \"Gore\"],\n region: \"Southland\",\n },\n {\n cities: [\"New Plymouth\", \"Hāwera\"],\n region: \"Taranaki\",\n },\n {\n cities: [\"Hamilton\", \"Taupō\", \"Cambridge\"],\n region: \"Waikato\",\n },\n {\n cities: [\"Wellington\", \"Lower Hutt\", \"Upper Hutt\", \"Porirua\"],\n region: \"Wellington\",\n },\n];\n\nexport const availableCityOptions: OptionItem[] =\n mapArrayToOptions(availableCityTypes);\n","import { FormField, OptionItem } from \"../../types\";\nimport { mapArrayToOptions } from \"../../utils\";\n\nexport const stallholderElectricity: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. amps, voltage, etc.\",\n isTextArea: true,\n name: \"electricity.details\",\n placeholder: \"Electricity requirements\",\n },\n isRequired: {\n name: \"electricity.isRequired\",\n placeholder: \"Do you require electricity?\",\n },\n};\n\nexport const stallholderGazebo: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"gazebo.details\",\n placeholder: \"Gazebo requirements\",\n },\n isRequired: {\n name: \"gazebo.isRequired\",\n placeholder: \"Do you require Gazebo?\",\n },\n};\n\nexport const stallholderTable: {\n details: FormField;\n isRequired: FormField;\n} = {\n details: {\n helperText: \"Please describe details e.g. size, etc.\",\n isTextArea: true,\n name: \"table.details\",\n placeholder: \"Table requirements\",\n },\n isRequired: {\n name: \"table.isRequired\",\n placeholder: \"Do you require Table?\",\n },\n};\n\nexport const stallholderPriceRange: {\n max: FormField;\n min: FormField;\n} = {\n max: {\n helperText: \"Product maximum price\",\n name: \"priceRange.max\",\n placeholder: \"Maximum price: \",\n },\n min: {\n helperText: \"Product minimum price\",\n name: \"priceRange.min\",\n placeholder: \"Minimum price: \",\n },\n};\n\nexport const stallholderStallSize: {\n depth: FormField;\n width: FormField;\n} = {\n depth: {\n helperText: \"Stall size in depth\",\n name: \"stallSize.depth\",\n placeholder: \"Stall Depth: \",\n },\n width: {\n helperText: \"Stall size in width\",\n name: \"stallSize.width\",\n placeholder: \"Stall Width: \",\n },\n};\n\nexport const stallholderPackaging: FormField = {\n helperText: \"Select packaging type, you can select more than one\",\n name: \"packaging\",\n placeholder: \"Packaging type\",\n};\n\nexport const stallholderPaymentMethod: FormField = {\n helperText: \"Select payment method\",\n name: \"paymentMethod\",\n placeholder: \"Payment Method type\",\n};\n\nexport const stallholderProducedIn: FormField = {\n helperText:\n \"Select where the product is produced, you can select more than one\",\n name: \"producedIn\",\n placeholder: \"Produced type\",\n};\n\nconst packagingTypes = [\n \"Biodegradable\",\n \"Compostable\",\n \"Recyclable\",\n \"Reusable\",\n \"Single-use\",\n \"Glass\",\n \"Paper\",\n \"Plastic\",\n \"Wood\",\n \"Other\",\n];\n\nconst producedIngTypes = [\n \"Commercial Kitchen\",\n \"Home Premises\",\n \"Factory\",\n \"Farm\",\n \"Other\",\n];\n\nexport const packagingOptions: OptionItem[] = mapArrayToOptions(packagingTypes);\nexport const producedIngOptions: OptionItem[] =\n mapArrayToOptions(producedIngTypes);\n","import { FormDateField, FormField, OptionItem } from \"../../types/global\";\n\nexport const marketBasicInfoFields: FormField[] = [\n {\n helperText: \"Name of the Market *\",\n name: \"name\",\n placeholder: \"Name\",\n },\n {\n helperText: \"Name of the Provider *\",\n name: \"provider\",\n placeholder: \"Provider\",\n },\n {\n helperText: \"Description of the Market *\",\n isTextArea: true,\n name: \"description\",\n placeholder: \"Description\",\n },\n {\n helperText: \"Enter Promo code if you have one.\",\n name: \"promoCode\",\n placeholder: \"Promo code\",\n },\n];\n\nexport const marketStartDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"Start Date of the Market *\",\n name: \"startDate\",\n placeholder: \"Start Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"Start Time of the Market *\",\n name: \"startTime\",\n placeholder: \"Start Time\",\n },\n];\n\nexport const marketEndDateFields: FormDateField[] = [\n {\n dateMode: \"date\",\n helperText: \"End Date of the Market *\",\n name: \"endDate\",\n placeholder: \"End Date\",\n },\n {\n dateMode: \"time\",\n helperText: \"End Time of the Market *\",\n name: \"endTime\",\n placeholder: \"End Time\",\n },\n];\n\nexport const availableTagTypes = [\n { icon: \"human-male-female-child\", label: \"All Ages\" },\n { icon: \"weather-sunny\", label: \"Day Market\" },\n { icon: \"account-child\", label: \"Family Friendly\" },\n { icon: \"ticket-percent\", label: \"Free Entry\" },\n { icon: \"home-city\", label: \"Indoor Market\" },\n { icon: \"music\", label: \"Live Music\" },\n { icon: \"bus\", label: \"Near Bustop\" },\n { icon: \"slide\", label: \"Near Playground\" },\n { icon: \"train\", label: \"Near Train Station\" },\n { icon: \"weather-night\", label: \"Night Market\" },\n { icon: \"tree\", label: \"Outdoor Market\" },\n { icon: \"car\", label: \"Parking Available\" },\n { icon: \"dog\", label: \"Pet Friendly\" },\n { icon: \"ship-wheel\", label: \"Port Nearby\" },\n { icon: \"toilet\", label: \"Toilet Available\" },\n { icon: \"wheelchair-accessibility\", label: \"Wheelchair Accessible\" },\n];\n\nexport const tagOptions: OptionItem[] = availableTagTypes.map((tag) => ({\n label: tag.label,\n value: tag.label,\n}));\n","import { FormField } from \"../../types/global\";\nimport { Requirement, StallType } from \"../../types/market\";\n\nexport const marketInfo: FormField[] = [\n {\n helperText: \"Application Deadline *\",\n keyboardType: \"number-pad\",\n name: \"applicationDeadlineHours\",\n placeholder: \"Application Deadline (in hours)\",\n },\n {\n helperText: \"Payment Due Hours *\",\n keyboardType: \"number-pad\",\n name: \"paymentDueHours\",\n placeholder: \"Payment Due (in hours)\",\n },\n {\n helperText: \"Pack In Time *\",\n keyboardType: \"number-pad\",\n name: \"packInTime\",\n placeholder: \"Pack In Time (in hours)\",\n },\n {\n helperText: \"Pack Out Time *\",\n keyboardType: \"number-pad\",\n name: \"packOutTime\",\n placeholder: \"Pack Out Time (in hours)\",\n },\n];\n\nexport const marketInfoPaymentInfo: FormField[] = [\n {\n helperText: \"Account holder name *\",\n name: \"accountHolderName\",\n placeholder: \"Account holder name\",\n },\n {\n helperText: \"Account number *\",\n keyboardType: \"number-pad\",\n name: \"accountNumber\",\n placeholder: \"Account number\",\n },\n {\n helperText: \"Link to payment target *\",\n keyboardType: \"url\",\n name: \"link\",\n placeholder: \"Link to payment target\",\n },\n];\n\nexport const requirementsOptions: Requirement[] = [\n {\n category: \"Environment\",\n label: \"All packaging must be eco-friendly or recyclable where possible.\",\n value: false,\n },\n {\n category: \"Environment\",\n label: \"No single-use plastic bags are to be handed out.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"Stall area must be left clean with no trace of activity after pack-down.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"No disposal of oils, fats, or chemicals in public drains or on grassed areas.\",\n value: false,\n },\n {\n category: \"Environment\",\n label:\n \"You must provide bins at your site for rubbish and recycling, and take away all bins including rubbish, to dispose of outside of the town centre.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Food must be prepared and stored according to your food regulation.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"The stallholder must display a current food grade certificate.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"Only licensed food vendors may sell ready-to-eat food items.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Handwashing facilities must be available at your stall if preparing food.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label: \"You must have a food safety plan in place for your stall.\",\n value: false,\n },\n {\n category: \"Food Safety\",\n label:\n \"Allergens must be clearly listed on packaged and unpackaged food items.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All stallholders must comply with local council regulations.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"No unauthorised subletting of stall space to other vendors.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Gas bottles and fuel containers must be secured and in good condition if applicable.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Fire extinguishers must be available for stalls using cooking or heating equipment.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Stallholders must not sell items that are illegal or prohibited by law.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"All electrical equipment must be tested and tagged.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"Noise levels must be kept to a minimum unless part of a permitted performance.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Pets at the stall must be secured and well-behaved at all times.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Cables must be secured and not create tripping hazards.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stalls must not obstruct emergency access routes.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"First aid kit must be available at the stall for minor injuries.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label: \"Stallholders must hold valid liability insurance where required.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You must secure your gazebo and equipment to withstand wind or bad weather.\",\n value: false,\n },\n {\n category: \"Legal & Safety\",\n label:\n \"You are responsible for the safety of your setup and any potential hazards.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Generators must be quiet and pre-approved by the event organiser.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Only approved products or services may be sold — no last-minute changes.\",\n value: false,\n },\n {\n category: \"Operations\",\n label:\n \"Stallholders must arrive and be fully set up by the designated opening time.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You may not pack down your stall before the event officially ends.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"You must be self-sufficient in all operations.\",\n value: false,\n },\n {\n category: \"Operations\",\n label: \"Stall layout must be kept within your allocated space.\",\n value: false,\n },\n];\n\nexport const stallTypeOptions: StallType[] = [\n {\n label: \"3x3m tent site\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"2x2m mini stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"1.8m table only\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Food truck site\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Wall-based vendor\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Workshop/seating area\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Shared table space\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Corner stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Double stall (6x3m)\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Inside hall stall\",\n price: 0,\n stallCapacity: 0,\n },\n {\n label: \"Outdoor open area\",\n price: 0,\n stallCapacity: 0,\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const loginFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const registerFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n];\n\nexport const requestPasswordResetFields: FormField[] = [\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n];\n\nexport const resetPasswordFields: FormField[] = [\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n\nexport const validateVerificationTokenFields: FormField[] = [\n {\n disabled: true,\n helperText: \"Your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter the Verification code sent to your email\",\n keyboardType: \"number-pad\",\n name: \"verificationToken\",\n placeholder: \"Verification code\",\n },\n];\n","import { FormField } from \"../types/global\";\n\nexport const profileFields: FormField[] = [\n {\n disabled: true,\n helperText: \"Email cannot be changed\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your new password\",\n keyboardType: \"default\",\n name: \"password\",\n placeholder: \"Password\",\n secureTextEntry: true,\n },\n {\n helperText: \"Confirm your new password\",\n keyboardType: \"default\",\n name: \"confirmPassword\",\n placeholder: \"Confirm Password\",\n secureTextEntry: true,\n },\n];\n","import { Category } from \"../types/global\";\n\nexport const availableCategories: Category[] = [\n {\n id: \"food-drinks\",\n name: \"Food & Drinks\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n items: [\n \"Fruits & Vegetables\",\n \"Meat & Seafood\",\n \"Dairy & Eggs\",\n \"Bakery & Desserts\",\n \"Spices & Condiments\",\n \"Packaged & Specialty Foods\",\n \"Other\",\n ],\n name: \"Fresh Food & Groceries\",\n },\n {\n id: \"beverages-specialty-drinks\",\n items: [\n \"Fresh Juices & Smoothies\",\n \"Coffee & Teas\",\n \"Dairy & Plant-Based Drinks\",\n \"Alcoholic Beverages\",\n \"Other\",\n ],\n name: \"Beverages & Specialty Drinks\",\n },\n {\n id: \"prepared-street-foods\",\n items: [\n \"Local & International Specialties\",\n \"Vegan & Vegetarian Options\",\n \"Candies & Sweets\",\n \"BBQ & Grilled Foods\",\n \"Other\",\n ],\n name: \"Prepared & Street Foods\",\n },\n ],\n },\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n subcategories: [\n {\n id: \"home-lifestyle\",\n items: [\n \"Textiles & Home Decor\",\n \"Pottery & Ceramics\",\n \"Woodwork & Carving\",\n \"Handwoven Baskets & Bags\",\n \"Other\",\n ],\n name: \"Home & Lifestyle\",\n },\n {\n id: \"fashion-accessories\",\n items: [\n \"Leather & Hand-Stitched Items\",\n \"Handcrafted Jewelry & Accessories\",\n \"Traditional & Cultural Clothing\",\n \"Other\",\n ],\n name: \"Fashion & Accessories\",\n },\n {\n id: \"eco-friendly-products\",\n items: [\n \"Recycled Goods\",\n \"Eco-Packaging\",\n \"Sustainable Fashion & Accessories\",\n \"Other\",\n ],\n name: \"Eco-Friendly & Sustainable Products\",\n },\n {\n id: \"arts-crafts\",\n items: [\"Art & Crafts\", \"Traditional & Cultural Items\", \"Other\"],\n name: \"Arts & Crafts\",\n },\n ],\n },\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n subcategories: [\n {\n id: \"casual-modern-wear\",\n items: [\n \"Modern & Casual Clothes\",\n \"Jackets & Outerwear\",\n \"Baby & Kids Clothing\",\n \"Scarves & Shawls\",\n \"Second-Hand Designer Clothes\",\n \"Underwear\",\n \"Other\",\n ],\n name: \"Casual & Modern Wear\",\n },\n {\n id: \"footwear\",\n items: [\n \"Everyday Shoes\",\n \"Formal Shoes\",\n \"Handmade & Leather Shoes\",\n \"Other\",\n ],\n name: \"Footwear\",\n },\n {\n id: \"bags-accessories\",\n items: [\n \"Bags, Belts, Hats, Sunglasses, Watches\",\n \"Retro and Vintage Accessories\",\n \"Other\",\n ],\n name: \"Bags & Accessories\",\n },\n {\n id: \"luxury-designer-brands\",\n items: [\n \"Luxury Clothing\",\n \"Designer Shoes\",\n \"Exclusive Accessories\",\n \"Other\",\n ],\n name: \"Luxury & Designer Brands\",\n },\n ],\n },\n {\n id: \"home-garden-household\",\n name: \"Home, Garden & Household Goods\",\n subcategories: [\n {\n id: \"home-essentials-kitchenware\",\n items: [\n \"Kitchenware & Dining\",\n \"Sustainable & Eco-Friendly Items\",\n \"Handmade & Artisan Home Goods\",\n \"Other\",\n ],\n name: \"Home Essentials & Kitchenware\",\n },\n {\n id: \"furniture-decor-organization\",\n items: [\n \"Furniture & Home Decor\",\n \"Textiles & Bedding\",\n \"Storage & Organization\",\n \"Other\",\n ],\n name: \"Furniture, Decor & Organization\",\n },\n {\n id: \"outdoor-cleaning-essentials\",\n items: [\n \"Garden, Plants & Decorations\",\n \"DIY & Home Improvement\",\n \"Cleaning Supplies & Household Essentials\",\n \"Other\",\n ],\n name: \"Outdoor & Cleaning Essentials\",\n },\n ],\n },\n {\n id: \"toys-pets\",\n name: \"Toys & Pets\",\n subcategories: [\n {\n id: \"handmade-eco-friendly-kids\",\n items: [\"Handmade & Local Toys\", \"Eco-Friendly Kids Products\", \"Other\"],\n name: \"Handmade & Eco-Friendly Kids Products\",\n },\n {\n id: \"toys-all-ages\",\n items: [\n \"Classic & Interactive Toys\",\n \"Building Blocks & Board Games\",\n \"Balloons & Party Accessories\",\n \"Other\",\n ],\n name: \"Toys for All Ages\",\n },\n {\n id: \"pet-products-animal-goods\",\n items: [\n \"Natural Pet Foods\",\n \"Handmade Pet Accessories\",\n \"Livestock & Farm Supplies\",\n \"Other\",\n ],\n name: \"Pet Products & Animal Goods\",\n },\n ],\n },\n {\n id: \"health-wellness-selfcare\",\n name: \"Health, Wellness & Self-Care\",\n subcategories: [\n {\n id: \"natural-remedies-supplements\",\n items: [\n \"Vitamins, Minerals & Herbal Remedies\",\n \"Superfoods, Probiotics & Detox Teas\",\n \"Other\",\n ],\n name: \"Natural Remedies & Supplements\",\n },\n {\n id: \"organic-natural-products\",\n items: [\n \"Organic Produce, Honey, Nuts & Seeds\",\n \"Gluten-Free & Specialty Items\",\n \"Other\",\n ],\n name: \"Organic & Natural Products\",\n },\n {\n id: \"fitness-sports-nutrition\",\n items: [\"Protein Powders & Bars\", \"Sports & Energy Drinks\", \"Other\"],\n name: \"Fitness & Sports Nutrition\",\n },\n {\n id: \"mental-wellbeing-relaxation\",\n items: [\n \"Yoga, Meditation & Stress-Relief Tools\",\n \"Massage & Muscle Relaxers\",\n \"Motivational Books & Tools\",\n \"Other\",\n ],\n name: \"Mental Wellbeing & Relaxation\",\n },\n ],\n },\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n subcategories: [\n {\n id: \"electronic-devices-accessories\",\n items: [\n \"Refurbished & Used Electronics\",\n \"Smartphones & Gadgets\",\n \"Computers & Gaming Gear\",\n \"Photography & Audio Equipment\",\n \"Other\",\n ],\n name: \"Electronic Devices & Accessories\",\n },\n ],\n },\n {\n id: \"antiques-collectibles\",\n name: \"Antiques & Collectibles\",\n subcategories: [\n {\n id: \"antiques-vintage-furniture\",\n items: [\n \"Old Clocks, Paintings & Sculptures\",\n \"Coins, Stamps & Rare Books\",\n \"Antique & Vintage Furniture & Home Decor\",\n \"Other\",\n ],\n name: \"Antiques & Vintage Furniture\",\n },\n {\n id: \"historical-rare-items\",\n items: [\n \"War Relics & Military Medals\",\n \"Limited Edition Artworks & Memorabilia\",\n \"Other\",\n ],\n name: \"Historical & Rare Items\",\n },\n {\n id: \"collectible-toys-games\",\n items: [\n \"Limited Edition Figures & Retro Board Games\",\n \"Pop Culture & Sports Memorabilia\",\n \"Other\",\n ],\n name: \"Collectible Toys & Games\",\n },\n ],\n },\n];\n\nexport const categoryColors: Record<string, string> = {\n \"antiques-collectibles\": \"#DE630A\",\n \"clothing-fashion\": \"#6A08C5\",\n \"electronics-technology\": \"#0303BE\",\n \"food-drinks\": \"#FF004D\",\n \"handmade-local-products\": \"#8E4827\",\n \"health-wellness-selfcare\": \"#7DFB03\",\n \"home-garden-household\": \"#006400\",\n \"toys-pets\": \"#3357FF\",\n};\n","import { FormField } from \"../types/global\";\n\nconst socialMedia = [\n {\n key: \"facebook\",\n name: \"Facebook\",\n placeholder: \"https://www.facebook.com/your-page\",\n },\n {\n key: \"instagram\",\n name: \"Instagram\",\n placeholder: \"https://www.instagram.com/your-profile\",\n },\n {\n key: \"tiktok\",\n name: \"TikTok\",\n placeholder: \"https://www.tiktok.com/@your-profile\",\n },\n {\n key: \"twitter\",\n name: \"Twitter\",\n placeholder: \"https://twitter.com/your-profile\",\n },\n {\n key: \"website\",\n name: \"Website\",\n placeholder: \"https://www.yourwebsite.com\",\n },\n {\n key: \"youtube\",\n name: \"YouTube\",\n placeholder: \"https://www.youtube.com/channel/your-channel\",\n },\n];\nexport const socialMediaFields: FormField[] = socialMedia.map((link) => ({\n helperText: link.name,\n keyboardType: \"url\",\n name: link.key,\n placeholder: link.placeholder,\n}));\n","import { FormField } from \"src/types\";\n\nexport const testersFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n];\n","import { FormField } from \"src/types\";\n\nexport const contactUsFields: FormField[] = [\n {\n helperText: \"Enter your first name\",\n keyboardType: \"default\",\n name: \"firstName\",\n placeholder: \"First Name\",\n },\n {\n helperText: \"Enter your last name\",\n keyboardType: \"default\",\n name: \"lastName\",\n placeholder: \"Last Name\",\n },\n {\n helperText: \"Enter your email address\",\n keyboardType: \"email-address\",\n name: \"email\",\n placeholder: \"Email\",\n },\n {\n helperText: \"Enter your message\",\n isTextArea: true,\n keyboardType: \"default\",\n name: \"message\",\n placeholder: \"Message\",\n },\n];\n","export const SAVED_PASSWORD_KEY = \"savedPassword\";\nexport const SAVED_EMAIL_KEY = \"savedEmail\";\nexport const SAVED_TOKEN_KEY = \"savedToken\";\nexport const SAVED_REFRESH_TOKEN_KEY = \"savedRefreshToken\";\nexport const USER_STORAGE_KEY = \"authUser\";\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,OAAO,uBAAuB;AAC9B,OAAO,mBAAmB;AAC1B,OAAO,cAAc;AACrB,OAAO,SAAS;;;ACJT,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,aAAU;AAPA,SAAAA;AAAA,GAAA;AAUL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,iBAAc;AAFJ,SAAAA;AAAA,GAAA;AAKL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,SAAM;AAFI,SAAAA;AAAA,GAAA;AAKL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,+BAA4B;AAC5B,EAAAA,sBAAA,uCAAoC;AAF1B,SAAAA;AAAA,GAAA;AAKL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,oBAAiB;AACjB,EAAAA,kBAAA,yBAAsB;AACtB,EAAAA,kBAAA,sBAAmB;AACnB,EAAAA,kBAAA,+BAA4B;AAC5B,EAAAA,kBAAA,uCAAoC;AAL1B,SAAAA;AAAA,GAAA;AAQL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,iBAAc;AAFJ,SAAAA;AAAA,GAAA;AAKL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,gBAAa;AAdH,SAAAA;AAAA,GAAA;AAiBL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAOL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,uBAAoB;AACpB,EAAAA,iBAAA,4BAAyB;AACzB,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,0BAAuB;AANb,SAAAA;AAAA,GAAA;AASL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,cAAW;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,YAAS;AACT,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;;;AD3EL,IAAM,aAAa;AACnB,IAAM,aAAa;AAG1B,MAAM,OAAO,iBAAiB;AAC9B,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,aAAa;AAWnB,IAAM,aAAa,CACxB,SACA,UAAsB,YACtB,YACG;AAEH,QAAM,cAAc,UAAU,GAAG,OAAO,IAAI,OAAO,KAAK;AAGxD,QAAM,WAAW,UACb,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,EAAE,IAChD,MAAM,SAAS,UAAU;AAG7B,QAAM,gBAAgB,SAAS,OAAO,oBAAoB;AAC1D,QAAM,gBAAgB,SAAS,OAAO,QAAQ;AAG9C,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO,GAAG,aAAa,OAAO,aAAa;AAAA,IAC7C;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,2BAA2B,CAGtC,UACQ;AACR,QAAM,QAAQ,MAAM,EAAE,QAAQ,KAAK;AACnC,SAAO,MAAM,OAAO,CAAC,YAAY;AAC/B,UAAM,WAAW,MAAM,QAAQ,WAAW,UAAU;AACpD,WAAO,SAAS,cAAc,KAAK;AAAA,EACrC,CAAC;AACH;AAEO,IAAM,+BAA+B,CAC1C,MAIA,oBACY;AACZ,QAAM,YAAY,kBACd,MAAM,EAAE,IAAI,iBAAiB,MAAM,IACnC,MAAM,EAAE,QAAQ,KAAK;AAEzB,QAAM,WAAW;AAAA,IACf,GAAG,KAAK,SAAS,IAAI,KAAK,SAAS;AAAA,IACnC,GAAG,UAAU,IAAI,UAAU;AAAA,EAC7B;AAEA,SAAO,SAAS,cAAc,SAAS;AACzC;AAEO,IAAM,kBAAkB,CAAC,cAAsB;AACpD,QAAM,gBAAgB,MAAM,SAAS,EAClC,GAAG,kBAAkB,EACrB,OAAO,UAAU;AAEpB,QAAM,gBAAgB,MAAM,SAAS,EAClC,GAAG,kBAAkB,EACrB,OAAO,UAAU;AAEpB,SAAO,WAAW,eAAe,MAAM;AACzC;AAEO,IAAM,gBAAwB;AAAA,EACnC,UAAU;AAAA;AAAA,EACV,eAAe;AAAA,EACf,WAAW;AAAA,EACX,gBAAgB;AAClB;AAOO,IAAM,iBAAiB,CAAC,QAAkB;AAC/C,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC;AAAA,EAC/C,WAAW,QAAQ,QAAQ,OAAO,QAAQ,UAAU;AAClD,UAAM,EAAE,YAAY,GAAG,WAAW,IAAI;AACtC,WAAO,OAAO,KAAK,UAAU,EAAE;AAAA,MAC7B,CAAC,KAA6B,QAAQ;AACpC,YAAI,GAAG,IAAI,eAAe,WAAW,GAAG,CAAC;AACzC,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;AAQO,IAAM,eAAe,CAAC,MAAc,YAAoB,OAAe;AAC5E,SAAO,KAAK,SAAS,YAAY,KAAK,UAAU,GAAG,SAAS,IAAI,QAAQ;AAC1E;AAOO,IAAM,oBAAoB,CAAC,UAChC,MAAM,IAAI,CAAC,UAAU;AAAA,EACnB,OAAO,KAAK,QAAQ,MAAM,GAAG;AAAA,EAC7B,OAAO,KAAK,QAAQ,QAAQ,GAAG,EAAE,YAAY;AAC/C,EAAE;AAEG,IAAM,wBAAwB,CAAC,QAAwB;AAC5D,SAAO,IACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY,CAAC,EACxE,KAAK,GAAG;AACb;AAEO,IAAM,gBAAgB;AAAA,EAC3B,GAAG,OAAO,OAAO,gBAAgB,EAC9B,IAAI,CAAC,YAAY;AAAA,IAChB,OAAO;AAAA,IACP,OAAO;AAAA,EACT,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;AAAA;AAClD;AAOO,SAAS,yBAEd,OAAiB;AACjB,MAAI,CAAC,SAAS,CAAC,MAAM,QAAQ;AAC3B,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM;AAC/B,UAAM,iBAAiB,GAAG,UAAU,IAAI,UAAU;AAClD,UAAM,QAAQ,MAAM,GAAG,EAAE,SAAS,IAAI,EAAE,SAAS,IAAI,cAAc;AACnE,UAAM,QAAQ,MAAM,GAAG,EAAE,SAAS,IAAI,EAAE,SAAS,IAAI,cAAc;AACnE,WAAO,MAAM,QAAQ,IAAI,MAAM,QAAQ;AAAA,EACzC,CAAC;AACH;AAEO,IAAM,uBAAuB,OAAO,OAAO,WAAW;AACtD,IAAM,yBACX,kBAAkB,oBAAoB;AAEjC,IAAM,uBAAqC;AAAA,EAChD,OAAO,OAAO,iBAAiB;AACjC;AAEO,SAAS,aAAa,KAAqB;AAChD,MAAI,CAAC,IAAI,WAAW,SAAS,KAAK,CAAC,IAAI,WAAW,UAAU,GAAG;AAC7D,WAAO,WAAW,GAAG;AAAA,EACvB;AACA,SAAO;AACT;;;AExKA,IAAM,iBAAiB,CAAC,OAAgB,YAAoB;AAC1D,UAAQ,MAAM,SAAS,KAAK;AAC9B;AAOO,IAAM,oBAAoB,CAAC,cAAmC;AACnE,QAAM,iBAAiB,OACrB,SAC2C;AAC3C,QAAI;AACF,YAAM,WAAW,MAAM;AAAA,QACrB,sEAAsE,IAAI,8BAA8B,SAAS;AAAA,MACnH;AAEA,UAAI,CAAC,SAAS,IAAI;AAChB,cAAM,IAAI,MAAM,uBAAuB,SAAS,MAAM,EAAE;AAAA,MAC1D;AAEA,YAAM,OAAO,MAAM,SAAS,KAAK;AACjC,aAAO,KAAK;AAAA,IACd,SAAS,OAAO;AACd,cAAQ,MAAM,+BAA+B,KAAK;AAClD,qBAAe,OAAO,sCAAsC;AAAA,IAC9D;AAAA,EACF;AAEA,QAAM,kBAAkB,OACtB,YACsC;AACtC,QAAI;AACF,YAAM,WAAW,MAAM;AAAA,QACrB,oEAAoE,OAAO,QAAQ,SAAS;AAAA,MAC9F;AAEA,UAAI,CAAC,SAAS,IAAI;AAChB,cAAM,IAAI,MAAM,uBAAuB,SAAS,MAAM,EAAE;AAAA,MAC1D;AAEA,YAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,YAAM,EAAE,OAAO,IAAI;AACnB,YAAM,EAAE,KAAK,IAAI,IAAI,OAAO,SAAS;AACrC,YAAM,EAAE,oBAAoB,kBAAkB,IAAI;AAElD,YAAM,UAAU,mBAAmB,OAAO,CAAC,KAAK,SAAS;AACvD,YAAI,KAAK,MAAM,SAAS,eAAe,GAAG;AACxC,iBAAO,EAAE,GAAG,KAAK,cAAc,KAAK,UAAU;AAAA,QAChD;AACA,YAAI,KAAK,MAAM,SAAS,OAAO,GAAG;AAChC,iBAAO,EAAE,GAAG,KAAK,YAAY,KAAK,UAAU;AAAA,QAC9C;AACA,YAAI,KAAK,MAAM,SAAS,UAAU,GAAG;AACnC,iBAAO,EAAE,GAAG,KAAK,MAAM,KAAK,UAAU;AAAA,QACxC;AACA,YAAI,KAAK,MAAM,SAAS,6BAA6B,GAAG;AACtD,iBAAO,EAAE,GAAG,KAAK,QAAQ,KAAK,UAAU;AAAA,QAC1C;AACA,YAAI,KAAK,MAAM,SAAS,SAAS,GAAG;AAClC,iBAAO,EAAE,GAAG,KAAK,SAAS,KAAK,UAAU;AAAA,QAC3C;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAiB;AAErB,YAAM,cAAc;AAAA,QAClB,MAAM,QAAQ,KAAK,YAAY;AAAA,QAC/B,aAAa,CAAC,KAAK,GAAG;AAAA;AAAA,QACtB,SAAS,QAAQ;AAAA,QACjB,aAAa;AAAA,QACb,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ,QAAQ,OAAO,QAAQ,YAAY,EAAE;AAAA;AAAA,QAC7C,MAAM;AAAA;AAAA,MACR;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,qBAAe,OAAO,gCAAgC;AAAA,IACxD;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;ACrHA,SAAS,mBAAmB;AAC5B,YAAY,WAAW;AACvB,SAAS,eAAe;;;ACDxB,OAAOC,YAAW;AAClB,OAAOC,wBAAuB;AAC9B,OAAOC,oBAAmB;AAC1B,YAAY,SAAS;AAWd,IAAM,yBAAyB,MAEjC,WAAO,EACP,KAAK,EACL;AAAA,EAAU,CAAC,UACV,OAAO,UAAU,WAAW,MAAM,YAAY,IAAI;AACpD,EACC;AAAA,EAAU,CAAC,UACV,OAAO,UAAU,WAAW,aAAa,KAAK,IAAI;AACpD;AAEG,IAAM,iBAAiB,CAC5B,WACA,UAAiC,CAAC,MACG;AACrC,SAAO,SAAU,OAAO,SAAS;AAC/B,UAAM,WAAW,QAAQ,eAAe,SAAS,KAAK;AAEtD,UAAM,QAAQ,QAAQ,eAClB,mBACA;AAEJ,QAAI,MAAM,KAAK,QAAQ,GAAG;AACxB,aAAO,QAAQ,YAAY;AAAA,QACzB,SAAS,GAAG,SAAS;AAAA,MACvB,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AACF;AAEAC,OAAM,OAAOC,cAAa;AAC1BD,OAAM,OAAOE,kBAAiB;AAE9B,IAAM,MAAMF,OAAM;AAGX,IAAM,uBACV,WAAO,EACP,KAAK,eAAe,kCAAkC,CAAC,UAAU;AAChE,SAAO,QACHA,OAAM,OAAO,YAAY,IAAI,EAAE,cAAc,KAAK,KAAK,IACvD;AACN,CAAC;AAEI,IAAM,yBACV,WAAO,EACP,KAAK,eAAe,oCAAoC,CAAC,UAAU;AAClE,SAAO,QACHA,OAAM,OAAO,YAAY,IAAI,EAAE,cAAc,KAAK,KAAK,IACvD;AACN,CAAC;AAEI,IAAM,4BACV,WAAO,EACP;AAAA,EACC;AAAA,EACA;AAAA,EACA,SAAU,OAAO;AACf,UAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,QAAI,CAAC,aAAa,CAAC,MAAO,QAAO;AACjC,WAAOA,OAAM,OAAO,YAAY,IAAI,EAAE;AAAA,MACpCA,OAAM,WAAW,YAAY,IAAI;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AACF;AAEK,IAAM,kCACV,WAAO,EACP;AAAA,EACC;AAAA,EACA;AAAA,EACA,SAAU,OAAO;AACf,UAAM,EAAE,WAAW,SAAS,UAAU,IAAI,KAAK;AAC/C,QAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,MAAO,QAAO;AAE3D,UAAM,gBAAgBA;AAAA,MACpB,GAAG,SAAS,IAAI,SAAS;AAAA,MACzB,GAAG,UAAU,IAAI,UAAU;AAAA,MAC3B;AAAA,IACF;AACA,UAAM,cAAcA;AAAA,MAClB,GAAG,OAAO,IAAI,KAAK;AAAA,MACnB,GAAG,UAAU,IAAI,UAAU;AAAA,MAC3B;AAAA,IACF;AAEA,WAAO,YAAY,QAAQ,aAAa;AAAA,EAC1C;AACF;AAEK,IAAM,8BACV,WAAO,EACP;AAAA,EACC;AAAA,EACA;AAAA,EACA,SAAU,OAAO;AACf,UAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,QAAI,CAAC,aAAa,CAAC,MAAO,QAAO;AACjC,UAAM,gBAAgBA;AAAA,MACpB,GAAG,SAAS,IAAI,KAAK;AAAA,MACrB,GAAG,UAAU,IAAI,UAAU;AAAA,MAC3B;AAAA,IACF;AACA,WAAO,cAAc,cAAc,GAAG;AAAA,EACxC;AACF;AAEK,IAAM,iBAAqB,WAAO,EAAE,MAAM;AAAA,EAC/C,SACG,WAAO,EACP,MAAM,UAAU,EAChB,OAAO,oBAAoB,EAC3B,OAAO,yBAAyB,EAChC,SAAS,sBAAsB;AAAA,EAClC,SACG,WAAO,EACP,MAAM,UAAU,EAChB,OAAO,+BAA+B,EACtC,SAAS,sBAAsB;AAAA,EAClC,WACG,WAAO,EACP,MAAM,YAAY,EAClB,OAAO,sBAAsB,EAC7B,SAAS,wBAAwB;AAAA,EACpC,WACG,WAAO,EACP,MAAM,YAAY,EAClB,OAAO,2BAA2B,EAClC,SAAS,wBAAwB;AACtC,CAAC;AAED,IAAM,mBAAuB,WAAO;AAAA,EAClC,OACG,WAAO,EACP,KAAK,EACL,MAAM,aAAa,EACnB,SAAS,yBAAyB;AAAA,EACrC,OACG,WAAO,EACP,MAAM,aAAa,EACnB,IAAI,KAAK,kCAAkC,EAC3C,SAAS,yBAAyB,EAClC;AAAA,IACC;AAAA,IACA;AAAA,IACA,eAAe,eAAe,EAAE,cAAc,KAAK,CAAC;AAAA,EACtD;AAAA,EACF,eACG,WAAO,EACP,UAAU,iCAAiC,EAC3C,IAAI,GAAG,mCAAmC,EAC1C,QAAQ,uCAAuC,EAC/C,SAAS,4BAA4B,EACrC,KAAK,oBAAoB,IAAI,eAAe,gBAAgB,CAAC;AAClE,CAAC;AAEM,IAAM,0BAA0B,eAAe,MAAM;AAAA,EAC1D,YACG,UAAM,EACN,GAAG,gBAAgB,EACnB,IAAI,GAAG,qCAAqC,EAC5C,SAAS,0BAA0B;AACxC,CAAC;AAEM,IAAM,iBAAqB,WAAO,EAAE,MAAM;AAAA,EAC/C,MAAU,WAAO,EAAE,MAAM,MAAM,EAAE,SAAS,kBAAkB;AAAA,EAC5D,aACG,UAAM,EACN,GAAO,WAAO,EAAE,SAAS,6BAA6B,CAAC,EACvD;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,SAAS,0BAA0B;AAAA,EACtC,SAAa,WAAO,EAAE,MAAM,SAAS,EAAE,SAAS,qBAAqB;AAAA,EACrE,aAAiB,WAAO,EAAE,MAAM,SAAS,EAAE,SAAS,qBAAqB;AAAA,EACzE,UAAc,WAAO,EAAE,MAAM,UAAU,EAAE,SAAS,sBAAsB;AAAA,EACxE,WAAe,WAAO,EAAE,MAAM,WAAW,EAAE,SAAS,uBAAuB;AAAA,EAC3E,QAAY,WAAO,EAAE,MAAM,QAAQ,EAAE,SAAS,oBAAoB;AAAA,EAClE,MACG,WAAO,EACP,MAAM,CAAC,OAAO,GAAG,sBAAsB,EACvC,QAAQ,OAAO,EACf,SAAS,kBAAkB;AAChC,CAAC;AAGM,IAAM,cACV,WAAO,EACP,MAAM,uBAAuB,EAC7B,SAAS,mBAAmB,EAC5B,MAAM,OAAO,EACb;AAAA,EAAU,CAAC,UACV,OAAO,UAAU,WAAW,MAAM,YAAY,IAAI;AACpD;AAGK,IAAM,iBACV,WAAO,EACP,KAAK,EACL,MAAM,UAAU,EAChB,IAAI,GAAG,6CAA6C,EACpD,SAAS,sBAAsB;AAElC,IAAM,oBAAwB,WAAO;AAAA,EACnC,MACG,UAAuB,EACvB,MAAM,OAAO,OAAO,eAAe,CAAC,EACpC,MAAM,mBAAmB,EACzB,SAAS;AAAA,EACZ,MAAU,WAAO,EAAE,KAAK,QAAQ;AAAA,IAC9B,IAAI,CAAC,SAAsC,CAAC,CAAC;AAAA;AAAA,IAC7C,MAAM,MACJ,uBAAuB,EACpB,SAAS,mCAAmC,EAC5C,IAAI,0BAA0B,EAC9B,MAAM,mBAAmB;AAAA,IAC9B,WAAW,CAAC,WAAW,OAAO,YAAY;AAAA,EAC5C,CAAC;AACH,CAAC;AAEM,IAAM,uBAA2B,WAAO,EAAE,MAAM;AAAA,EACrD,QAAY,YAAQ,EAAE,SAAS,oBAAoB;AAAA,EACnD,OAAW,WAAO;AAAA,IAChB,QAAY,WAAO,EAAE,MAAM,OAAO,EAAE,SAAS,mBAAmB;AAAA,IAChE,OAAW,WAAO,EAAE,MAAM,aAAa,EAAE,SAAS,mBAAmB;AAAA,EACvE,CAAC;AAAA,EACD,aACG,WAAO,EACP,MAAM,aAAa,EACnB,KAAK,EACL,IAAI,CAAC,EACL,SAAS,yBAAyB;AAAA,EACrC,MAAU,WAAO,EAAE,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,kBAAkB;AAAA,EAC1E,QAAY,WAAO,EAAE,MAAM,QAAQ,EAAE,SAAS,oBAAoB;AAAA,EAClE,aAAiB,UAAM,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,SAAS;AACrE,CAAC;;;AC7PD,YAAYG,UAAS;AAarB,IAAM,qBAAqB;AAEpB,IAAM,eAAe,qBAAqB,MAAM;AAAA,EACrD,UAAc,WAAM,EAAE,GAAG,cAAc,EAAE,SAAS,sBAAsB;AAAA,EACxE,UAAU;AAAA,EACV,UACG,YAAO,EACP,MAAM,UAAU,EAChB,KAAK,EACL,IAAI,CAAC,EACL,SAAS,sBAAsB;AAAA,EAClC,MACG,WAAM,EACN,GAAO,YAAO,EAAE,QAAQ,CAAC,EACzB,IAAI,GAAG,mBAAmB,EAC1B,SAAS,mBAAmB;AACjC,CAAC;AAED,IAAM,oBAAwB,YAAO;AAAA,EACnC,eACG,WAAyB,EACzB,MAAM,OAAO,OAAO,iBAAiB,CAAC,EACtC,SAAS,gCAAgC;AAAA,EAE5C,mBAAuB,YAAO,EAAE,KAAK,iBAAiB;AAAA,IACpD;AAAA,IACA,MAAM,CAAC,WACL,OACG,SAAS,mDAAmD,EAC5D,KAAK;AAAA,IACV,WAAW,CAAC,WAAW,OAAO,YAAY;AAAA,EAC5C,CAAC;AAAA,EAED,eAAmB,YAAO,EAAE,KAAK,iBAAiB;AAAA,IAChD;AAAA,IACA,MAAM,CAAC,WACL,OACG,SAAS,8CAA8C,EACvD;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,KAAK;AAAA,IACV,WAAW,CAAC,WAAW,OAAO,YAAY;AAAA,EAC5C,CAAC;AAAA,EAED,MAAU,YAAO,EAAE,KAAK,iBAAiB;AAAA,IACvC,IAAI,CAAC,QAA2B;AAAA,IAChC,MAAM,MACJ,uBAAuB,EACpB,IAAI,0BAA0B,EAC9B,SAAS,oCAAoC;AAAA,IAClD,WAAW,CAAC,WAAW,OAAO,YAAY;AAAA,EAC5C,CAAC;AACH,CAAC;AAEM,IAAM,mBAAuB,YAAO,EAAE,MAAM;AAAA,EACjD,0BACG,YAAO,EACP,SAAS,EACT,UAAU,CAAC,OAAO,kBAAmB,kBAAkB,KAAK,OAAO,KAAM,EACzE,UAAU,6CAA6C,EACvD,IAAI,GAAG,+CAA+C,EACtD,SAAS,wCAAwC,EACjD,KAAK,oBAAoB,IAAI,eAAe,4BAA4B,CAAC;AAAA,EAC5E,UACG,WAAM,EACN,GAAG,uBAAuB,EAC1B,SAAS,sBAAsB;AAAA,EAClC,UAAc,YAAO,EAAE,KAAK,EAAE,SAAS,uBAAuB;AAAA,EAC9D,YACG,YAAO,EACP,UAAU,+BAA+B,EACzC,IAAI,GAAG,iCAAiC,EACxC,SAAS,0BAA0B,EACnC,KAAK,oBAAoB,IAAI,eAAe,cAAc,CAAC;AAAA,EAC9D,aACG,YAAO,EACP,UAAU,gCAAgC,EAC1C,IAAI,GAAG,kCAAkC,EACzC,SAAS,2BAA2B,EACpC,KAAK,oBAAoB,IAAI,eAAe,eAAe,CAAC;AAAA,EAC/D,iBACG,YAAO,EACP,UAAU,oCAAoC,EAC9C,IAAI,GAAG,sCAAsC,EAC7C,SAAS,+BAA+B,EACxC,KAAK,oBAAoB,IAAI,eAAe,mBAAmB,CAAC;AAAA,EACnE,aACG,WAAM,EACN,GAAG,iBAAiB,EACpB,IAAI,GAAG,uCAAuC,EAC9C,SAAS,0BAA0B;AACxC,CAAC;;;AC3GD,YAAYC,UAAS;AAMd,IAAM,oBAAoB,qBAAqB,MAAM;AAAA,EAC1D,YACG,WAAM,EACN;AAAA,IACK,YAAO,EAAE,MAAM;AAAA,MACjB,IAAQ,YAAO,EAAE,SAAS,yBAAyB;AAAA,MACnD,MAAU,YAAO,EAAE,SAAS,2BAA2B;AAAA,MACvD,eACG,WAAM,EACN;AAAA,QACK,YAAO,EAAE,MAAM;AAAA,UACjB,IAAQ,YAAO,EAAE,QAAQ;AAAA,UACzB,OAAW,WAAM,EAAE,GAAO,YAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,UACvD,MAAU,YAAO,EAAE,QAAQ;AAAA,QAC7B,CAAC;AAAA,MACH,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,GAAG,8CAA8C,EACrD,SAAS,yBAAyB;AAAA,EACrC,eAAmB,aAAQ,EAAE,SAAS,4BAA4B;AAAA,EAClE,UACG,WAAM,EACN,GAAO,YAAO,EAAE,QAAQ,CAAC,EACzB,IAAI,GAAG,6CAA6C,EACpD,SAAS,uBAAuB;AACrC,CAAC;AAEM,IAAM,wBAA4B,YAAO,EAAE,MAAM;AAAA,EACtD,aAAiB,YAAO,EAAE,MAAM;AAAA,IAC9B,SACG,YAAO,EACP,KAAK,EACL,KAAK,oBAAoB,sBAAsB,SAAU,OAAO;AAC/D,aAAO,CAAC,KAAK,QAAQ,eAAe,OAAO,KAAK,EAAE,UAAU,KAAK;AAAA,IACnE,CAAC,EACA,SAAS;AAAA,IACZ,YAAgB,aAAQ,EAAE,SAAS,qCAAqC;AAAA,EAC1E,CAAC;AAAA,EACD,sBAA0B,WAAM,EAAE,GAAO,YAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACtE,4BAAgC,WAAM,EAAE,GAAO,YAAO,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EAC5E,QAAY,YAAO,EAAE,MAAM;AAAA,IACzB,SACG,YAAO,EACP,KAAK,EACL,KAAK,oBAAoB,sBAAsB,SAAU,OAAO;AAC/D,aAAO,CAAC,KAAK,QAAQ,eAAe,OAAO,KAAK,EAAE,UAAU,KAAK;AAAA,IACnE,CAAC,EACA,SAAS;AAAA,IACZ,YAAgB,aAAQ,EAAE,SAAS,gCAAgC;AAAA,EACrE,CAAC;AAAA,EACD,WACG,WAAM,EACN,GAAO,YAAO,EAAE,QAAQ,CAAC,EACzB,IAAI,GAAG,+CAA+C,EACtD,SAAS,uBAAuB;AAAA,EACnC,eACG,WAAyB,EACzB,MAAM,OAAO,OAAO,iBAAiB,CAAC,EACtC,SAAS,gCAAgC;AAAA,EAC5C,YAAgB,YAAO,EAAE,MAAM;AAAA,IAC7B,KACG,YAAO,EACP,IAAI,CAAC,EACL,SAAS,uBAAuB,EAChC;AAAA,MACC;AAAA,MACA;AAAA,MACA,SAAU,KAAK;AACb,cAAM,EAAE,IAAI,IAAI,KAAK;AACrB,eAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAAA,IACF,KAAS,YAAO,EAAE,IAAI,CAAC,EAAE,SAAS,uBAAuB;AAAA,EAC3D,CAAC;AAAA,EACD,YACG,WAAM,EACN,GAAO,YAAO,EAAE,QAAQ,CAAC,EACzB,IAAI,GAAG,iDAAiD,EACxD,SAAS,yBAAyB;AAAA,EACrC,eAAmB,YAAO,EAAE,KAAK,EAAE,SAAS,4BAA4B;AAAA,EACxE,WAAe,YAAO,EAAE,MAAM;AAAA,IAC5B,OAAW,YAAO,EAAE,IAAI,CAAC,EAAE,SAAS,mBAAmB;AAAA,IACvD,OAAW,YAAO,EAAE,IAAI,CAAC,EAAE,SAAS,mBAAmB;AAAA,EACzD,CAAC;AAAA,EACD,OAAW,YAAO,EAAE,MAAM;AAAA,IACxB,SACG,YAAO,EACP,KAAK,EACL,KAAK,oBAAoB,sBAAsB,SAAU,OAAO;AAC/D,aAAO,CAAC,KAAK,QAAQ,eAAe,OAAO,KAAK,EAAE,UAAU,KAAK;AAAA,IACnE,CAAC,EACA,SAAS;AAAA,IACZ,YAAgB,aAAQ,EAAE,SAAS,+BAA+B;AAAA,EACpE,CAAC;AACH,CAAC;;;ACtGD,YAAYC,UAAS;AAMd,IAAM,aAAiB,YAAO,EAAE,MAAM;AAAA,EAC3C,QAAY,aAAQ,EAAE,SAAS,oBAAoB;AAAA,EACnD,OAAO;AAAA,EACP,WAAe,YAAO,EAAE,SAAS,wBAAwB;AAAA,EACzD,UAAc,YAAO,EAAE,SAAS,uBAAuB;AAAA,EACvD,UAAU;AAAA,EACV,iBAAqB,YAAO,EAAE,SAAS,8BAA8B;AAAA;AAAA,EAErE,iBACG,YAAO,EACP,MAAM,CAAK,SAAI,UAAU,CAAC,GAAG,sBAAsB,EACnD,SAAS,8BAA8B;AAAA,EAC1C,MACG,WAAoB,EACpB,MAAM,OAAO,OAAO,YAAY,CAAC,EACjC,SAAS,kBAAkB;AAChC,CAAC;;;ACtBD,YAAYC,UAAS;AAId,IAAM,cAAkB,YAAO,EAAE,MAAM;AAAA,EAC5C,OAAO;AAAA,EACP,UAAU;AACZ,CAAC;AAEM,IAAM,iBAAqB,YAAO,EAAE,MAAM;AAAA,EAC/C,OAAO;AAAA,EACP,WACG,YAAO,EACP,MAAM,YAAY,EAClB,SAAS,wBAAwB;AAAA,EACpC,UAAc,YAAO,EAAE,MAAM,WAAW,EAAE,SAAS,uBAAuB;AAAA,EAC1E,UAAU;AAAA,EACV,iBACG,YAAO,EACP,MAAM,kBAAkB,EACxB,SAAS,8BAA8B;AAC5C,CAAC;AAEM,IAAM,6BAAiC,YAAO,EAAE,MAAM;AAAA,EAC3D,OAAO;AACT,CAAC;AAEM,IAAM,sBAA0B,YAAO,EAAE,MAAM;AAAA,EACpD,OAAO;AAAA,EACP,UAAU;AAAA;AAAA,EAEV,iBACG,YAAO,EACP,MAAM,CAAK,SAAI,UAAU,CAAC,GAAG,sBAAsB,EACnD,SAAS,8BAA8B;AAC5C,CAAC;AAEM,IAAM,kCAAsC,YAAO,EAAE,MAAM;AAAA,EAChE,OAAO;AAAA,EACP,mBACG,YAAO,EACP,SAAS,+BAA+B,EACxC,QAAQ,WAAW,4CAA4C;AACpE,CAAC;;;AC3CD,YAAYC,UAAS;AAMd,IAAM,gBAAoB,YAAO,EAAE,MAAM;AAAA,EAC9C,OAAO;AAAA,EACP,WAAe,YAAO,EAAE,SAAS,wBAAwB;AAAA,EACzD,UAAc,YAAO,EAAE,SAAS,uBAAuB;AAAA,EACvD,QACG,WAAkB,EAClB,MAAM,OAAO,OAAO,UAAU,GAAG,qCAAqC,EACtE,SAAS,qBAAqB;AAAA,EACjC,cACG,WAAwB,EACxB;AAAA,IACC,OAAO,OAAO,gBAAgB;AAAA,IAC9B;AAAA,EACF,EACC,SAAS,2BAA2B;AACzC,CAAC;;;ACZM,IAAM,sBAAgD;AAAA,EAC3D,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA,aACE;AAAA,EACF,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,aAAa,CAAC;AAChB;AAEO,IAAM,0BAA0C;AAAA,EACrD,GAAG;AAAA,EACH,UAAU;AAAA,IACR;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa,CAAC,GAAG,CAAC;AAAA;AAAA,IAClB,SAAS;AAAA,IACT,aAAa;AAAA,IACb,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA;AAAA,EACR;AAAA,EACA,UAAU;AAAA,EACV,MAAM,CAAC;AACT;AAEO,IAAM,8BAAkD;AAAA,EAC7D,0BAA0B;AAAA,EAC1B,UAAU;AAAA,IACR;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY,CAAC;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY,CAAC;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AAAA,EACV,YAAY;AAAA;AAAA,EACZ,aAAa;AAAA;AAAA,EACb,iBAAiB;AAAA,EACjB,aAAa,CAAC;AAAA,EACd,cAAc,CAAC;AACjB;AAEO,IAAM,+BAAoD;AAAA,EAC/D,GAAG;AAAA,EACH,YAAY,CAAC;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,UAAU,CAAC;AAAA,EACX,cAAc;AAChB;AAEO,IAAM,mCAA4D;AAAA,EACvE,aAAa,EAAE,SAAS,MAAM,YAAY,MAAM;AAAA,EAChD,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,QAAQ,EAAE,SAAS,MAAM,YAAY,MAAM;AAAA,EAC3C,WAAW,CAAC;AAAA,EACZ,eAAe;AAAA,EACf,YAAY,EAAE,KAAK,GAAG,KAAK,EAAE;AAAA,EAC7B,YAAY,CAAC;AAAA,EACb,eAAe;AAAA,EACf,WAAW,EAAE,OAAO,GAAG,OAAO,EAAE;AAAA,EAChC,OAAO,EAAE,SAAS,MAAM,YAAY,MAAM;AAC5C;AAEO,SAAS,8BACd,MAC0B;AAC1B,SAAO;AAAA,IACL,KAAK,KAAK;AAAA,IACV,QAAQ,KAAK;AAAA,IACb,OAAO,KAAK;AAAA,IACZ,aAAa,KAAK;AAAA,IAClB,aAAa,KAAK;AAAA,IAClB,QAAQ,KAAK;AAAA,IACb,cAAc,KAAK;AAAA,IACnB,MAAM,KAAK;AAAA,IACX,YAAY,KAAK;AAAA,IACjB,MAAM,KAAK;AAAA,IACX,WAAW,KAAK;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,aAAa,KAAK;AAAA,EACpB;AACF;;;AP5GO,SAAS,mBACd,MAC2B;AAC3B,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,QAA6B;AAAA,IAC/B,eAAe;AAAA,IACf,UAAU,YAAY,iBAAiB;AAAA,EACzC,CAAC;AAED,EAAM,gBAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,GAAG,8BAA8B,IAAI;AAAA,QACrC,YAAY,KAAK;AAAA,QACjB,WAAW,KAAK;AAAA,QAChB,eAAe,KAAK;AAAA,QACpB,UAAU,KAAK;AAAA,QACf,cAAc,KAAK;AAAA,MACrB,CAAC;AAAA,IACH,OAAO;AACL,YAAM,4BAA4B;AAAA,IACpC;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAAC;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,UAAU;AAEd,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAAA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AQpGA,SAAS,eAAAC,oBAAmB;AAC5B,YAAYC,YAAW;AACvB,SAAS,WAAAC,gBAAe;AAejB,SAAS,uBACd,MAC+B;AAC/B,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAAiC;AAAA,IACnC,eAAe;AAAA,IACf,UAAUC,aAAY,qBAAqB;AAAA,EAC7C,CAAC;AAED,EAAM,iBAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,KAAK,KAAK;AAAA,QACV,aAAa,KAAK;AAAA,QAClB,sBAAsB,KAAK;AAAA,QAC3B,4BAA4B,KAAK;AAAA,QACjC,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,eAAe,KAAK;AAAA,QACpB,YAAY,KAAK;AAAA,QACjB,YAAY,KAAK;AAAA,QACjB,eAAe,KAAK;AAAA,QACpB,WAAW,KAAK;AAAA,QAChB,OAAO,KAAK;AAAA,MACd,CAAC;AAAA,IACH,OAAO;AACL,YAAM,gCAAgC;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,UAAU;AAEd,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC3FA,SAAS,eAAAC,oBAAmB;AAC5B,YAAYC,YAAW;AACvB,SAAS,WAAAC,gBAAe;AAejB,SAAS,cAAc,MAA6C;AACzE,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAAwB;AAAA,IAC1B,eAAe;AAAA,IACf,UAAUC,aAAY,YAAY;AAAA,EACpC,CAAC;AAED,EAAM,iBAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,GAAG,8BAA8B,IAAI;AAAA,QACrC,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,MAAM,KAAK;AAAA,MACb,CAAC;AAAA,IACH,OAAO;AACL,YAAM,uBAAuB;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAAC;AAAA,EACF,IAAI,UAAU;AAEd,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAAA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC5FA,SAAS,eAAAC,oBAAmB;AAC5B,YAAYC,YAAW;AACvB,SAAS,WAAAC,gBAAe;AAejB,SAAS,kBACd,MAC0B;AAC1B,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAA4B;AAAA,IAC9B,eAAe;AAAA,IACf,UAAUC,aAAY,gBAAgB;AAAA,EACxC,CAAC;AAED,EAAM,iBAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,KAAK,KAAK;AAAA,QACV,0BAA0B,KAAK;AAAA,QAC/B,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,YAAY,KAAK;AAAA,QACjB,aAAa,KAAK;AAAA,QAClB,iBAAiB,KAAK;AAAA,QACtB,aAAa,KAAK;AAAA,QAClB,cAAc,KAAK;AAAA,MACrB,CAAC;AAAA,IACH,OAAO;AACL,YAAM,2BAA2B;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,UAAU;AAEd,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AClFA,SAAS,eAAAC,oBAAmB;AAC5B,YAAYC,YAAW;AACvB,SAAS,WAAAC,gBAAe;AAMxB,IAAM,gBAA8B;AAAA,EAClC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB;AACF;AAQO,SAAS,YAAY,MAAyC;AACnE,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAAsB;AAAA,IACxB;AAAA,IACA,UAAUC,aAAY,UAAU;AAAA,EAClC,CAAC;AAED,EAAM,iBAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,KAAK,KAAK;AAAA,QACV,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK;AAAA,QACb,cAAc,KAAK;AAAA,QACnB,iBAAiB,KAAK;AAAA,QACtB,OAAO,KAAK;AAAA,QACZ,WAAW,KAAK;AAAA,QAChB,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,iBAAiB,KAAK;AAAA,QACtB,MAAM,KAAK;AAAA,MACb,CAAC;AAAA,IACH,OAAO;AACL,YAAM,aAAa;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,UAAU;AAEd,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AChGA,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,WAAAC,gBAAe;AAKxB,IAAMC,iBAA+B;AAAA,EACnC,OAAO;AAAA,EACP,UAAU;AACZ;AAOO,SAAS,eAAoC;AAClD,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAAuB;AAAA,IACzB,eAAAD;AAAA,IACA,UAAUE,aAAY,WAAW;AAAA,EACnC,CAAC;AAED,QAAM,EAAE,OAAO,SAAS,IAAI,UAAU;AAEtC,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC5CA,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,WAAAC,gBAAe;AAKxB,IAAMC,iBAAkC;AAAA,EACtC,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB;AACnB;AAOO,SAAS,kBAA0C;AACxD,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAA0B;AAAA,IAC5B,eAAAD;AAAA,IACA,UAAUE,aAAY,cAAc;AAAA,EACtC,CAAC;AAED,QAAM,EAAE,OAAO,WAAW,UAAU,UAAU,gBAAgB,IAAI,UAAU;AAE5E,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AClDA,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,WAAAC,gBAAe;AAQxB,IAAMC,iBAA8C;AAAA,EAClD,OAAO;AACT;AAEO,SAAS,8BAAkE;AAChF,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAAsC;AAAA,IACxC,eAAAD;AAAA,IACA,UAAUE,aAAY,0BAA0B;AAAA,EAClD,CAAC;AAED,QAAM,EAAE,MAAM,IAAI,UAAU;AAE5B,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;ACxCA,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,WAAAC,gBAAe;AAQxB,IAAMC,iBAAmD;AAAA,EACvD,OAAO;AAAA,EACP,mBAAmB;AACrB;AAEO,SAAS,mCAA4E;AAC1F,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,SAA2C;AAAA,IAC7C,eAAAD;AAAA,IACA,UAAUE,aAAY,+BAA+B;AAAA,EACvD,CAAC;AAED,QAAM,EAAE,OAAO,kBAAkB,IAAI,UAAU;AAE/C,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC1CA,SAAS,eAAAC,qBAAmB;AAC5B,SAAS,WAAAC,iBAAe;AAQxB,IAAMC,iBAAuC;AAAA,EAC3C,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,UAAU;AACZ;AAEO,SAAS,uBAAoD;AAClE,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,UAA+B;AAAA,IACjC,eAAAD;AAAA,IACA,UAAUE,cAAY,mBAAmB;AAAA,EAC3C,CAAC;AAED,QAAM,EAAE,iBAAiB,OAAO,SAAS,IAAI,UAAU;AAEvD,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC5CA,SAAS,eAAAC,qBAAmB;AAC5B,OAAOC,YAAW;AAClB,SAAS,WAAAC,iBAAe;AAMxB,IAAMC,iBAAgB;AAAA,EACpB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,cAAc;AAChB;AAEO,SAAS,eAAe,MAA+C;AAC5E,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,UAAyB;AAAA,IAC3B,eAAAD;AAAA,IACA,UAAUE,cAAY,aAAa;AAAA,EACrC,CAAC;AAED,EAAAC,OAAM,UAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,OAAO,KAAK;AAAA,QACZ,WAAW,KAAK;AAAA,QAChB,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK;AAAA,QACb,cAAc,KAAK;AAAA,MACrB,CAAC;AAAA,IACH,OAAO;AACL,YAAMH,cAAa;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,EAAE,OAAO,WAAW,UAAU,QAAQ,aAAa,IAAI,UAAU;AAEvE,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC7DA,SAAS,eAAAI,qBAAmB;AAC5B,OAAOC,YAAW;AAClB,SAAS,WAAAC,iBAAe;;;ACFxB,YAAYC,UAAS;AAId,IAAM,kBAAsB,YAAO,EAAE,MAAM;AAAA,EAChD,OAAO;AAAA,EACP,WAAe,YAAO,EAAE,SAAS,wBAAwB;AAAA,EACzD,UAAc,YAAO,EAAE,SAAS,uBAAuB;AAAA,EACvD,SAAa,YAAO,EAAE,SAAS,qBAAqB;AACtD,CAAC;;;ADCD,IAAMC,iBAAgB;AAAA,EACpB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AACX;AAEO,SAAS,iBACd,MACyB;AACzB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAIC,UAA2B;AAAA,IAC7B,eAAAD;AAAA,IACA,UAAUE,cAAY,eAAe;AAAA,EACvC,CAAC;AAED,EAAAC,OAAM,UAAU,MAAM;AACpB,QAAI,MAAM;AACR,YAAM;AAAA,QACJ,OAAO,KAAK;AAAA,QACZ,WAAW,KAAK;AAAA,QAChB,UAAU,KAAK;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH,OAAO;AACL,YAAMH,cAAa;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,EAAE,OAAO,WAAW,UAAU,QAAQ,IAAI,UAAU;AAE1D,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,EAAE,OAAO;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AE9DA,SAAS,mBAAmB;;;ACA5B,SAAS,OAAAI,YAAW;;;ACApB,SAAS,WAAW;AAEb,IAAM,+BAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,IAAM,iCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvC,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ9B,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYjC,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBhC,8BAA8B;AAAA;;;ADvD3B,IAAM,oBAAoBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW7B,oBAAoB;AAAA;AAGjB,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW1B,oBAAoB;AAAA;AAGjB,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQxB,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS/B,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQhC,IAAM,kCAAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQxC,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADrD7C,IAAM,cAAc,MAAM;AAC/B,QAAM,CAAC,UAAU,EAAE,SAAS,MAAM,CAAC,IAAI,YAAY,iBAAiB;AACpE,SAAO,EAAE,OAAO,SAAS,SAAS;AACpC;AAEO,IAAM,WAAW,MAAM;AAC5B,QAAM,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,IAAI,YAAY,cAAc;AAC9D,SAAO,EAAE,OAAO,SAAS,MAAM;AACjC;AAEO,IAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,IAAI,YAAY,eAAe;AAChE,SAAO,EAAE,OAAO,SAAS,OAAO;AAClC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAI;AAAA,IACzC;AAAA,EACF;AACA,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAI;AAAA,IACjD;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,qBAAqB;AAChD;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,CAAC,2BAA2B,EAAE,SAAS,MAAM,CAAC,IAAI;AAAA,IACtD;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,0BAA0B;AACrD;AAEO,IAAM,mBAAmB,MAAM;AACpC,QAAM,CAAC,eAAe,EAAE,SAAS,MAAM,CAAC,IAAI;AAAA,IAC1C;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,cAAc;AACzC;;;AGxDA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,YAAW;;;ACApB,SAAS,OAAAC,YAAW;AAEb,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWrC,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWhC,4BAA4B;AAAA;AAGzB,IAAM,OAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhB,oBAAoB;AAAA;AAGjB,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,oBAAoB;AAAA;;;ADtCjB,IAAM,uBAAuBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,oBAAoB;AAAA;AAGjB,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5C,oBAAoB;AAAA;AAAA;AAIjB,IAAM,wCAAwCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjD,oBAAoB;AAAA;;;ADhCjB,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIC,aAAY,sBAAsB;AAAA,IACzE,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,YAAY;AAEjD,aAAO;AAAA,QACL;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,QAAQ,gBAAgB,MAAM,YAAY,OAAO;AAAA,QAChE;AAAA,QACA;AAAA,UACE,OAAO;AAAA,UACP,WAAW,EAAE,KAAK,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC5C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,SAAS,gBAAgB,MAAM,iBAAiB;AAEtD,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,OAAO;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,gBAAgB;AAC3C;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,aAAY,sBAAsB;AAAA,IACzE,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,EAAE,OAAO,WAAW,CAAC;AAAA,EACxC,CAAC;AAED,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,CAAC,sBAAsB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACjD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,SAAS,gBAAgB,MAAM,sBAAsB;AAE3D,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,OAAO;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,sBAAsB,OAAO,QAAQ;AAChD;AAEO,IAAM,+BAA+B,MAAM;AAChD,QAAM,CAAC,2BAA2B,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACtD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,SAAS,gBAAgB,MAAM,2BAA2B;AAEhE,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,OAAO;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,0BAA0B;AACrD;;;AG3GA,SAAS,gBAAgB;AAKlB,IAAM,aAAa,CAAC,QAAgB;AACzC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI,SAAS,MAAM;AAAA,IACvD,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,MAAM,OAAO,SAAS,QAAQ;AACzC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAI,SAAS,YAAY;AAAA,IAC7D,aAAa;AAAA,EACf,CAAC;AAED,QAAM,YAAY,MAAM;AAExB,SAAO,EAAE,OAAO,SAAS,SAAS,UAAU;AAC9C;;;ACzBA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,YAAW;;;ACApB,SAAS,OAAAC,YAAW;AAQb,IAAM,kCAAkCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASxC,IAAM,kCAAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaxC,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCpB,IAAM,SAASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoClB,+BAA+B;AAAA,IAC/B,+BAA+B;AAAA,IAC/B,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,4BAA4B;AAAA;AAGzB,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvB,MAAM;AAAA;AAGH,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,MAAM;AAAA;AAGH,IAAM,wBAAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjC,MAAM;AAAA;AAGH,IAAM,iBAAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,MAAM;AAAA;AAGH,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/B,MAAM;AAAA;AAGH,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3B,WAAW;AAAA;;;AD1JR,IAAM,yBAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,MAAM;AAAA;AAGH,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAM/B,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvC,WAAW;AAAA;AAGR,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvC,WAAW;AAAA;;;AE3Cf,SAAS,OAAAC,YAAW;;;ACApB,SAAS,OAAAC,YAAW;AASb,IAAM,uCAAuCC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa7C,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU7C,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA2CvB,wBAAwB;AAAA,IACxB,oCAAoC;AAAA,IACpC,oCAAoC;AAAA,IACpC,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,4BAA4B;AAAA;AAGzB,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BzB,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,WAAW;AAAA;AAGR,IAAM,kBAAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM3B,WAAW;AAAA;AAGR,IAAM,6BAA6BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtC,WAAW;AAAA;AAGR,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/B,WAAW;AAAA;AAGR,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,gBAAgB;AAAA;;;ADtJb,IAAM,YAAYC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,oBAAoB;AAAA;AAGjB,IAAM,WAAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,oBAAoB;AAAA;AAGjB,IAAM,mBAAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,MAAM;AAAA;AAGH,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,WAAW;AAAA;AAGR,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAW/B,MAAM;AAAA,IACN,WAAW;AAAA;AAGR,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;;;AH7C/B,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIC;AAAA,IACzC;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,GAAG,EAAE,OAAO,YAAY,CAAC;AAAA,IACtE;AAAA,EACF;AAEA,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACzC;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,GAAG,EAAE,OAAO,YAAY,CAAC;AAAA,IACtE;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACzC;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,EAAE,OAAO,iBAAiB,GAAG,EAAE,OAAO,YAAY,CAAC;AAAA,IACtE;AAAA,EACF;AACA,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;AAEO,IAAM,sBAAsB,MAAM;AACvC,QAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC7C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,WAAW,gBAAgB,MAAM,kBAAkB;AAEzD,YAAI,CAAC,SAAU,QAAO,CAAC;AAEvB,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,SAAS;AAAA;AAAA,UACxB;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,SAAS;AAAA;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,kBAAkB,OAAO,QAAQ;AAC5C;AAEO,IAAM,sBAAsB,MAAM;AACvC,QAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC7C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,WAAW,gBAAgB,MAAM,kBAAkB;AAEzD,YAAI,CAAC,SAAU,QAAO,CAAC;AAEvB,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,SAAS;AAAA;AAAA,UACxB;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,SAAS;AAAA;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,iBAAiB;AAC5C;;;AKrGA,SAAS,YAAAC,iBAAgB;AAYlB,IAAM,gBAAgB,MAAM;AACjC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAAS,aAAa;AAAA,IAC9D,aAAa;AAAA,EACf,CAAC;AAED,QAAM,UAAU,MAAM;AAEtB,SAAO,EAAE,OAAO,SAAS,SAAS,QAAQ;AAC5C;AAEO,IAAM,eAAe,CAAC,QAAgB;AAC3C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,YAAY;AAAA,IAC7D,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,SAAS,MAAM;AAErB,SAAO,EAAE,OAAO,SAAS,QAAQ,QAAQ;AAC3C;AAEO,IAAM,wBAAwB,CAAC,WAAmB;AACvD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,uBAAuB;AAAA,IACxE,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,OAAO;AAAA,EACtB,CAAC;AAED,QAAM,kBAAkB,MAAM;AAE9B,SAAO,EAAE,OAAO,SAAS,iBAAiB,QAAQ;AACpD;AAEO,IAAM,mBAAmB,CAAC,QAAgB,WAAmB;AAClE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,gBAAgB;AAAA,IACjE,aAAa;AAAA,IACb,MAAM,OAAO,SAAS;AAAA,IACtB,WAAW,EAAE,QAAQ,OAAO;AAAA,EAC9B,CAAC;AAED,QAAM,gBAAgB,MAAM;AAE5B,SAAO,EAAE,OAAO,SAAS,eAAe,QAAQ;AAClD;AAEO,IAAM,sBAAsB,CAAC,aAI9B;AACJ,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,qBAAqB;AAAA,IACtE,aAAa;AAAA,IACb,MAAM,CAAC,SAAS,YAAY,CAAC,SAAS;AAAA,IACtC,WAAW;AAAA,MACT,UAAU,SAAS;AAAA,MACnB,WAAW,SAAS;AAAA,MACpB,QAAQ,SAAS,UAAU;AAAA;AAAA,IAC7B;AAAA,EACF,CAAC;AAED,QAAM,gBAAgB,MAAM;AAE5B,SAAO,EAAE,OAAO,SAAS,eAAe,QAAQ;AAClD;AAEO,IAAM,mBAAmB,CAAC,aAAqB;AACpD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,iBAAiB;AAAA,IAClE,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,SAAS;AAAA,EACxB,CAAC;AAED,QAAMC,cAAa,MAAM;AAEzB,SAAO,EAAE,OAAO,SAAS,YAAAA,aAAY,QAAQ;AAC/C;;;ACxFA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,YAAW;AAEb,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADE/B,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIC;AAAA,IACzC;AAAA,EACF;AACA,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;;;AETA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAiBpB,IAAM,8BAA8BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBpC,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3B,2BAA2B;AAAA;AAG/B,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAczB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBpC,uBAAuB;AAAA,IACvB,sBAAsB;AAAA;AAGnB,IAAM,eAAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMxB,wBAAwB;AAAA;AAGrB,IAAM,yCAAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,wBAAwB;AAAA;AAGrB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,wBAAwB;AAAA;AAGrB,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA2FpC,+BAA+B;AAAA,IAC/B,+BAA+B;AAAA,IAC/B,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,wBAAwB;AAAA,IACxB,oCAAoC;AAAA,IACpC,oCAAoC;AAAA,IACpC,uBAAuB;AAAA,IACvB,4BAA4B;AAAA;;;ADrNzB,IAAM,2BAA2BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,wBAAwB;AAAA;AAGrB,IAAM,2BAA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpC,wBAAwB;AAAA;;;ADZrB,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIC;AAAA,IAC3C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,WAAW,gBAAgB,MAAM,gBAAgB;AACvD,cAAM,gBACJ,gBAAgB,MAAM,gBAAgB;AAExC,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,SAAS;AAAA,UACxB;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,SAAS;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,cAAc;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,cAAc;AAAA,UAClC;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,UAAU,cAAc;AAAA,UACvC;AAAA,UACA;AAAA,YACE,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,gBAAgB,OAAO,QAAQ;AAC1C;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC3C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,WAAW,gBAAgB,MAAM,gBAAgB;AACvD,cAAM,gBACJ,gBAAgB,MAAM,gBAAgB;AAExC,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,SAAS;AAAA,UACxB;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,SAAS;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,cAAc;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,KAAK,cAAc;AAAA,UAClC;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,UAAU,cAAc;AAAA,UACvC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,eAAe;AAC1C;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC3C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,WAAW,gBAAgB,MAAM,gBAAgB;AACvD,cAAM,gBACJ,gBAAgB,MAAM,gBAAgB;AAExC,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,SAAS;AAAA,UACxB;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,cAAc;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,UAAU,cAAc;AAAA,UACvC;AAAA,UACA;AAAA,YACE,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,gBAAgB,OAAO,QAAQ;AAC1C;;;AGnIA,SAAS,YAAAC,iBAAgB;AAalB,IAAM,iBAAiB,CAAC,OAAe;AAC5C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAAS,cAAc;AAAA,IAC/D,aAAa;AAAA,IACb,MAAM,OAAO;AAAA,IACb,WAAW,EAAE,GAAG;AAAA,EAClB,CAAC;AAED,QAAM,WAAW,MAAM;AAEvB,SAAO,EAAE,OAAO,SAAS,SAAS,SAAS;AAC7C;AAEO,IAAM,uCAAuC,CAClD,UACA,kBACG;AACH,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,aAAa,MAAM,kBAAkB;AAAA,MAC3C,WAAW,EAAE,UAAU,cAAc;AAAA,IACvC;AAAA,EACF;AAEA,QAAM,iCACJ,MAAM;AAER,SAAO,EAAE,OAAO,SAAS,SAAS,+BAA+B;AACnE;AAEO,IAAM,wBAAwB,CAAC,aAAqB;AACzD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,sBAAsB;AAAA,IACvE,aAAa;AAAA,IACb,MAAM,aAAa;AAAA,IACnB,WAAW,EAAE,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,kBAAkB,MAAM;AAE9B,SAAO,EAAE,OAAO,SAAS,iBAAiB,QAAQ;AACpD;AAEO,IAAM,6BAA6B,CAAC,kBAA0B;AACnE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,kBAAkB;AAAA,MACxB,WAAW,EAAE,cAAc;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,uBAAuB,MAAM;AAEnC,SAAO,EAAE,OAAO,SAAS,SAAS,qBAAqB;AACzD;AAEO,IAAM,4BAA4B,CACvC,YACA,iBACG;AACH,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,0BAA0B;AAAA,IAC3E,aAAa;AAAA,IACb,WAAW,EAAE,YAAY,aAAa;AAAA,EACxC,CAAC;AAED,QAAM,sBACJ,MAAM;AAER,SAAO,EAAE,OAAO,SAAS,SAAS,oBAAoB;AACxD;;;ACpFA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,8BAA8BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvC,WAAW;AAAA;AAGR,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvC,WAAW;AAAA;AAGR,IAAM,8BAA8BA;AAAA;AAAA;AAAA;AAAA;AAMpC,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5C,gBAAgB;AAAA;AAGb,IAAM,mCAAmCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5C,gBAAgB;AAAA;;;AD3Bb,IAAM,uBAAuB,MAAM;AACxC,QAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,CAAC,IAAIC;AAAA,IAC9C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB;AAAA,QACd,EAAE,OAAO,iBAAiB;AAAA,QAC1B,EAAE,OAAO,qBAAqB;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,mBAAmB,OAAO,QAAQ;AAC7C;AAEO,IAAM,uBAAuB,MAAM;AACxC,QAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC9C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB;AAAA,QACd,EAAE,OAAO,iBAAiB;AAAA,QAC1B,EAAE,OAAO,qBAAqB;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,OAAO,SAAS,kBAAkB;AAC7C;AAEO,IAAM,uBAAuB,MAAM;AACxC,QAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC9C;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB;AAAA,QACd,EAAE,OAAO,iBAAiB;AAAA,QAC1B,EAAE,OAAO,qBAAqB;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,mBAAmB,OAAO,QAAQ;AAC7C;AAEO,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAClD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,gBACJ,gBAAgB,MAAM,uBAAuB;AAE/C,YAAI,CAAC,cAAe,QAAO,CAAC;AAE5B,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,cAAc;AAAA;AAAA,UAC7B;AAAA,UACA;AAAA,YACE,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,uBAAuB,OAAO,QAAQ;AACjD;AAEO,IAAM,2BAA2B,MAAM;AAC5C,QAAM,CAAC,uBAAuB,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IAClD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,mBAAmB;AAElC,cAAM,gBACJ,gBAAgB,MAAM,uBAAuB;AAE/C,YAAI,CAAC,cAAe,QAAO,CAAC;AAE5B,eAAO;AAAA,UACL;AAAA,YACE,OAAO;AAAA,YACP,WAAW,EAAE,cAAc;AAAA;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,sBAAsB;AACjD;;;AE9GA,SAAS,YAAAC,iBAAgB;AAclB,IAAM,qBAAqB,MAAM;AACtC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAAS,kBAAkB;AAAA,IACnE,aAAa;AAAA,EACf,CAAC;AAED,QAAM,eAAe,MAAM;AAE3B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,QAAgB;AAChD,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,iBAAiB;AAAA,IAClE,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,cAAc,MAAM;AAE1B,SAAO,EAAE,OAAO,SAAS,SAAS,YAAY;AAChD;AAEO,IAAM,6BAA6B,CAAC,WAAmB;AAC5D,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA;AAAA,IACxC;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,MAAM,CAAC;AAAA,MACP,WAAW,EAAE,OAAO;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,uBAAuB,MAAM;AAEnC,SAAO,EAAE,OAAO,SAAS,SAAS,qBAAqB;AACzD;AAEO,IAAM,wBAAwB,CAAC,QAAgB,WAAmB;AACvE,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,qBAAqB;AAAA,IACtE,aAAa;AAAA,IACb,MAAM,OAAO,SAAS;AAAA,IACtB,WAAW,EAAE,QAAQ,OAAO;AAAA,EAC9B,CAAC;AAED,QAAM,oBAAoB,MAAM;AAEhC,SAAO,EAAE,OAAO,SAAS,SAAS,kBAAkB;AACtD;AAEO,IAAM,wBAAwB,CAAC,kBAA0B;AAC9D,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,sBAAsB;AAAA,IACvE,aAAa;AAAA,IACb,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,cAAc;AAAA,EAC7B,CAAC;AAED,QAAM,kBAAkB,MAAM;AAE9B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;ACnFA,SAAS,uBAAuB;;;ACAhC,SAAS,OAAAC,aAAW;AAIb,IAAM,mBAAmBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM5B,oBAAoB;AAAA;;;ACVxB,SAAS,OAAAC,aAAW;AAEpB,IAAM,+BAA+BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW9B,IAAM,0BAA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnC,4BAA4B;AAAA;AAGzB,IAAM,4BAA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrC,4BAA4B;AAAA;;;AFlBzB,IAAM,qBAAqB,MAAM;AACtC,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT,IAAI,gBAAgB,uBAAuB;AAE3C,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACT,IAAI,gBAAgB,yBAAyB;AAE7C,QAAM,QAAQ,eAAe;AAC7B,QAAM,UAAU,iBAAiB;AAEjC,QAAM,eAAgB,UAAU,2BAC9B,QAAQ;AAEV,SAAO,EAAE,OAAO,SAAS,aAAa;AACxC;AAEO,IAAM,yBAAyB,MAAM;AAC1C,QAAM,EAAE,MAAM,SAAS,MAAM,IAAI,gBAAgB,gBAAgB;AAEjE,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,MAAM,OAAO,QAAQ;AAChC;;;AGtCA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAIb,IAAM,uBAAuBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMhC,oBAAoB;AAAA;AAGjB,IAAM,uBAAuBA;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,uCAAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAchD,oBAAoB;AAAA;AAGjB,IAAM,0CAA0CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcnD,oBAAoB;AAAA;;;AD/CjB,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIC,aAAY,oBAAoB;AAEzE,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,aAAY,sBAAsB;AAAA,IACzE,qBAAqB;AAAA,IACrB,gBAAgB,CAAC,mBAAmB;AAElC,YAAM,SAAS,gBAAgB,MAAM,YAAY;AAEjD,UAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,aAAO,CAAC,EAAE,OAAO,UAAU,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;AAAA,IACzD;AAAA,EACF,CAAC;AAED,SAAO,EAAE,OAAO,SAAS,WAAW;AACtC;AAEO,IAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,YAAY,EAAE,SAAS,MAAM,CAAC,IAAIA,aAAY,oBAAoB;AAEzE,SAAO,EAAE,YAAY,OAAO,QAAQ;AACtC;AAEO,IAAM,8BAA8B,MAAM;AAC/C,QAAM,CAAC,0BAA0B,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACrD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,IACjD;AAAA,EACF;AAEA,SAAO,EAAE,0BAA0B,OAAO,QAAQ;AACpD;AAEO,IAAM,iCAAiC,MAAM;AAClD,QAAM,CAAC,6BAA6B,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACxD;AAAA,IACA;AAAA,MACE,qBAAqB;AAAA,MACrB,gBAAgB,CAAC,EAAE,OAAO,oBAAoB,CAAC;AAAA,IACjD;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,4BAA4B;AACvD;;;AE9DA,SAAS,YAAAC,iBAAgB;AAclB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIC,UAAS,WAAW;AAAA,IAC5D,aAAa;AAAA,EACf,CAAC;AAED,QAAM,QAAQ,MAAM;AAEpB,SAAO,EAAE,OAAO,SAAS,SAAS,MAAM;AAC1C;AAEO,IAAM,aAAa,CAAC,OAAe;AACxC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,UAAU;AAAA,IAC3D,WAAW,EAAE,GAAG;AAAA,EAClB,CAAC;AAED,QAAM,OAAO,MAAM;AAEnB,SAAO,EAAE,OAAO,SAAS,SAAS,KAAK;AACzC;AAEO,IAAM,oBAAoB,MAAM;AACrC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,kBAAkB;AAAA,IACnE,aAAa;AAAA,EACf,CAAC;AAED,QAAM,cAAc,MAAM;AAE1B,SAAO,EAAE,OAAO,SAAS,SAAS,YAAY;AAChD;AAEO,IAAM,wBAAwB,MAAM;AACzC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,sBAAsB;AAAA,IACvE,aAAa;AAAA,EACf,CAAC;AAED,QAAM,kBAAkB,MAAM;AAE9B,SAAO,EAAE,OAAO,SAAS,SAAS,gBAAgB;AACpD;AAEO,IAAM,uBAAuB,MAAM;AACxC,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,qBAAqB;AAAA,IACtE,aAAa;AAAA,EACf,CAAC;AAED,QAAM,UAAU,MAAM,eAAe;AACrC,QAAM,eAAe,MAAM,eAAe;AAE1C,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,SAAS,SAAS,eAAe;AACnD;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,EAAE,SAAS,OAAO,MAAM,QAAQ,IAAIA,UAAS,wBAAwB;AAAA,IACzE,aAAa;AAAA,EACf,CAAC;AAED,QAAM,oBAAoB,MAAM;AAEhC,SAAO,EAAE,OAAO,SAAS,SAAS,kBAAkB;AACtD;;;AC9EA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;;;ACApB,SAAS,OAAAC,aAAW;AAEb,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc/B,IAAM,cAAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMvB,sBAAsB;AAAA;AAGnB,IAAM,aAAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,sBAAsB;AAAA;;;AD3BnB,IAAM,yBAAyBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,sBAAsB;AAAA;AAGnB,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlC,sBAAsB;AAAA;AAGnB,IAAM,yBAAyBA;AAAA;AAAA;AAAA;AAAA;;;ADd/B,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,MAAM,SAAS,MAAM,CAAC,IAAIC;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,MAAM,SAAS,MAAM,CAAC,IAAIA;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,CAAC,cAAc,EAAE,SAAS,MAAM,CAAC,IAAIA;AAAA,IACzC;AAAA,EACF;AAEA,SAAO,EAAE,cAAc,OAAO,QAAQ;AACxC;;;AGxCA,SAAS,YAAAC,iBAAgB;AAKlB,IAAM,gBAAgB,MAAM;AACjC,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIC,UAAS,WAAW;AAE9D,QAAM,UAAU,MAAM;AACtB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,eAAe,CAAC,QAAgB;AAC3C,QAAM,EAAE,MAAM,SAAS,OAAO,QAAQ,IAAIA,UAAS,YAAY;AAAA,IAC7D,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,IAAI;AAAA,EACnB,CAAC;AAED,QAAM,SAAS,MAAM;AAErB,SAAO,EAAE,OAAO,SAAS,SAAS,OAAO;AAC3C;;;AC1BA,SAAS,eAAAC,oBAAmB;;;ACA5B,SAAS,OAAAC,aAAW;AAEb,IAAM,sBAAsBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ADE5B,IAAM,eAAe,MAAM;AAChC,QAAM,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,IAAIC,aAAY,mBAAmB;AACvE,SAAO,EAAE,WAAW,OAAO,QAAQ;AACrC;;;AEJO,IAAM,6BAA0C;AAAA,EACrD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,2BAAsC;AAAA,EACjD,YACE;AAAA,EACF,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,yBAAoC;AAAA,EAC/C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,6BAA8C;AAAA,EACzD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,2BAA4C;AAAA,EACvD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,iCAA4C;AAAA,EACvD,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEA,IAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA6DO,IAAM,uBACX,kBAAkB,kBAAkB;;;ACxI/B,IAAM,yBAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,oBAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,mBAGT;AAAA,EACF,SAAS;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,wBAGT;AAAA,EACF,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,uBAGT;AAAA,EACF,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,uBAAkC;AAAA,EAC7C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,2BAAsC;AAAA,EACjD,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AACf;AAEO,IAAM,wBAAmC;AAAA,EAC9C,YACE;AAAA,EACF,MAAM;AAAA,EACN,aAAa;AACf;AAEA,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,mBAAiC,kBAAkB,cAAc;AACvE,IAAM,qBACX,kBAAkB,gBAAgB;;;AC3H7B,IAAM,wBAAqC;AAAA,EAChD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,wBAAyC;AAAA,EACpD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,sBAAuC;AAAA,EAClD;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,oBAAoB;AAAA,EAC/B,EAAE,MAAM,2BAA2B,OAAO,WAAW;AAAA,EACrD,EAAE,MAAM,iBAAiB,OAAO,aAAa;AAAA,EAC7C,EAAE,MAAM,iBAAiB,OAAO,kBAAkB;AAAA,EAClD,EAAE,MAAM,kBAAkB,OAAO,aAAa;AAAA,EAC9C,EAAE,MAAM,aAAa,OAAO,gBAAgB;AAAA,EAC5C,EAAE,MAAM,SAAS,OAAO,aAAa;AAAA,EACrC,EAAE,MAAM,OAAO,OAAO,cAAc;AAAA,EACpC,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAAA,EAC1C,EAAE,MAAM,SAAS,OAAO,qBAAqB;AAAA,EAC7C,EAAE,MAAM,iBAAiB,OAAO,eAAe;AAAA,EAC/C,EAAE,MAAM,QAAQ,OAAO,iBAAiB;AAAA,EACxC,EAAE,MAAM,OAAO,OAAO,oBAAoB;AAAA,EAC1C,EAAE,MAAM,OAAO,OAAO,eAAe;AAAA,EACrC,EAAE,MAAM,cAAc,OAAO,cAAc;AAAA,EAC3C,EAAE,MAAM,UAAU,OAAO,mBAAmB;AAAA,EAC5C,EAAE,MAAM,4BAA4B,OAAO,wBAAwB;AACrE;AAEO,IAAM,aAA2B,kBAAkB,IAAI,CAAC,SAAS;AAAA,EACtE,OAAO,IAAI;AAAA,EACX,OAAO,IAAI;AACb,EAAE;;;AC3EK,IAAM,aAA0B;AAAA,EACrC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,wBAAqC;AAAA,EAChD;AAAA,IACE,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,sBAAqC;AAAA,EAChD;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,IAAM,mBAAgC;AAAA,EAC3C;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AACF;;;ACpRO,IAAM,cAA2B;AAAA,EACtC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AACF;AAEO,IAAM,iBAA8B;AAAA,EACzC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AACF;AAEO,IAAM,6BAA0C;AAAA,EACrD;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AAEO,IAAM,sBAAmC;AAAA,EAC9C;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AACF;AAEO,IAAM,kCAA+C;AAAA,EAC1D;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;ACpFO,IAAM,gBAA6B;AAAA,EACxC;AAAA,IACE,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AACF;;;AClCO,IAAM,sBAAkC;AAAA,EAC7C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO,CAAC,gBAAgB,gCAAgC,OAAO;AAAA,QAC/D,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO,CAAC,yBAAyB,8BAA8B,OAAO;AAAA,QACtE,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO,CAAC,0BAA0B,0BAA0B,OAAO;AAAA,QACnE,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,eAAe;AAAA,MACb;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,iBAAyC;AAAA,EACpD,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,2BAA2B;AAAA,EAC3B,4BAA4B;AAAA,EAC5B,yBAAyB;AAAA,EACzB,aAAa;AACf;;;AC5SA,IAAM,cAAc;AAAA,EAClB;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;AACO,IAAM,oBAAiC,YAAY,IAAI,CAAC,UAAU;AAAA,EACvE,YAAY,KAAK;AAAA,EACjB,cAAc;AAAA,EACd,MAAM,KAAK;AAAA,EACX,aAAa,KAAK;AACpB,EAAE;;;ACrCK,IAAM,gBAA6B;AAAA,EACxC;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;ACnBO,IAAM,kBAA+B;AAAA,EAC1C;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AACF;;;AC5BO,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;","names":["EnumInviteStatus","EnumPaymentMethod","EnumResourceType","EnumOSType","EnumRelationResource","EnumNotification","EnumResourceTypeIcon","EnumRegions","ImageTypeEnum","EnumUserLicence","EnumUserRole","EnumSocialMedia","dayjs","customParseFormat","isSameOrAfter","dayjs","isSameOrAfter","customParseFormat","yup","yup","yup","yup","yup","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","socialMedia","yupResolver","React","useForm","useForm","yupResolver","yupResolver","React","useForm","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","useForm","defaultValues","useForm","yupResolver","yupResolver","React","useForm","defaultValues","useForm","yupResolver","React","yupResolver","React","useForm","yup","defaultValues","useForm","yupResolver","React","gql","gql","useMutation","gql","gql","gql","useMutation","useMutation","gql","gql","gql","gql","gql","gql","gql","gql","useMutation","useQuery","useQuery","marketInfo","useMutation","gql","useMutation","useMutation","gql","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","useMutation","useQuery","useQuery","gql","gql","gql","useMutation","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","gql","gql","useMutation","useQuery","useQuery","useMutation","gql","useMutation"]}