@nuskin/shipping-address-form 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -3
- package/dist/addressLookup/AddressLookup.js +4 -0
- package/dist/addressLookup/AddressLookup.js.map +1 -1
- package/dist/addressLookup/components/SmartyIntlResults.js +44 -23
- package/dist/addressLookup/components/SmartyIntlResults.js.map +1 -1
- package/dist/addressLookup/components/SmartyUSResults.js +44 -23
- package/dist/addressLookup/components/SmartyUSResults.js.map +1 -1
- package/dist/addressLookup/styles/addressLookup.css +9 -0
- package/dist/shippingAddressForm/ShippingAddressForm.js +9 -1
- package/dist/shippingAddressForm/ShippingAddressForm.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartyIntlResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyInternationalLookup","_useIntlAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","LOOKUP_LIST_BUTTON_SELECTOR","SmartyIntlResults","countryCode","onSelect","initialAddress","requireValidation","readOnlyView","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","hasInitializedAddressRef","useEffect","current","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","addressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","resolvedAddressForm","allowValidation","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","hasLookupValue","Boolean","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","shouldPrepareMap","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","type","status","buildAddressStatus","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","_suggestionButtons$","shouldShowValidationResults","suggestionButtons","getVisibleSuggestionButtons","document","activeElement","focus","_getLookupInputElemen","shouldRefocusLookupField","getLookupInputElement","handleDocumentMouseDown","event","component","contains","target","suggestionsList","addEventListener","removeEventListener","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","shouldVerifyAutocompleteSelection","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","getElementById","_componentRef$current","Array","from","querySelectorAll","handleLookupInputKeyDown","key","preventDefault","targetButton","handleSuggestionButtonKeyDown","index","_suggestionButtons","_getLookupInputElemen2","_suggestionButtons2","_getLookupInputElemen3","_getLookupInputElemen4","renderLookupLists","isLookupField","shouldShowNoResults","ref","map","onKeyDown","intlNoResults","renderField","fieldId","fieldLabel","label","fieldError","isInvalid","isReadOnly","editable","fieldWidth","width","inputClassName","labelRowClassName","style","htmlFor","required","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../../src/addressLookup/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport {\n buildAddressStatus,\n getRequiredFieldsFromAddressForm,\n shouldVerifyAutocompleteSelection\n} from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\nconst LOOKUP_LIST_BUTTON_SELECTOR = '.ns-address-lookup__list-button';\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n requireValidation = true,\n readOnlyView = false,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState('autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n const hasInitializedAddressRef = useRef(false);\n\n useEffect(() => {\n if (!initialAddress || hasInitializedAddressRef.current) {\n return;\n }\n\n hasInitializedAddressRef.current = true;\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }, [initialAddress]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const allowValidation = requireValidation && !readOnlyView;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = !readOnlyView && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps,\n shouldPrepareMap: showMapAction\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n !readOnlyView && shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n allowValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n }, [allowValidation, validationRequestId]);\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation: allowValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n const shouldShowValidationResults =\n allowValidation &&\n showValidationSuggestions &&\n validationSuggestions.length > 0 &&\n !validationLoading &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n\n if (!shouldShowValidationResults) {\n return;\n }\n\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0 || suggestionButtons.includes(document.activeElement)) {\n return;\n }\n\n suggestionButtons[0]?.focus();\n }, [\n isAutocompleteMode,\n allowValidation,\n showValidationSuggestions,\n validationLoading,\n validationSuggestions,\n validationTriggerSource\n ]);\n\n useEffect(() => {\n const shouldRefocusLookupField =\n isAutocompleteMode &&\n selectedIntlAddressId &&\n suggestions.length > 0 &&\n !selectedAddress &&\n !loading;\n\n if (!shouldRefocusLookupField) {\n return;\n }\n\n getLookupInputElement()?.focus();\n }, [isAutocompleteMode, selectedIntlAddressId, suggestions, selectedAddress, loading]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n\n if (shouldVerifyAutocompleteSelection({\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n requireValidation: allowValidation\n })) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!allowValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && allowValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n </div>\n );\n\n const getLookupInputElement = () => (\n typeof document !== 'undefined' ? document.getElementById(getFieldId(lookupField)) : null\n );\n\n const getVisibleSuggestionButtons = () => (\n Array.from(componentRef.current?.querySelectorAll(LOOKUP_LIST_BUTTON_SELECTOR) || [])\n );\n\n const handleLookupInputKeyDown = (event) => {\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0) {\n return;\n }\n\n event.preventDefault();\n\n const targetButton = event.key === 'ArrowUp' ?\n suggestionButtons[suggestionButtons.length - 1] :\n suggestionButtons[0];\n\n targetButton?.focus();\n };\n\n const handleSuggestionButtonKeyDown = (event, index) => {\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (index === suggestionButtons.length - 1) {\n getLookupInputElement()?.focus();\n return;\n }\n\n suggestionButtons[index + 1]?.focus();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (index === 0) {\n getLookupInputElement()?.focus();\n return;\n }\n\n suggestionButtons[index - 1]?.focus();\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n getLookupInputElement()?.focus();\n }\n };\n\n const renderLookupLists = (isLookupField) => {\n if (readOnlyView) {\n return null;\n }\n\n const shouldShowValidationResults =\n allowValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n onKeyDown={(event) => handleSuggestionButtonKeyDown(event, index)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n onKeyDown={(event) => handleSuggestionButtonKeyDown(event, index)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldId = getFieldId(fieldConfig.field);\n const fieldLabel = areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label);\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = readOnlyView || ((!fieldConfig.editable && !isLookupField) && isAutocompleteMode);\n const fieldWidth = fieldConfig.width === 'full' ?\n '100%' :\n (fieldConfig.width === 'third' ? '33.333333%' : '50%');\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n const labelRowClassName = [\n 'ns-address-lookup__label-row',\n isLookupField ? '' : 'ns-address-lookup__label-row--field'\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldWidth }}\n >\n <div className={labelRowClassName}>\n <label\n htmlFor={fieldId}\n className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\"\n >\n {fieldLabel}\n {fieldConfig.required && !areLabelsLoading && (\n <span\n aria-hidden=\"true\"\n className=\"MuiFormLabel-asterisk\"\n >\n {' *'}\n </span>\n )}\n </label>\n {isLookupField && !readOnlyView && renderLookupActions()}\n </div>\n <NsInputField\n id={fieldId}\n type=\"text\"\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n required={fieldConfig.required}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onKeyDown={isLookupField && !readOnlyView ? handleLookupInputKeyDown : undefined}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (readOnlyView) {\n return;\n }\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {allowValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n requireValidation: PropTypes.bool,\n readOnlyView: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,sBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,8BAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAKA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAKA,IAAAW,oBAAA,GAAAX,OAAA;AAMA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,uBAAA,GAAAf,OAAA;AAA0E,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAD,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1E,MAAMG,YAAY,GAAGA,CAACC,OAAO,GAAG,CAAC,CAAC,KAAK;EACrC,MAAMC,WAAW,GAAG;IAAE,GAAGD;EAAQ,CAAC;EAClC,OAAOC,WAAW,CAACC,QAAQ;EAC3B,OAAOD,WAAW,CAACE,SAAS;EAC5B,OAAOF,WAAW;AACpB,CAAC;AAED,MAAMG,cAAc,GAAG;EACrBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,qBAAqB;EAC/BC,MAAM,EAAE,mBAAmB;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,SAAS,GAAG;EAChBN,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,kBAAkB;EAC5BC,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE,cAAc;EACpBC,UAAU,EAAE;AACd,CAAC;AAED,MAAME,cAAc,GAAIC,KAAK,IAAKT,cAAc,CAACS,KAAK,CAAC,IAAI,cAAcA,KAAK,EAAE;AAChF,MAAMC,UAAU,GAAID,KAAK,IAAKF,SAAS,CAACE,KAAK,CAAC,IAAI,WAAWA,KAAK,EAAE;AACpE,MAAME,2BAA2B,GAAG,iCAAiC;AAErE,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,WAAW;EACXC,QAAQ;EACRC,cAAc,GAAG,IAAI;EACrBC,iBAAiB,GAAG,IAAI;EACxBC,YAAY,GAAG,KAAK;EACpBC,wBAAwB,GAAG,KAAK;EAChCC,mBAAmB,GAAG,CAAC;EACvBC,QAAQ,GAAG,IAAI;EACfC,OAAO,GAAG,IAAI;EACdC,cAAc,GAAG,IAAI;EACrBC,eAAe,GAAG;AACpB,CAAC,KAAK;EAAA,IAAAC,qBAAA;EACJ,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,cAAc,CAAC;EAChD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,IAAI,CAAC;EAC5D,MAAM,CAACK,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAN,eAAQ,EAAC,IAAI,CAAC;EACxE,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAR,eAAQ,EAACZ,cAAc,IAAI,CAAC,CAAC,CAAC;EAC9D,MAAM,CAACqB,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAV,eAAQ,EAAC,IAAAW,kDAA6B,EAACvB,cAAc,CAAC,CAAC;EAC3G,MAAM,CAACwB,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAb,eAAQ,EAAC,IAAI,CAAC;EACpD,MAAM,CAACc,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC,CAAC;EAC7D,MAAM,CAACgB,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG,IAAAjB,eAAQ,EAAC,IAAI,CAAC;EAC5E,MAAM,CAACkB,yBAAyB,EAAEC,4BAA4B,CAAC,GAAG,IAAAnB,eAAQ,EAAC,KAAK,CAAC;EACjF,MAAM,CAACoB,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAArB,eAAQ,EAAC,EAAE,CAAC;EAC1D,MAAM,CAACsB,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAvB,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAACwB,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAzB,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtD,MAAM,CAAC0B,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAA3B,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAAC4B,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAA7B,eAAQ,EAAC,IAAI,CAAC;EAClE,MAAM,CAAC8B,sBAAsB,EAAEC,yBAAyB,CAAC,GAAG,IAAA/B,eAAQ,EAAC,IAAI,CAAC;EAC1E,MAAMgC,eAAe,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACpC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAClC,MAAME,YAAY,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EACjC,MAAMG,kBAAkB,GAAG,IAAAH,aAAM,EAAC,IAAI,CAAC;EACvC,MAAMI,uBAAuB,GAAG,IAAAJ,aAAM,EAAC7C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC5D,MAAMkD,sBAAsB,GAAG,IAAAL,aAAM,EAAC7C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC3D,MAAMmD,sBAAsB,GAAG,IAAAN,aAAM,EAAC,IAAI,CAAC;EAC3C,MAAMO,uBAAuB,GAAG,IAAAP,aAAM,EAAC,KAAK,CAAC;EAC7C,MAAMQ,6BAA6B,GAAG,IAAAR,aAAM,EAAC,KAAK,CAAC;EACnD,MAAMS,wBAAwB,GAAG,IAAAT,aAAM,EAAC,KAAK,CAAC;EAE9C,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAACvD,cAAc,IAAIsD,wBAAwB,CAACE,OAAO,EAAE;MACvD;IACF;IAEAF,wBAAwB,CAACE,OAAO,GAAG,IAAI;IACvCpC,WAAW,CAACpB,cAAc,CAAC;IAC3BsB,qBAAqB,CAAC,IAAAC,kDAA6B,EAACvB,cAAc,CAAC,CAAC;IACpE4C,eAAe,CAACY,OAAO,GAAG,KAAK;IAC/BP,uBAAuB,CAACO,OAAO,GAAGxD,cAAc;IAChDkD,sBAAsB,CAACM,OAAO,GAAGxD,cAAc;IAC/CqC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpBE,wBAAwB,CAAC,KAAK,CAAC;IAC/BE,qBAAqB,CAAC,IAAI,CAAC;IAC3BE,yBAAyB,CAAC,IAAI,CAAC;IAC/BV,kBAAkB,CAAC,EAAE,CAAC;EACxB,CAAC,EAAE,CAACjC,cAAc,CAAC,CAAC;EAEpB,IAAAuD,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIT,aAAa,CAACU,OAAO,EAAE;QACzBC,YAAY,CAACX,aAAa,CAACU,OAAO,CAAC;MACrC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,kBAAkB,GAAGhD,IAAI,KAAK,cAAc;EAClD,MAAM;IACJiD,MAAM,EAAEC,WAAW;IACnBC,SAAS,EAAEC;EACb,CAAC,GAAG,IAAAC,8BAAqB,EAACjE,WAAW,EAAEO,QAAQ,EAAEC,OAAO,CAAC;EACzD,MAAM0D,qBAAqB,GAAG,CAACzD,cAAc,IAAI,CAACC,eAAe;EACjE,MAAM;IACJyD,WAAW,EAAEC,iBAAiB;IAC9BL,SAAS,EAAEM;EACb,CAAC,GAAG,IAAAC,uBAAc,EAACtE,WAAW,EAAEkE,qBAAqB,CAAC;EACtD,MAAMK,mBAAmB,GAAG9D,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAE+D,eAAe,cAAA7D,qBAAA,eAA/BA,qBAAA,CAAiC8D,MAAM,GAAGhE,cAAc,GAAG,IAAI;EAC3F,MAAMiE,mBAAmB,GAAGH,mBAAmB,IAAIH,iBAAiB;EACpE,MAAMO,eAAe,GAAGxE,iBAAiB,IAAI,CAACC,YAAY;EAC1D,MAAMwE,WAAW,GAAG,CAAAF,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEE,WAAW,KAAI,UAAU;EAClE,MAAMC,cAAc,GAAG,IAAAC,+CAAgC,EAACJ,mBAAmB,CAAC;EAC5E,MAAMK,aAAa,GAAG,CAAC,CAAAL,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEF,eAAe,KAAI,EAAE,EAAEQ,IAAI,CAAEpF,KAAK,IAAKA,KAAK,CAACA,KAAK,KAAK,OAAO,CAAC;EAC3G,MAAMqF,iBAAiB,GACrB,CAAA5D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpC,QAAQ,MAAKiG,SAAS,IAAI,CAAA7D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEnC,SAAS,MAAKgG,SAC7D;EACD,MAAMC,cAAc,GAAGC,OAAO,CAACC,MAAM,CAAC,CAAAhE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGuD,WAAW,CAAC,KAAI,EAAE,CAAC,CAACU,IAAI,CAAC,CAAC,CAAC;EAC5E,MAAMC,aAAa,GAAGH,OAAO,CAC1B,CAACxB,kBAAkB,IAAIuB,cAAc,IACrCvB,kBAAkB,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC4B,QAAQ,CAACjE,kBAAkB,CAAC,IAAI4D,cACtF,CAAC;EACD,MAAMM,aAAa,GAAG,CAACrF,YAAY,KAAK6E,iBAAiB,IAAIM,aAAa,CAAC;EAC3E,MAAMG,YAAY,GAAG,CAACxD,eAAe,CAACuC,MAAM,GAAGvC,eAAe,GAAG,CAC/Db,QAAQ,CAACjC,QAAQ,EACjBiC,QAAQ,CAAChC,QAAQ,EACjBgC,QAAQ,CAAC/B,QAAQ,EACjB,CAAC+B,QAAQ,CAAC5B,UAAU,EAAE4B,QAAQ,CAAC7B,IAAI,CAAC,CAACmG,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,EAC9DvE,QAAQ,CAAC9B,MAAM,CAChB,EAAEoG,MAAM,CAACP,OAAO,CAAC;EAClB,MAAM;IACJS,eAAe;IACfC,cAAc;IACdC,iBAAiB;IACjBC,eAAe;IACfC;EACF,CAAC,GAAG,IAAAC,2BAAkB,EAAC;IACrB7E,QAAQ;IACR8E,SAAS,EAAET,YAAY;IACvBT,iBAAiB;IACjBmB,eAAe,EAAEtC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAU;IACxCC,gBAAgB,EAAEb;EACpB,CAAC,CAAC;EAEF,MAAM;IAAEc,WAAW;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,qCAA4B,EAC/E,CAACvG,YAAY,IAAI0C,eAAe,CAACY,OAAO,IAAIE,kBAAkB,GAAG7C,KAAK,GAAG,EAAE,EAC3Ef,WAAW,EACXmB,qBAAqB,EACrB,GACF,CAAC;EAED,MAAM;IACJoF,WAAW,EAAEK,qBAAqB;IAClCJ,OAAO,EAAEK,iBAAiB;IAC1BJ,KAAK,EAAEK,eAAe;IACtBJ,WAAW,EAAEK;EACf,CAAC,GAAG,IAAAC,iCAAwB,EAC1B3F,QAAQ,EACRrB,WAAW,EACX2E,eAAe,GAAG/C,iBAAiB,GAAG,CAAC,EACvCgD,WACF,CAAC;EACD,MAAMqC,WAAW,GAAG5F,QAAQ,CAACuD,WAAW,CAAC;EACzC,MAAMsC,kBAAkB,GAAGxE,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEgE,WAAW,GACvD,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4C,WAAW,KAAI,wDAAwD,GACpF,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqD,WAAW,KAAI,8CAA+C;EAC9E,MAAMC,sBAAsB,GAAGxE,sBAAsB,aAAtBA,sBAAsB,eAAtBA,sBAAsB,CAAE8D,WAAW,GAC/D,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4C,WAAW,KAAI,wDAAwD,GACpF,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEgD,eAAe,KAAI,+CAAgD;EAEnF,IAAArD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACnD,mBAAmB,EAAE;MACxB;IACF;IAEAmC,wBAAwB,CAAC,IAAI,CAAC;IAC9BxC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACToH,IAAI,EAAE,oBAAoB;MAC1BtI,OAAO,EAAEsC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBvH,WAAW;QACXmE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,eAAe,EAAErE,mBAAmB,CAAC,CAAC;EAE1C,IAAAmD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACgD,KAAK,EAAE;MACV9D,qBAAqB,CAAC,IAAI,CAAC;MAC3B;IACF;IAEAA,qBAAqB,CAAC;MACpB+D,WAAW;MACXc,UAAU,EAAEf;IACd,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,KAAK,EAAEC,WAAW,CAAC,CAAC;EAExB,IAAAjD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACqD,eAAe,EAAE;MACpBjE,yBAAyB,CAAC,IAAI,CAAC;MAC/B;IACF;IAEAA,yBAAyB,CAAC;MACxB6D,WAAW,EAAEK,qBAAqB;MAClCS,UAAU,EAAEV;IACd,CAAC,CAAC;IACFf,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;EACzC,CAAC,EAAE,CAACoD,eAAe,EAAEC,qBAAqB,CAAC,CAAC;EAE5C,IAAAtD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACf,kBAAkB,EAAE;MACvB;IACF;IAEAzC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACToH,IAAI,EAAE,cAAc;MACpBtI,OAAO,EAAEsC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBvH,WAAW;QACXmE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC,CAAC;MACF8B,KAAK,EAAE;QACLgB,IAAI,EAAE/E,kBAAkB,CAACgE,WAAW,GAAG,cAAc,GAAG,KAAK;QAC7DgB,MAAM,EAAE,cAAc;QACtBC,OAAO,EAAET;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxE,kBAAkB,CAAC,CAAC;EAExB,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI,CAACb,sBAAsB,EAAE;MAC3B;IACF;IAEA3C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACToH,IAAI,EAAE,kBAAkB;MACxBtI,OAAO,EAAEsC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBvH,WAAW;QACXmE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC,CAAC;MACF8B,KAAK,EAAE;QACLgB,IAAI,EAAE7E,sBAAsB,CAAC8D,WAAW,GAAG,cAAc,GAAG,KAAK;QACjEgB,MAAM,EAAE,YAAY;QACpBC,OAAO,EAAEP;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxE,sBAAsB,CAAC,CAAC;EAE5B,MAAMgF,kBAAkB,GAAGA,CAAC;IAAEC,MAAM,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;IAAEC,MAAM,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAAK;IACxF,IAAIF,MAAM,EAAE;MACVlF,qBAAqB,CAAC,IAAI,CAAC;IAC7B;IACA,IAAImF,UAAU,EAAE;MACdjF,yBAAyB,CAAC,IAAI,CAAC;IACjC;IACA,IAAIkF,MAAM,EAAE;MACVpG,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAMqG,gBAAgB,GAAGA,CAACjJ,OAAO,GAAG,CAAC,CAAC,KAAK;IACzC,IAAIgG,aAAa,EAAE;MACjB,OAAOhG,OAAO;IAChB;IAEA,MAAMC,WAAW,GAAG;MAAE,GAAGD;IAAQ,CAAC;IAClC,OAAOC,WAAW,CAACiJ,KAAK;IACxB,OAAOjJ,WAAW;EACpB,CAAC;EAED,MAAMkJ,mBAAmB,GAAGA,CAACnJ,OAAO,GAAG,CAAC,CAAC,EAAEuI,MAAM,GAAG,YAAY,EAAEI,MAAM,GAAG,IAAI,KAC7EM,gBAAgB,CAAC,IAAAG,4CAAuB,EAACpJ,OAAO,EAAEuI,MAAM,EAAEI,MAAM,CAAC,CAClE;EAED,MAAMU,mCAAmC,GAAIC,gBAAgB;IAAA,IAAAC,qBAAA;IAAA,OAC3D,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAC1C9C,QAAQ,CAAC6C,gBAAgB,aAAhBA,gBAAgB,gBAAAC,qBAAA,GAAhBD,gBAAgB,CAAEE,iBAAiB,cAAAD,qBAAA,uBAAnCA,qBAAA,CAAqCE,IAAI,CAAC;EAAA,CACvD;EAED,IAAAC,sCAA6B,EAAC;IAC5BvI,cAAc;IACdF,WAAW;IACX4E,WAAW;IACXzE,iBAAiB,EAAEwE,eAAe;IAClCD,mBAAmB;IACnB7B,yBAAyB;IACzBlB,cAAc;IACdM,4BAA4B;IAC5BF,0BAA0B;IAC1BF;EACF,CAAC,CAAC;EAEF,IAAA4B,gBAAS,EAAC,MAAM;IACd,IAAItC,qBAAqB,EAAE;MACzB,IAAIoF,WAAW,CAAC9B,MAAM,KAAK,CAAC,IAAI8B,WAAW,CAAC,CAAC,CAAC,CAACmC,UAAU,EAAE;QACzDxH,kBAAkB,CAACqF,WAAW,CAAC,CAAC,CAAC,CAAC;QAClCnF,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;QACZW,cAAc,CAAC,IAAI,CAAC;MACtB,CAAC,MAAM,IAAI4E,WAAW,CAAC9B,MAAM,KAAK,CAAC,IAAI,CAAC+B,OAAO,EAAE;QAC/C7E,cAAc,CAAC,mFAAmF,CAAC;QACnGP,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;MACd;IACF,CAAC,MAAM,IAAIuF,WAAW,CAAC9B,MAAM,GAAG,CAAC,IAAI,CAAC8B,WAAW,CAAC,CAAC,CAAC,CAACmC,UAAU,IAAI,CAACzH,eAAe,EAAE;MACnFC,kBAAkB,CAAC,IAAI,CAAC;MACxBS,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CAAC4E,WAAW,EAAEpF,qBAAqB,EAAEF,eAAe,EAAEuF,OAAO,CAAC,CAAC;EAElE,IAAA/C,gBAAS,EAAC,MAAM;IACd,IAAIwD,WAAW,KAAK/B,SAAS,IAAIpC,eAAe,CAACY,OAAO,IAAI,CAACzC,eAAe,EAAE;MAC5ED,QAAQ,CAACiG,WAAW,CAAC;IACvB;EACF,CAAC,EAAE,CAACA,WAAW,EAAEhG,eAAe,CAAC,CAAC;EAElC,IAAAwC,gBAAS,EAAC,MAAM;IAAA,IAAAkF,mBAAA;IACd,MAAMC,2BAA2B,GAC/BjE,eAAe,IACf3C,yBAAyB,IACzB4E,qBAAqB,CAACnC,MAAM,GAAG,CAAC,IAChC,CAACoC,iBAAiB,KACjB,CAACjD,kBAAkB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC4B,QAAQ,CAAC1D,uBAAuB,CAAC,CAAC;IAE/E,IAAI,CAAC8G,2BAA2B,EAAE;MAChC;IACF;IAEA,MAAMC,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,IAAIoE,iBAAiB,CAACrD,QAAQ,CAACuD,QAAQ,CAACC,aAAa,CAAC,EAAE;MACxF;IACF;IAEA,CAAAL,mBAAA,GAAAE,iBAAiB,CAAC,CAAC,CAAC,cAAAF,mBAAA,eAApBA,mBAAA,CAAsBM,KAAK,CAAC,CAAC;EAC/B,CAAC,EAAE,CACDrF,kBAAkB,EAClBe,eAAe,EACf3C,yBAAyB,EACzB6E,iBAAiB,EACjBD,qBAAqB,EACrB9E,uBAAuB,CACxB,CAAC;EAEF,IAAA2B,gBAAS,EAAC,MAAM;IAAA,IAAAyF,qBAAA;IACd,MAAMC,wBAAwB,GAC5BvF,kBAAkB,IAClBzC,qBAAqB,IACrBoF,WAAW,CAAC9B,MAAM,GAAG,CAAC,IACtB,CAACxD,eAAe,IAChB,CAACuF,OAAO;IAEV,IAAI,CAAC2C,wBAAwB,EAAE;MAC7B;IACF;IAEA,CAAAD,qBAAA,GAAAE,qBAAqB,CAAC,CAAC,cAAAF,qBAAA,eAAvBA,qBAAA,CAAyBD,KAAK,CAAC,CAAC;EAClC,CAAC,EAAE,CAACrF,kBAAkB,EAAEzC,qBAAqB,EAAEoF,WAAW,EAAEtF,eAAe,EAAEuF,OAAO,CAAC,CAAC;EAEtF,IAAA/C,gBAAS,EAAC,MAAM;IACd,IAAI7B,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC4D,QAAQ,CAAC1D,uBAAuB,CAAC,EAAE;MACjGyB,6BAA6B,CAACG,OAAO,GAAG,KAAK;IAC/C;EACF,CAAC,EAAE,CAAC9B,iBAAiB,EAAEE,uBAAuB,CAAC,CAAC;EAEhD,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAI3B,uBAAuB,KAAK,KAAK,IAAI+E,iBAAiB,EAAE;MAC1DvD,uBAAuB,CAACI,OAAO,GAAG,IAAI;IACxC;IACA,IAAImD,iBAAiB,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAACrB,QAAQ,CAAC1D,uBAAuB,CAAC,EAAE;MAC7FyB,6BAA6B,CAACG,OAAO,GAAG,IAAI;IAC9C;EACF,CAAC,EAAE,CAACmD,iBAAiB,EAAE/E,uBAAuB,CAAC,CAAC;EAEhD,IAAA2B,gBAAS,EAAC,MAAM;IACd,IACE3B,uBAAuB,KAAK,KAAK,IACjCwB,uBAAuB,CAACI,OAAO,IAC/B1B,yBAAyB,IACzB,CAAC6E,iBAAiB,IAClBD,qBAAqB,CAACnC,MAAM,KAAK,CAAC,EAClC;MACAsB,iBAAiB,CAAC,KAAK,CAAC;MACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACzC;EACF,CAAC,EAAE,CAACmD,iBAAiB,EAAED,qBAAqB,EAAE9E,uBAAuB,EAAEE,yBAAyB,CAAC,CAAC;EAElG,IAAAyB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrB,qBAAqB,IAAImE,WAAW,CAAC9B,MAAM,KAAK,CAAC,EAAE;MACtD,OAAOS,SAAS;IAClB;IAEA,MAAMmE,uBAAuB,GAAIC,KAAK,IAAK;MACzC,MAAMC,SAAS,GAAGtG,YAAY,CAACS,OAAO;MACtC,IAAI6F,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACrC;MACF;MAEA,MAAMC,eAAe,GAAGxG,kBAAkB,CAACQ,OAAO;MAClD,IAAI,CAAAgG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEF,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,MAAK,KAAK,EAAE;QACrD3G,eAAe,CAACY,OAAO,GAAG,KAAK;QAC/B1C,QAAQ,CAAC,EAAE,CAAC;QACZE,kBAAkB,CAAC,IAAI,CAAC;QACxBE,wBAAwB,CAAC,IAAI,CAAC;QAC9Ba,4BAA4B,CAAC,KAAK,CAAC;QACnC2F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpCzG,WAAW,CAAC8B,sBAAsB,CAACM,OAAO,CAAC;QAC3CrB,wBAAwB,CAAC,KAAK,CAAC;MACjC;IACF,CAAC;IAED0G,QAAQ,CAACY,gBAAgB,CAAC,aAAa,EAAEN,uBAAuB,CAAC;IACjE,OAAO,MAAM;MACXN,QAAQ,CAACa,mBAAmB,CAAC,aAAa,EAAEP,uBAAuB,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAACjH,qBAAqB,EAAEmE,WAAW,CAAC,CAAC;EAExC,IAAA9C,gBAAS,EAAC,MAAM;IACd,IAAIxC,eAAe,EAAE;MACnB,MAAM4I,YAAY,GAAG5I,eAAe,CAAC6I,UAAU,IAC7C,GAAG7I,eAAe,CAAC8I,MAAM,IAAI,EAAE,IAAI9I,eAAe,CAAC+I,QAAQ,IAAI,EAAE,IAAI/I,eAAe,CAACgJ,WAAW,IAAI,EAAE,EAAE;MAC1G,IAAI5G,sBAAsB,CAACK,OAAO,KAAKmG,YAAY,EAAE;QACnD;MACF;MACAxG,sBAAsB,CAACK,OAAO,GAAGmG,YAAY;MAE7C,MAAMK,MAAM,GAAG,IAAAC,mDAAmC,EAAClJ,eAAe,EAAEyD,mBAAmB,CAAC;MACxF,MAAM0F,eAAe,GAAG;QACtB,GAAGtL,YAAY,CAACuC,QAAQ,CAAC;QACzB,GAAG6I,MAAM;QACTjC,KAAK,EAAE5G,QAAQ,CAAC4G;MAClB,CAAC;MACD,MAAMoC,kBAAkB,GAAGnC,mBAAmB,CAACkC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC;MAC9F9I,WAAW,CAAC+I,kBAAkB,CAAC;MAC/BlI,kBAAkB,CAAC,EAAE,CAAC;MACtBgB,uBAAuB,CAACO,OAAO,GAAG2G,kBAAkB;MACpDjH,sBAAsB,CAACM,OAAO,GAAG2G,kBAAkB;MACnDhI,wBAAwB,CAAC,KAAK,CAAC;MAC/BuF,kBAAkB,CAAC;QAAEG,MAAM,EAAE;MAAK,CAAC,CAAC;MACpC,MAAMuC,yBAAyB,GAAG,cAAc;MAChD9I,qBAAqB,CAAC8I,yBAAyB,CAAC;MAChDrK,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;QACToH,IAAI,EAAE,cAAc;QACpBtI,OAAO,EAAEsL,kBAAkB;QAC3B/C,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzBvH,WAAW;UACXmE,WAAW,EAAEO,mBAAmB;UAChCrD,QAAQ,EAAEgJ,kBAAkB;UAC5B9I,kBAAkB,EAAE+I,yBAAyB;UAC7C1J,IAAI;UACJT,iBAAiB,EAAEwE;QACrB,CAAC;MACH,CAAC,CAAC;MAEF,IAAI,IAAA4F,gDAAiC,EAAC;QACpCpG,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ,EAAEgJ,kBAAkB;QAC5BlK,iBAAiB,EAAEwE;MACrB,CAAC,CAAC,EAAE;QACF;QACA;QACA1C,4BAA4B,CAAC,IAAI,CAAC;QAClCF,0BAA0B,CAAC,cAAc,CAAC;QAC1CF,oBAAoB,CAAC2I,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;MACxC;IACF;EACF,CAAC,EAAE,CAACvJ,eAAe,CAAC,CAAC;EAErB,MAAMwJ,iBAAiB,GAAI9L,CAAC,IAAK;IAC/B,MAAM+L,KAAK,GAAG,IAAAC,sCAA0B,EAAC/F,WAAW,EAAEjG,CAAC,CAAC8K,MAAM,CAACiB,KAAK,CAAC;IACrE5H,eAAe,CAACY,OAAO,GAAG,IAAI;IAC9BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;IACrCxC,kBAAkB,CAAC,IAAI,CAAC;IACxBE,wBAAwB,CAAC,IAAI,CAAC;IAC9Ba,4BAA4B,CAAC,KAAK,CAAC;IACnC+D,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCvB,kBAAkB,CAAC,EAAE,CAAC;IACtBJ,0BAA0B,CAAC,IAAI,CAAC;IAChC6F,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IACpC,IAAI,CAAC3F,qBAAqB,EAAE;MAC1BgB,sBAAsB,CAACM,OAAO,GAAGrC,QAAQ;MACzCgB,wBAAwB,CAAC,IAAI,CAAC;IAChC;IACA,MAAM+H,eAAe,GAAGpC,gBAAgB,CAAC;MACvC,GAAGlJ,YAAY,CAACuC,QAAQ,CAAC;MACzB,CAACuD,WAAW,GAAG8F;IACjB,CAAC,CAAC;IACFpJ,WAAW,CAAC4G,mBAAmB,CAACkC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC/D5I,qBAAqB,CAAC,YAAY,CAAC;EACrC,CAAC;EAED,MAAMoJ,eAAe,GAAIhL,KAAK,IAAKiF,cAAc,CAACW,QAAQ,CAAC5F,KAAK,CAAC;EACjE,MAAMiL,YAAY,GAAIjL,KAAK,IAAKyF,MAAM,CAAChE,QAAQ,CAACzB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC0F,IAAI,CAAC,CAAC,KAAK,EAAE;EAC3E,MAAMwF,0BAA0B,GAAIlL,KAAK,IAAK;IAC5C,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1B,OAAO,KAAK;IACd;IACA,MAAM8K,KAAK,GAAGrF,MAAM,CAAChE,QAAQ,CAAC5B,UAAU,IAAI,EAAE,CAAC,CAAC6F,IAAI,CAAC,CAAC;IACtD,IAAI,CAACoF,KAAK,IAAI,CAAChG,mBAAmB,CAACqG,eAAe,EAAE;MAClD,OAAO,KAAK;IACd;IACA,OAAO,CAACrG,mBAAmB,CAACqG,eAAe,CAACC,IAAI,CAAC,IAAAC,oCAAwB,EAACP,KAAK,CAAC,CAAC;EACnF,CAAC;EACD,MAAMQ,qBAAqB,GAAItL,KAAK,IAAK;IACvC,IAAIA,KAAK,KAAK,OAAO,EAAE;MACrB,OAAO,KAAK;IACd;IACA,MAAM8K,KAAK,GAAGrF,MAAM,CAAChE,QAAQ,CAAC4G,KAAK,IAAI,EAAE,CAAC,CAAC3C,IAAI,CAAC,CAAC;IACjD,IAAI,CAACoF,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IACA,OAAO,CAAC,IAAAS,wBAAY,EAACT,KAAK,CAAC;EAC7B,CAAC;EACD,MAAMU,oBAAoB,GAAIxL,KAAK,IAAK;IACtC,MAAMyL,oBAAoB,GAAGjG,OAAO,CAAC5C,qBAAqB,IAAIF,aAAa,CAAC1C,KAAK,CAAC,CAAC;IACnF,IAAI,CAACyL,oBAAoB,EAAE;MACzB,OAAO,KAAK;IACd;IACA,MAAMC,aAAa,GAAGV,eAAe,CAAChL,KAAK,CAAC,IAAIiL,YAAY,CAACjL,KAAK,CAAC;IACnE,OAAO0L,aAAa,IAAIR,0BAA0B,CAAClL,KAAK,CAAC,IAAIsL,qBAAqB,CAACtL,KAAK,CAAC;EAC3F,CAAC;EAED,MAAM2L,eAAe,GAAI3L,KAAK,IAAK;IACjC,IAAI,CAACgL,eAAe,CAAChL,KAAK,CAAC,IAAIA,KAAK,KAAK,OAAO,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1E;IACF;IACA2C,gBAAgB,CAAEiI,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAE,CAAC5K,KAAK,GAAG;IAAK,CAAC,CAAC,CAAC;EAC1D,CAAC;EAED,MAAM4L,oBAAoB,GAAI5L,KAAK,IAAK;IACtC,IAAI,CAACwL,oBAAoB,CAACxL,KAAK,CAAC,EAAE;MAChC,OAAO,EAAE;IACX;IACA,IAAIgL,eAAe,CAAChL,KAAK,CAAC,IAAIiL,YAAY,CAACjL,KAAK,CAAC,EAAE;MACjD,OAAOoE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2H,aAAa;IAC3D;IACA,IAAIX,0BAA0B,CAAClL,KAAK,CAAC,EAAE;MACrC,OAAOoE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4H,iBAAiB;IAC/D;IACA,IAAIR,qBAAqB,CAACtL,KAAK,CAAC,EAAE;MAChC,OAAOoE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6H,YAAY;IAC1D;IACA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,oBAAoB,GAAIhM,KAAK,IAAKwL,oBAAoB,CAACxL,KAAK,CAAC;EAEnE,MAAMiM,yBAAyB,GAAGA,CAACjM,KAAK,EAAE8K,KAAK,KAAK;IAClD,MAAMoB,eAAe,GAAG,IAAAnB,sCAA0B,EAAC/K,KAAK,EAAE8K,KAAK,CAAC;IAChE,IAAI9K,KAAK,KAAKgF,WAAW,EAAE;MACzB3C,4BAA4B,CAAC,KAAK,CAAC;IACrC;IACA+D,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCvB,kBAAkB,CAAC,EAAE,CAAC;IACtByF,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IAEpC,MAAMgE,6BAA6B,GAAG,CAAArH,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEG,cAAc,KAAIA,cAAc;IAC3F,MAAMmH,sBAAsB,GAAG,IAAAC,oDAA+B,EAC5D1K,kBAAkB,EAClB3B,KAAK,EACLgF,WAAW,EACXmH,6BACF,CAAC;IACD,MAAM3B,eAAe,GAAG,IAAA8B,sDAAiC,EACvDlE,gBAAgB,CAAC;MACf,GAAGlJ,YAAY,CAACuC,QAAQ,CAAC;MACzB,CAACzB,KAAK,GAAGkM;IACX,CAAC,CAAC,EACFlM,KAAK,EACLoM,sBACF,CAAC;IACD1K,WAAW,CAAC8I,eAAe,CAAC;IAC5B5I,qBAAqB,CAACwK,sBAAsB,CAAC;IAE7C,IAAIhJ,aAAa,CAACU,OAAO,EAAE;MACzBC,YAAY,CAACX,aAAa,CAACU,OAAO,CAAC;IACrC;IAEAV,aAAa,CAACU,OAAO,GAAGyI,UAAU,CAAC,MAAM;MACvC,MAAMC,OAAO,GAAG;QACd/E,IAAI,EAAE,cAAc;QACpBzH,KAAK;QACL8K,KAAK,EAAEoB,eAAe;QACtB/M,OAAO,EAAEqL,eAAe;QACxB9C,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzBvH,WAAW;UACXmE,WAAW,EAAEO,mBAAmB;UAChCrD,QAAQ,EAAE+I,eAAe;UACzB7I,kBAAkB,EAAEyK,sBAAsB;UAC1CpL,IAAI;UACJT,iBAAiB,EAAEwE;QACrB,CAAC;MACH,CAAC;MAED,IAAII,aAAa,IAAInF,KAAK,KAAK,OAAO,IAAI8K,KAAK,EAAE;QAC/C0B,OAAO,CAACjB,YAAY,GAAG,IAAAA,wBAAY,EAACW,eAAe,CAAC;MACtD;MAEA7L,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGmM,OAAO,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,MAAMC,YAAY,GAAItN,OAAO,IAAK;IAChC6I,kBAAkB,CAAC;MAAEC,MAAM,EAAE,IAAI;MAAEC,UAAU,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAK,CAAC,CAAC;IACrE,IAAIhJ,OAAO,CAACuN,OAAO,GAAG,CAAC,IAAKvN,OAAO,CAACuN,OAAO,KAAK,CAAC,IAAIvN,OAAO,CAAC2J,UAAU,KAAK,KAAM,EAAE;MAClF5F,eAAe,CAACY,OAAO,GAAG,IAAI;MAC9BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;MACrCtC,wBAAwB,CAACrC,OAAO,CAAC+K,UAAU,CAAC;MAC5C9I,QAAQ,CAACjC,OAAO,CAACwN,WAAW,CAAC;IAC/B,CAAC,MAAM;MACLzJ,eAAe,CAACY,OAAO,GAAG,KAAK;MAC/BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;MACrCtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BF,kBAAkB,CAACnC,OAAO,CAAC;MAC3BiC,QAAQ,CAAC,EAAE,CAAC;IACd;EACF,CAAC;EAED,MAAMwL,sBAAsB,GAAInE,gBAAgB,IAAK;IAAA,IAAAoE,qBAAA,EAAAC,sBAAA;IACnD9E,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE,MAAM4E,MAAM,GAAGjI,mBAAmB,CAACF,eAAe,IAAI,EAAE;IACxD,MAAM;MACJ0F,MAAM,EAAE0C,eAAe;MACvB1K,eAAe,EAAE2K;IACnB,CAAC,GAAG,IAAAC,sDAAsC,EAACzE,gBAAgB,EAAE3D,mBAAmB,CAAC;IAEjF,IAAIwF,MAAM,GAAG,IAAA6C,+CAA+B,EAC1CH,eAAe,EACfvL,QAAQ,EACRsL,MAAM,EACN,cACF,CAAC;;IAED;IACA,IAAIjI,mBAAmB,CAACsI,sBAAsB,EAAE;MAC9C,MAAMC,aAAa,GAAGN,MAAM,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACvN,KAAK,KAAK,UAAU,CAAC;MAC9D,IAAIqN,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEG,SAAS,EAAE;QAC5B,MAAMC,OAAO,GAAG,IAAAL,sCAAsB,EAAC9C,MAAM,CAAC9K,QAAQ,EAAE8K,MAAM,CAAC7K,QAAQ,EAAE4N,aAAa,CAACG,SAAS,CAAC;QACjGlD,MAAM,CAAC9K,QAAQ,GAAGiO,OAAO,CAACjO,QAAQ;QAClC8K,MAAM,CAAC7K,QAAQ,GAAGgO,OAAO,CAAChO,QAAQ;MACpC;IACF;IAEA,MAAM+K,eAAe,GAAG;MACtB,GAAGtL,YAAY,CAACuC,QAAQ,CAAC;MACzB,GAAG6I,MAAM;MACTjC,KAAK,EAAE5G,QAAQ,CAAC4G,KAAK;MACrBhJ,QAAQ,GAAAwN,qBAAA,GAAEpE,gBAAgB,CAACiF,QAAQ,cAAAb,qBAAA,uBAAzBA,qBAAA,CAA2BxN,QAAQ;MAC7CC,SAAS,GAAAwN,sBAAA,GAAErE,gBAAgB,CAACiF,QAAQ,cAAAZ,sBAAA,uBAAzBA,sBAAA,CAA2BxN;IACxC,CAAC;IACD,MAAMmL,kBAAkB,GAAGnC,mBAAmB,CAACkC,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC;IAC1FnI,4BAA4B,CAAC,KAAK,CAAC;IACnCF,0BAA0B,CAAC,IAAI,CAAC;IAChCT,WAAW,CAAC+I,kBAAkB,CAAC;IAC/BlI,kBAAkB,CAAC0K,mBAAmB,CAAC;IACvC1J,uBAAuB,CAACO,OAAO,GAAG2G,kBAAkB;IACpDjH,sBAAsB,CAACM,OAAO,GAAG2G,kBAAkB;IACnDhI,wBAAwB,CAAC,KAAK,CAAC;IAC/B,MAAMiI,yBAAyB,GAAG,UAAU;IAC5C9I,qBAAqB,CAAC8I,yBAAyB,CAAC;IAChD/G,6BAA6B,CAACG,OAAO,GAAG,KAAK;IAC7C,IAAIoC,cAAc,EAAE;MAClBC,iBAAiB,CAAC,KAAK,CAAC;MACxBC,eAAe,CAAC,IAAI,CAAC;IACvB;IACA1C,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCzD,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACToH,IAAI,EAAE,YAAY;MAClBtI,OAAO,EAAEsL,kBAAkB;MAC3BkD,YAAY,EAAElF,gBAAgB,CAACmF,QAAQ;MACvClG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBvH,WAAW;QACXmE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ,EAAEgJ,kBAAkB;QAC5B9I,kBAAkB,EAAE+I,yBAAyB;QAC7C1J,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAM8I,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAAC9I,eAAe,EAAE;MACpB;IACF;IACAiD,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE9F,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,QAAQ,CAAC;IACpCF,oBAAoB,CAAC2I,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;EACxC,CAAC;EAED,MAAMkD,WAAW,GAAIC,WAAW,IAAKA,WAAW,CAAC/N,KAAK;EAEtD,MAAMgO,gBAAgB,GAAIC,UAAU,IAClCA,UAAU,CAAC/D,UAAU,IACrB,CACE+D,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAAC9D,MAAM,EACjB8D,UAAU,CAACC,YAAY,EACvBD,UAAU,CAAC7D,QAAQ,EACnB6D,UAAU,CAACE,mBAAmB,EAC9BF,UAAU,CAAC5D,WAAW,EACtB4D,UAAU,CAACvB,OAAO,CACnB,CAAC3G,MAAM,CAAE+E,KAAK,IAAKA,KAAK,KAAKxF,SAAS,IAAIwF,KAAK,KAAK,IAAI,CAAC,CAAC9E,IAAI,CAAC,GAAG,CACpE;EAED,MAAMoI,0BAA0B,GAAIH,UAAU;IAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAK,CACjDR,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAACzO,QAAQ,EACnByO,UAAU,CAACxO,QAAQ,EACnBwO,UAAU,CAACS,QAAQ,GAAAL,qBAAA,GACnBJ,UAAU,CAACU,UAAU,cAAAN,qBAAA,uBAArBA,qBAAA,CAAuBO,YAAY,GAAAN,sBAAA,GACnCL,UAAU,CAACU,UAAU,cAAAL,sBAAA,uBAArBA,sBAAA,CAAuBO,OAAO,GAAAN,sBAAA,GAC9BN,UAAU,CAACU,UAAU,cAAAJ,sBAAA,uBAArBA,sBAAA,CAAuBnE,QAAQ,GAAAoE,sBAAA,GAC/BP,UAAU,CAACU,UAAU,cAAAH,sBAAA,uBAArBA,sBAAA,CAAuBL,mBAAmB,GAAAM,sBAAA,GAC1CR,UAAU,CAACU,UAAU,cAAAF,sBAAA,uBAArBA,sBAAA,CAAuBpE,WAAW,CACnC,CAACtE,MAAM,CAAE+E,KAAK,IAAKA,KAAK,KAAKxF,SAAS,IAAIwF,KAAK,KAAK,IAAI,CAAC,CAAC9E,IAAI,CAAC,GAAG,CAAC;EAAA;EAEpE,MAAM8I,6BAA6B,GAAIb,UAAU,IAAK;IAAA,IAAAc,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpD,MAAMzG,IAAI,IAAAmG,qBAAA,GAAGd,UAAU,CAACtF,iBAAiB,cAAAoG,qBAAA,uBAA5BA,qBAAA,CAA8BnG,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAA1E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoL,iBAAiB,OAAAN,sBAAA,GAAIf,UAAU,CAACtF,iBAAiB,cAAAqG,sBAAA,uBAA5BA,sBAAA,CAA8BO,KAAK,KAAI,UAAU;MAC5F,KAAK,+BAA+B;QAClC,OAAO,CAAArL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsL,mCAAmC,OAAAP,sBAAA,GACvDhB,UAAU,CAACtF,iBAAiB,cAAAsG,sBAAA,uBAA5BA,sBAAA,CAA8BM,KAAK,KACnC,4BAA4B;MAC9B,KAAK,SAAS;QACZ,OAAO,CAAArL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuL,gBAAgB,OAAAP,sBAAA,GAAIjB,UAAU,CAACtF,iBAAiB,cAAAuG,sBAAA,uBAA5BA,sBAAA,CAA8BK,KAAK,KAAI,oBAAoB;MACrG,KAAK,WAAW;QACd,OAAO,CAAArL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwL,kBAAkB,OAAAP,sBAAA,GAAIlB,UAAU,CAACtF,iBAAiB,cAAAwG,sBAAA,uBAA5BA,sBAAA,CAA8BI,KAAK,KAAI,wBAAwB;MAC3G,KAAK,cAAc;QACjB,OAAO,CAAArL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyL,oBAAoB,OAAAP,sBAAA,GAAInB,UAAU,CAACtF,iBAAiB,cAAAyG,sBAAA,uBAA5BA,sBAAA,CAA8BG,KAAK,KAAI,cAAc;MACnG;QACE,OAAO,EAAAF,sBAAA,GAAApB,UAAU,CAACtF,iBAAiB,cAAA0G,sBAAA,uBAA5BA,sBAAA,CAA8BE,KAAK,KAAI,SAAS;IAC3D;EACF,CAAC;EAED,MAAMK,+BAA+B,GAAI3B,UAAU,IAAK;IAAA,IAAA4B,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,uBAAA;IACtD,MAAMvH,IAAI,IAAAiH,sBAAA,GAAG5B,UAAU,CAACtF,iBAAiB,cAAAkH,sBAAA,uBAA5BA,sBAAA,CAA8BjH,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAA1E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEkM,mBAAmB,OAAAN,sBAAA,GAAI7B,UAAU,CAACtF,iBAAiB,cAAAmH,sBAAA,uBAA5BA,sBAAA,CAA8B/H,OAAO,KAAI,EAAE;MACxF,KAAK,+BAA+B;QAClC,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEmM,qCAAqC,OAAAN,sBAAA,GACzD9B,UAAU,CAACtF,iBAAiB,cAAAoH,sBAAA,uBAA5BA,sBAAA,CAA8BhI,OAAO,KACrC,EAAE;MACJ,KAAK,SAAS;QACZ,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoM,kBAAkB,OAAAN,sBAAA,GAAI/B,UAAU,CAACtF,iBAAiB,cAAAqH,sBAAA,uBAA5BA,sBAAA,CAA8BjI,OAAO,KAAI,EAAE;MACvF,KAAK,WAAW;QACd,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqM,oBAAoB,OAAAN,uBAAA,GAAIhC,UAAU,CAACtF,iBAAiB,cAAAsH,uBAAA,uBAA5BA,uBAAA,CAA8BlI,OAAO,KAAI,EAAE;MACzF,KAAK,cAAc;QACjB,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsM,sBAAsB,OAAAN,uBAAA,GAAIjC,UAAU,CAACtF,iBAAiB,cAAAuH,uBAAA,uBAA5BA,uBAAA,CAA8BnI,OAAO,KAAI,EAAE;MAC3F;QACE,OAAO,EAAAoI,uBAAA,GAAAlC,UAAU,CAACtF,iBAAiB,cAAAwH,uBAAA,uBAA5BA,uBAAA,CAA8BpI,OAAO,KAAI,EAAE;IACtD;EACF,CAAC;EAED,MAAM0I,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAIpL,iBAAiB,EAAE;MACrBe,eAAe,CAAC,IAAI,CAAC;MACrB;IACF;IAEA,IAAI,CAACT,aAAa,IAAIsB,iBAAiB,EAAE;MACvC;IACF;IAEAe,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtEzE,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCqC,iBAAiB,CAAC,IAAI,CAAC;IACvB9D,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,KAAK,CAAC;IACjCF,oBAAoB,CAAE2I,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;EAC1C,CAAC;EAED,MAAM8F,mBAAmB,GAAGA,CAAA,kBAC1B,IAAA5R,WAAA,CAAA6R,IAAA;IAAKC,SAAS,EAAC,4BAA4B;IAAAC,QAAA,GACxChL,aAAa,iBACZ,IAAA/G,WAAA,CAAAgS,GAAA;MACErJ,IAAI,EAAC,QAAQ;MACbsJ,OAAO,EAAEN,aAAc;MACvBG,SAAS,EAAC,2DAA2D;MACrErB,KAAK,EAAErL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAW;MAC/B,cAAYvC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAW;MAAAoK,QAAA,eAEpC,IAAA/R,WAAA,CAAAgS,GAAA,EAAClS,gBAAA,CAAAK,OAAe;QAAC2R,SAAS,EAAC;MAAyB,CAAE;IAAC,CACjD,CACT,EACA,CAAC5M,kBAAkB,IAAIe,eAAe,IAAItE,wBAAwB,iBACjE,IAAA3B,WAAA,CAAAgS,GAAA,EAACjS,uBAAA,CAAAmS,QAAQ;MACPvJ,IAAI,EAAC,QAAQ;MACbsJ,OAAO,EAAElD,cAAe;MACxBoD,QAAQ,EAAEhK,iBAAiB,IAAI,CAACxB,MAAM,CAAChE,QAAQ,CAACuD,WAAW,CAAC,IAAI,EAAE,CAAC,CAACU,IAAI,CAAC,CAAE;MAC3EwL,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAC,SAAS;MACfC,IAAI,EAAC,OAAO;MAAAP,QAAA,EAEX5J,iBAAiB,GAAG,eAAe,GAAG;IAAkB,CACjD,CACX,eACD,IAAAnI,WAAA,CAAAgS,GAAA;MACErJ,IAAI,EAAC,QAAQ;MACbsJ,OAAO,EAAEA,CAAA,KAAM;QACb1O,4BAA4B,CAAC,KAAK,CAAC;QACnC+D,eAAe,CAAC,KAAK,CAAC;QACtBD,iBAAiB,CAAC,KAAK,CAAC;QACxBhE,0BAA0B,CAAC,IAAI,CAAC;QAChC6F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpClH,OAAO,CAACD,IAAI,KAAK,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;MAC9D,CAAE;MACF4P,SAAS,EAAC,2BAA2B;MAAAC,QAAA,EAEpC7P,IAAI,KAAK,cAAc,GACtBkD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEmN,mBAAmB,GAChCnN,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoN;IAAoB,CAC7B,CAAC;EAAA,CACN,CACN;EAED,MAAM9H,qBAAqB,GAAGA,CAAA,KAC5B,OAAOL,QAAQ,KAAK,WAAW,GAAGA,QAAQ,CAACoI,cAAc,CAACtR,UAAU,CAAC+E,WAAW,CAAC,CAAC,GAAG,IACtF;EAED,MAAMkE,2BAA2B,GAAGA,CAAA;IAAA,IAAAsI,qBAAA;IAAA,OAClCC,KAAK,CAACC,IAAI,CAAC,EAAAF,qBAAA,GAAAnO,YAAY,CAACS,OAAO,cAAA0N,qBAAA,uBAApBA,qBAAA,CAAsBG,gBAAgB,CAACzR,2BAA2B,CAAC,KAAI,EAAE,CAAC;EAAA,CACtF;EAED,MAAM0R,wBAAwB,GAAIlI,KAAK,IAAK;IAC1C,IAAIA,KAAK,CAACmI,GAAG,KAAK,WAAW,IAAInI,KAAK,CAACmI,GAAG,KAAK,SAAS,EAAE;MACxD;IACF;IAEA,MAAM5I,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,EAAE;MAClC;IACF;IAEA6E,KAAK,CAACoI,cAAc,CAAC,CAAC;IAEtB,MAAMC,YAAY,GAAGrI,KAAK,CAACmI,GAAG,KAAK,SAAS,GAC1C5I,iBAAiB,CAACA,iBAAiB,CAACpE,MAAM,GAAG,CAAC,CAAC,GAC/CoE,iBAAiB,CAAC,CAAC,CAAC;IAEtB8I,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE1I,KAAK,CAAC,CAAC;EACvB,CAAC;EAED,MAAM2I,6BAA6B,GAAGA,CAACtI,KAAK,EAAEuI,KAAK,KAAK;IACtD,MAAMhJ,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,EAAE;MAClC;IACF;IAEA,IAAI6E,KAAK,CAACmI,GAAG,KAAK,WAAW,EAAE;MAAA,IAAAK,kBAAA;MAC7BxI,KAAK,CAACoI,cAAc,CAAC,CAAC;MAEtB,IAAIG,KAAK,KAAKhJ,iBAAiB,CAACpE,MAAM,GAAG,CAAC,EAAE;QAAA,IAAAsN,sBAAA;QAC1C,CAAAA,sBAAA,GAAA3I,qBAAqB,CAAC,CAAC,cAAA2I,sBAAA,eAAvBA,sBAAA,CAAyB9I,KAAK,CAAC,CAAC;QAChC;MACF;MAEA,CAAA6I,kBAAA,GAAAjJ,iBAAiB,CAACgJ,KAAK,GAAG,CAAC,CAAC,cAAAC,kBAAA,eAA5BA,kBAAA,CAA8B7I,KAAK,CAAC,CAAC;MACrC;IACF;IAEA,IAAIK,KAAK,CAACmI,GAAG,KAAK,SAAS,EAAE;MAAA,IAAAO,mBAAA;MAC3B1I,KAAK,CAACoI,cAAc,CAAC,CAAC;MAEtB,IAAIG,KAAK,KAAK,CAAC,EAAE;QAAA,IAAAI,sBAAA;QACf,CAAAA,sBAAA,GAAA7I,qBAAqB,CAAC,CAAC,cAAA6I,sBAAA,eAAvBA,sBAAA,CAAyBhJ,KAAK,CAAC,CAAC;QAChC;MACF;MAEA,CAAA+I,mBAAA,GAAAnJ,iBAAiB,CAACgJ,KAAK,GAAG,CAAC,CAAC,cAAAG,mBAAA,eAA5BA,mBAAA,CAA8B/I,KAAK,CAAC,CAAC;MACrC;IACF;IAEA,IAAIK,KAAK,CAACmI,GAAG,KAAK,QAAQ,EAAE;MAAA,IAAAS,sBAAA;MAC1B5I,KAAK,CAACoI,cAAc,CAAC,CAAC;MACtB,CAAAQ,sBAAA,GAAA9I,qBAAqB,CAAC,CAAC,cAAA8I,sBAAA,eAAvBA,sBAAA,CAAyBjJ,KAAK,CAAC,CAAC;IAClC;EACF,CAAC;EAED,MAAMkJ,iBAAiB,GAAIC,aAAa,IAAK;IAC3C,IAAIhS,YAAY,EAAE;MAChB,OAAO,IAAI;IACb;IAEA,MAAMwI,2BAA2B,GAC/BjE,eAAe,IACf3C,yBAAyB,KACxB,CAAC4B,kBAAkB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC4B,QAAQ,CAAC1D,uBAAuB,CAAC,CAAC;IAC/E,MAAMuQ,mBAAmB,GACvBzJ,2BAA2B,IAC3B,CAAC/B,iBAAiB,IAClBD,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClC,CAAC7B,sBAAsB,KACtBd,uBAAuB,KAAK,KAAK,IAAIwB,uBAAuB,CAACI,OAAO,CAAC;IAExE,IAAI,CAAC0O,aAAa,EAAE;MAClB,OAAO,IAAI;IACb;IAEA,IAAI5L,OAAO,IAAI5C,kBAAkB,EAAE;MACjC,oBAAO,IAAAlF,WAAA,CAAAgS,GAAA;QAAKF,SAAS,EAAC;MAA4B,CAAE,CAAC;IACvD;IAEA,IAAIjK,WAAW,CAAC9B,MAAM,GAAG,CAAC,IAAI,CAACxD,eAAe,IAAI2C,kBAAkB,EAAE;MACpE,oBACE,IAAAlF,WAAA,CAAAgS,GAAA;QACE4B,GAAG,EAAEpP,kBAAmB;QACxBsN,SAAS,EAAC,8DAA8D;QAAAC,QAAA,EACvElK,WAAW,CAACgM,GAAG,CAAC,CAAC1E,UAAU,EAAEgE,KAAK,kBACjC,IAAAnT,WAAA,CAAAgS,GAAA;UAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9BqB,KAAK,GAAGtL,WAAW,CAAC9B,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CAC9E,CAACkB,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAE;UAAA6K,QAAA,eAE5B,IAAA/R,WAAA,CAAAgS,GAAA;YACErJ,IAAI,EAAC,QAAQ;YACbsJ,OAAO,EAAEA,CAAA,KAAMtE,YAAY,CAACwB,UAAU,CAAE;YACxC2E,SAAS,EAAGlJ,KAAK,IAAKsI,6BAA6B,CAACtI,KAAK,EAAEuI,KAAK,CAAE;YAClErB,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAEzC5C,UAAU,CAACtB;UAAW,CACjB;QAAC,GAbJqB,gBAAgB,CAACC,UAAU,CAc9B,CACL;MAAC,CACA,CAAC;IAET;IAEA,IAAIjF,2BAA2B,IAAIhC,qBAAqB,CAACnC,MAAM,GAAG,CAAC,EAAE;MACnE,oBACE,IAAA/F,WAAA,CAAAgS,GAAA;QAAIF,SAAS,EAAC,oEAAoE;QAAAC,QAAA,EAC/E7J,qBAAqB,CAAC2L,GAAG,CAAC,CAAC1E,UAAU,EAAEgE,KAAK,kBAC3C,IAAAnT,WAAA,CAAAgS,GAAA;UAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9BqB,KAAK,GAAGjL,qBAAqB,CAACnC,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CACxF,CAACkB,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAE;UAAA6K,QAAA,eAE5B,IAAA/R,WAAA,CAAA6R,IAAA;YACElJ,IAAI,EAAC,QAAQ;YACbsJ,OAAO,EAAEA,CAAA,KAAMnE,sBAAsB,CAACqB,UAAU,CAAE;YAClD2E,SAAS,EAAGlJ,KAAK,IAAKsI,6BAA6B,CAACtI,KAAK,EAAEuI,KAAK,CAAE;YAClErB,SAAS,EAAC,gCAAgC;YAAAC,QAAA,gBAE1C,IAAA/R,WAAA,CAAAgS,GAAA;cAAKF,SAAS,EAAC,+BAA+B;cAAAC,QAAA,EAC3C/B,6BAA6B,CAACb,UAAU;YAAC,CACvC,CAAC,eACN,IAAAnP,WAAA,CAAAgS,GAAA;cAAKF,SAAS,EAAC,kCAAkC;cAAAC,QAAA,EAC9C5C,UAAU,CAACtB;YAAW,CACpB,CAAC,eACN,IAAA7N,WAAA,CAAAgS,GAAA;cAAKF,SAAS,EAAC,kCAAkC;cAAAC,QAAA,EAC9CjB,+BAA+B,CAAC3B,UAAU;YAAC,CACzC,CAAC;UAAA,CACA;QAAC,GArBJG,0BAA0B,CAACH,UAAU,CAsBxC,CACL;MAAC,CACA,CAAC;IAET;IAEA,IAAIwE,mBAAmB,EAAE;MACvB,oBACE,IAAA3T,WAAA,CAAAgS,GAAA;QAAKF,SAAS,EAAC,4BAA4B;QAAAC,QAAA,EACxC3M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2O;MAAa,CACxB,CAAC;IAEV;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAAhP,gBAAS,EAAC,MAAM;IACd,IACE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC+B,QAAQ,CAAC1D,uBAAuB,CAAC,IACzD8E,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClClB,6BAA6B,CAACG,OAAO,EACrC;MACA8I,sBAAsB,CAAC5F,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;IAEA,IACE9E,uBAAuB,KAAK,SAAS,IACrC8E,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClClB,6BAA6B,CAACG,OAAO,IACrC0E,mCAAmC,CAACxB,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAC7D;MACA4F,sBAAsB,CAAC5F,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;EACF,CAAC,EAAE,CAACA,qBAAqB,EAAE9E,uBAAuB,CAAC,CAAC;EAEpD,MAAM4Q,WAAW,GAAI/E,WAAW,IAAK;IACnC,MAAMyE,aAAa,GAAGzE,WAAW,CAAC/N,KAAK,KAAKgF,WAAW;IACvD,MAAM+N,OAAO,GAAG9S,UAAU,CAAC8N,WAAW,CAAC/N,KAAK,CAAC;IAC7C,MAAMgT,UAAU,GAAG5O,gBAAgB,GAAG,EAAE,GAAI,CAAAF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG6J,WAAW,CAAC/N,KAAK,CAAC,KAAI+N,WAAW,CAACkF,KAAM;IAClG,MAAMC,UAAU,GAAGtH,oBAAoB,CAACmC,WAAW,CAAC/N,KAAK,CAAC;IAC1D,MAAMmT,SAAS,GAAGnH,oBAAoB,CAAC+B,WAAW,CAAC/N,KAAK,CAAC;IACzD,MAAMoT,UAAU,GAAG5S,YAAY,IAAM,CAACuN,WAAW,CAACsF,QAAQ,IAAI,CAACb,aAAa,IAAKxO,kBAAmB;IACpG,MAAMsP,UAAU,GAAGvF,WAAW,CAACwF,KAAK,KAAK,MAAM,GAC7C,MAAM,GACLxF,WAAW,CAACwF,KAAK,KAAK,OAAO,GAAG,YAAY,GAAG,KAAM;IACxD,MAAMC,cAAc,GAAG,CACrB,0BAA0B,EAC1BJ,UAAU,GAAG,oCAAoC,GAAG,EAAE,EACtDZ,aAAa,IAAI5L,OAAO,GAAG,mCAAmC,GAAG,EAAE,CACpE,CAACb,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC;IAC3B,MAAMyN,iBAAiB,GAAG,CACxB,8BAA8B,EAC9BjB,aAAa,GAAG,EAAE,GAAG,qCAAqC,CAC3D,CAACzM,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC;IAE3B,oBACE,IAAAlH,WAAA,CAAA6R,IAAA;MAEEC,SAAS,EAAC,0BAA0B;MACpC8C,KAAK,EAAE;QAAEH,KAAK,EAAED;MAAW,CAAE;MAAAzC,QAAA,gBAE7B,IAAA/R,WAAA,CAAA6R,IAAA;QAAKC,SAAS,EAAE6C,iBAAkB;QAAA5C,QAAA,gBAChC,IAAA/R,WAAA,CAAA6R,IAAA;UACEgD,OAAO,EAAEZ,OAAQ;UACjBnC,SAAS,EAAC,2EAA2E;UAAAC,QAAA,GAEpFmC,UAAU,EACVjF,WAAW,CAAC6F,QAAQ,IAAI,CAACxP,gBAAgB,iBACxC,IAAAtF,WAAA,CAAAgS,GAAA;YACE,eAAY,MAAM;YAClBF,SAAS,EAAC,uBAAuB;YAAAC,QAAA,EAEhC;UAAI,CACD,CACP;QAAA,CACI,CAAC,EACP2B,aAAa,IAAI,CAAChS,YAAY,IAAIkQ,mBAAmB,CAAC,CAAC;MAAA,CACrD,CAAC,eACN,IAAA5R,WAAA,CAAAgS,GAAA,EAACjS,uBAAA,CAAAgV,YAAY;QACXC,EAAE,EAAEf,OAAQ;QACZtL,IAAI,EAAC,MAAM;QACXqD,KAAK,EAAErJ,QAAQ,CAACsM,WAAW,CAAC/N,KAAK,CAAC,IAAI,EAAG;QACzC,gBAAcwL,oBAAoB,CAACuC,WAAW,CAAC/N,KAAK,CAAC,GAAG,MAAM,GAAGsF,SAAU;QAC3EyO,UAAU,EAAEZ,SAAS,GAAG,OAAO,GAAG7N,SAAU;QAC5C0O,UAAU,EAAEd,UAAU,IAAI5N,SAAU;QACpCsO,QAAQ,EAAE7F,WAAW,CAAC6F,QAAS;QAC/BK,MAAM,EAAEA,CAAA,KAAMtI,eAAe,CAACoC,WAAW,CAAC/N,KAAK,CAAE;QACjD4S,SAAS,EAAEJ,aAAa,IAAI,CAAChS,YAAY,GAAGoR,wBAAwB,GAAGtM,SAAU;QACjF4O,QAAQ,EAAGnV,CAAC,IAAK;UACf,MAAMoV,QAAQ,GAAG,IAAAC,mCAAuB,EAACrV,CAAC,CAAC8K,MAAM,CAACiB,KAAK,EAAEiD,WAAW,CAACsG,iBAAiB,CAAC;UACvF,IAAI7T,YAAY,EAAE;YAChB;UACF;UACA,IAAIgS,aAAa,IAAIxO,kBAAkB,EAAE;YACvC6G,iBAAiB,CAAC;cAAE,GAAG9L,CAAC;cAAE8K,MAAM,EAAE;gBAAE,GAAG9K,CAAC,CAAC8K,MAAM;gBAAEiB,KAAK,EAAEqJ;cAAS;YAAE,CAAC,CAAC;UACvE,CAAC,MAAM;YACLlI,yBAAyB,CAAC8B,WAAW,CAAC/N,KAAK,EAAEmU,QAAQ,CAAC;UACxD;QACF,CAAE;QACFG,UAAU,EAAE;UACVC,QAAQ,EAAEnB;QACZ,CAAE;QACFoB,UAAU,EAAE;UACVhH,SAAS,EAAEO,WAAW,CAACP,SAAS;UAChC,aAAa,EAAEzN,cAAc,CAACgO,WAAW,CAAC/N,KAAK;QACjD,CAAE;QACF4Q,SAAS,EAAE4C;MAAe,CAC3B,CAAC,EACDjB,iBAAiB,CAACC,aAAa,CAAC;IAAA,GAnD5B1E,WAAW,CAACC,WAAW,CAoDzB,CAAC;EAEV,CAAC;EAED,MAAM0G,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,MAAM1H,MAAM,GAAGjI,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEF,eAAe;IAEnD,IAAI,EAACmI,MAAM,aAANA,MAAM,eAANA,MAAM,CAAElI,MAAM,GAAE;MACnB,IAAIJ,aAAa,EAAE;QACjB,oBAAO,IAAA3F,WAAA,CAAAgS,GAAA;UAAAD,QAAA,EAAM3M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwQ;QAAkB,CAAM,CAAC;MACrD;MAEA,oBAAO,IAAA5V,WAAA,CAAA6R,IAAA;QAAAE,QAAA,GAAK,sCAAoC,EAACzQ,WAAW;MAAA,CAAM,CAAC;IACrE;IAEA,oBACE,IAAAtB,WAAA,CAAAgS,GAAA,EAAAhS,WAAA,CAAA6V,QAAA;MAAA9D,QAAA,EACG9D,MAAM,CAAC4F,GAAG,CAACG,WAAW;IAAC,CACxB,CAAC;EAEP,CAAC;EAED,oBACE,IAAAhU,WAAA,CAAA6R,IAAA;IAAK+B,GAAG,EAAErP,YAAa;IAACuN,SAAS,EAAC,0BAA0B;IAAAC,QAAA,GACzD/N,kBAAkB,iBAAI,IAAAhE,WAAA,CAAAgS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAEvJ;IAAkB,CAAM,CAAC,EAC5FxF,WAAW,iBAAI,IAAAhD,WAAA,CAAAgS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAE/O;IAAW,CAAM,CAAC,EAC9EiD,eAAe,IAAI/B,sBAAsB,iBACxC,IAAAlE,WAAA,CAAAgS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EACxCrJ;IAAsB,CACpB,CACN,eAED,IAAA1I,WAAA,CAAAgS,GAAA;MAAKF,SAAS,EAAC,yBAAyB;MAAAC,QAAA,EACrC4D,iBAAiB,CAAC;IAAC,CACjB,CAAC,EACLpO,YAAY,iBACX,IAAAvH,WAAA,CAAAgS,GAAA;MACEF,SAAS,EAAC,mCAAmC;MAC7CG,OAAO,EAAEA,CAAA,KAAM3K,eAAe,CAAC,KAAK,CAAE;MAAAyK,QAAA,eAEtC,IAAA/R,WAAA,CAAA6R,IAAA;QACEC,SAAS,EAAC,0BAA0B;QACpCgE,IAAI,EAAC,QAAQ;QACb,cAAW,MAAM;QACjB,cAAY1Q,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2Q,eAAgB;QACzC9D,OAAO,EAAGrH,KAAK,IAAKA,KAAK,CAACoL,eAAe,CAAC,CAAE;QAAAjE,QAAA,gBAE5C,IAAA/R,WAAA,CAAA6R,IAAA;UAAKC,SAAS,EAAC,iCAAiC;UAAAC,QAAA,gBAC9C,IAAA/R,WAAA,CAAAgS,GAAA;YAAKF,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAC5C3M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2Q;UAAe,CAC1B,CAAC,eACN,IAAA/V,WAAA,CAAAgS,GAAA;YACErJ,IAAI,EAAC,QAAQ;YACbmJ,SAAS,EAAC,2BAA2B;YACrC,cAAW,OAAO;YAClBG,OAAO,EAAEA,CAAA,KAAM3K,eAAe,CAAC,KAAK,CAAE;YAAAyK,QAAA,EACvC;UAED,CAAQ,CAAC;QAAA,CACN,CAAC,eACN,IAAA/R,WAAA,CAAAgS,GAAA;UAAK4B,GAAG,EAAEzM,eAAgB;UAAC2K,SAAS,EAAC;QAAwB,CAAE,CAAC;MAAA,CAC7D;IAAC,CACH,CACN;EAAA,CACE,CAAC;AAEV,CAAC;AAEDzQ,iBAAiB,CAAC4U,SAAS,GAAG;EAC5B3U,WAAW,EAAE4U,kBAAS,CAACC,MAAM,CAACC,UAAU;EACxC7U,QAAQ,EAAE2U,kBAAS,CAACG,IAAI;EACxB7U,cAAc,EAAE8U,mCAAe;EAC/B7U,iBAAiB,EAAEyU,kBAAS,CAACK,IAAI;EACjC7U,YAAY,EAAEwU,kBAAS,CAACK,IAAI;EAC5B5U,wBAAwB,EAAEuU,kBAAS,CAACK,IAAI;EACxC3U,mBAAmB,EAAEsU,kBAAS,CAACM,MAAM;EACrC3U,QAAQ,EAAEqU,kBAAS,CAACC,MAAM;EAC1BrU,OAAO,EAAE2U,wCAAoB;EAC7B1U,cAAc,EAAE2U,0CAAsB;EACtC1U,eAAe,EAAEkU,kBAAS,CAACK;AAC7B,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAzW,OAAA,GAEakB,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SmartyIntlResults.js","names":["_propTypes","_interopRequireDefault","require","_react","_useSmartyInternationalLookup","_useIntlAddressValidation","_useAddressFieldLabels","_useAddressForm","_useInitialAddressVerification","_useAddressMapModal","_addressMapping","_addressWrapper","_addressStatus","_addressVerification","_validators","_componentPropTypes","_LocationPinIcon","_foundationUiComponents","_jsxRuntime","e","__esModule","default","stripGeocode","address","nextAddress","latitude","longitude","FIELD_TEST_IDS","address1","address2","district","region","city","postalCode","FIELD_IDS","getFieldTestId","field","getFieldId","LOOKUP_LIST_BUTTON_SELECTOR","SmartyIntlResults","countryCode","onSelect","initialAddress","entryMode","requireValidation","readOnlyView","showManualValidateButton","validationRequestId","language","strings","formDefinition","deferFormLookup","_formDefinition$addre","mode","setMode","useState","query","setQuery","selectedAddress","setSelectedAddress","selectedIntlAddressId","setSelectedIntlAddressId","formData","setFormData","verificationStatus","setVerificationStatus","getIncomingVerificationStatus","customError","setCustomError","validationTrigger","setValidationTrigger","validationTriggerSource","setValidationTriggerSource","showValidationSuggestions","setShowValidationSuggestions","mapAddressLines","setMapAddressLines","hasPendingLookupDraft","setHasPendingLookupDraft","touchedFields","setTouchedFields","showAllRequiredErrors","setShowAllRequiredErrors","lookupServiceError","setLookupServiceError","validationServiceError","setValidationServiceError","shouldSearchRef","useRef","fieldTimerRef","componentRef","suggestionsListRef","lastCommittedAddressRef","lookupDraftOriginalRef","appliedSelectionKeyRef","mapValidationStartedRef","autoApplyValidationStartedRef","hasInitializedAddressRef","useEffect","current","clearTimeout","isAutocompleteMode","labels","fieldLabels","isLoading","areLabelsLoading","useAddressFieldLabels","shouldLoadAddressForm","addressForm","loadedAddressForm","isFormLoading","useAddressForm","providedAddressForm","addressElements","length","resolvedAddressForm","allowValidation","lookupField","requiredFields","getRequiredFieldsFromAddressForm","hasEmailField","some","hasMapCoordinates","undefined","hasLookupValue","Boolean","String","trim","canAttemptMap","includes","showMapAction","mapInfoLines","filter","join","mapContainerRef","pendingMapOpen","setPendingMapOpen","setShowMapModal","showMapModal","useAddressMapModal","infoLines","openInMapsLabel","openInMaps","shouldPrepareMap","suggestions","loading","error","rateLimited","useSmartyInternationalLookup","validationSuggestions","validationLoading","validationError","validationRateLimited","useIntlAddressValidation","lookupValue","lookupErrorMessage","lookupError","validationErrorMessage","type","status","buildAddressStatus","rawMessage","kind","source","message","clearServiceErrors","lookup","validation","custom","stripUnusedEmail","email","buildTrackedAddress","withAddressVerification","isAcceptableInitialValidationResult","validatedAddress","_validatedAddress$val","validationSummary","code","useInitialAddressVerification","isDetailed","_suggestionButtons$","shouldShowValidationResults","suggestionButtons","getVisibleSuggestionButtons","document","activeElement","focus","_getLookupInputElemen","shouldRefocusLookupField","getLookupInputElement","handleDocumentMouseDown","event","component","contains","target","suggestionsList","addEventListener","removeEventListener","handleDocumentPointerDown","_componentRef$current","selectionKey","address_id","street","locality","postal_code","mapped","buildIntlAutocompleteAddressMapping","updatedFormData","normalizedFormData","currentVerificationStatus","shouldVerifyAutocompleteSelection","prev","handleInputChange","value","normalizeAddressFieldValue","isFieldRequired","isFieldBlank","hasInvalidPostalCodeFormat","postalCodeRegex","test","normalizePostalCodeValue","hasInvalidEmailFormat","isValidEmail","shouldShowFieldError","shouldShowValidation","requiredError","handleFieldBlur","getFieldErrorMessage","fieldRequired","invalidPostalCode","invalidEmail","hasVisibleFieldError","handleEditableFieldChange","normalizedValue","requiredFieldsForVerification","nextVerificationStatus","getManualEditVerificationStatus","withManualAddressVerificationEdit","setTimeout","payload","handleSelect","entries","displayText","handleValidationSelect","_validatedAddress$met","_validatedAddress$met2","config","formattedMapped","nextMapAddressLines","buildIntlConfiguredVerificationMapping","preserveBlankConfiguredMappings","wrapAddress1ToAddress2","address1Field","find","f","maxLength","wrapped","metadata","verification","analysis","handleValidate","getFieldKey","fieldConfig","getSuggestionKey","suggestion","address_text","administrative_area","getValidationSuggestionKey","_suggestion$component","_suggestion$component2","_suggestion$component3","_suggestion$component4","_suggestion$component5","address3","components","thoroughfare","premise","getIntlValidationSummaryTitle","_suggestion$validatio","_suggestion$validatio2","_suggestion$validatio3","_suggestion$validatio4","_suggestion$validatio5","_suggestion$validatio6","_suggestion$validatio7","intlVerifiedTitle","title","intlVerifiedSubBuildingChangedTitle","intlPartialTitle","intlAmbiguousTitle","intlNotVerifiedTitle","getIntlValidationSummaryMessage","_suggestion$validatio8","_suggestion$validatio9","_suggestion$validatio0","_suggestion$validatio1","_suggestion$validatio10","_suggestion$validatio11","_suggestion$validatio12","intlVerifiedMessage","intlVerifiedSubBuildingChangedMessage","intlPartialMessage","intlAmbiguousMessage","intlNotVerifiedMessage","handleOpenMap","renderLookupActions","jsxs","className","children","jsx","onClick","NsButton","disabled","variant","color","size","switchToManualEntry","switchToAutocomplete","getElementById","_componentRef$current2","Array","from","querySelectorAll","handleLookupInputKeyDown","key","preventDefault","targetButton","handleSuggestionButtonKeyDown","index","_suggestionButtons","_getLookupInputElemen2","_suggestionButtons2","_getLookupInputElemen3","_getLookupInputElemen4","renderLookupLists","isLookupField","shouldShowNoResults","ref","map","onKeyDown","_suggestion$validatio13","intlNoResults","renderField","fieldId","fieldLabel","label","fieldError","isInvalid","isReadOnly","editable","fieldWidth","width","inputClassName","labelRowClassName","style","htmlFor","required","NsInputField","id","fieldState","helperText","onBlur","onChange","filtered","filterAllowedCharacters","allowedCharacters","InputProps","readOnly","inputProps","renderAddressForm","loadingAddressForm","Fragment","role","addressLocation","stopPropagation","propTypes","PropTypes","string","isRequired","func","addressPropType","oneOf","bool","number","labelStringsPropType","formDefinitionPropType","_default","exports"],"sources":["../../../src/addressLookup/components/SmartyIntlResults.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport useSmartyInternationalLookup from '../hooks/useSmartyInternationalLookup';\nimport useIntlAddressValidation from '../hooks/useIntlAddressValidation';\nimport useAddressFieldLabels from '../hooks/useAddressFieldLabels';\nimport useAddressForm from '../hooks/useAddressForm';\nimport useInitialAddressVerification from '../hooks/useInitialAddressVerification';\nimport useAddressMapModal from '../hooks/useAddressMapModal';\nimport {\n buildIntlAutocompleteAddressMapping,\n buildIntlConfiguredVerificationMapping,\n preserveBlankConfiguredMappings\n} from '../utils/addressMapping';\nimport { wrapAddress1ToAddress2 } from '../utils/addressWrapper';\nimport {\n buildAddressStatus,\n getRequiredFieldsFromAddressForm,\n shouldVerifyAutocompleteSelection\n} from '../utils/addressStatus';\nimport {\n getIncomingVerificationStatus,\n getManualEditVerificationStatus,\n withAddressVerification,\n withManualAddressVerificationEdit\n} from '../utils/addressVerification';\nimport { isValidEmail, normalizeAddressFieldValue, normalizePostalCodeValue, filterAllowedCharacters } from '../utils/validators';\nimport { addressPropType, formDefinitionPropType, labelStringsPropType } from '../utils/componentPropTypes';\nimport LocationPinIcon from './LocationPinIcon';\nimport { NsButton, NsInputField } from '@nuskin/foundation-ui-components';\n\nconst stripGeocode = (address = {}) => {\n const nextAddress = { ...address };\n delete nextAddress.latitude;\n delete nextAddress.longitude;\n return nextAddress;\n};\n\nconst FIELD_TEST_IDS = {\n address1: 'qa-address-1',\n address2: 'qa-address-2',\n district: 'qa-address-district',\n region: 'qa-address-region',\n city: 'qa-address-city',\n postalCode: 'qa-address-postal-code'\n};\n\nconst FIELD_IDS = {\n address1: 'address-line-1',\n address2: 'address-line-2',\n district: 'address-district',\n region: 'address-region',\n city: 'address-city',\n postalCode: 'address-postal-code'\n};\n\nconst getFieldTestId = (field) => FIELD_TEST_IDS[field] || `qa-address-${field}`;\nconst getFieldId = (field) => FIELD_IDS[field] || `address-${field}`;\nconst LOOKUP_LIST_BUTTON_SELECTOR = '.ns-address-lookup__list-button';\n\nconst SmartyIntlResults = ({\n countryCode,\n onSelect,\n initialAddress = null,\n entryMode = 'both',\n requireValidation = true,\n readOnlyView = false,\n showManualValidateButton = false,\n validationRequestId = 0,\n language = 'en',\n strings = null,\n formDefinition = null,\n deferFormLookup = false\n}) => {\n const [mode, setMode] = useState(entryMode === 'manual' ? 'manual' : 'autocomplete');\n const [query, setQuery] = useState('');\n const [selectedAddress, setSelectedAddress] = useState(null);\n const [selectedIntlAddressId, setSelectedIntlAddressId] = useState(null);\n const [formData, setFormData] = useState(initialAddress || {});\n const [verificationStatus, setVerificationStatus] = useState(getIncomingVerificationStatus(initialAddress));\n const [customError, setCustomError] = useState(null);\n const [validationTrigger, setValidationTrigger] = useState(0);\n const [validationTriggerSource, setValidationTriggerSource] = useState(null);\n const [showValidationSuggestions, setShowValidationSuggestions] = useState(false);\n const [mapAddressLines, setMapAddressLines] = useState([]);\n const [hasPendingLookupDraft, setHasPendingLookupDraft] = useState(false);\n const [touchedFields, setTouchedFields] = useState({});\n const [showAllRequiredErrors, setShowAllRequiredErrors] = useState(false);\n const [lookupServiceError, setLookupServiceError] = useState(null);\n const [validationServiceError, setValidationServiceError] = useState(null);\n const shouldSearchRef = useRef(true);\n const fieldTimerRef = useRef(null);\n const componentRef = useRef(null);\n const suggestionsListRef = useRef(null);\n const lastCommittedAddressRef = useRef(initialAddress || {});\n const lookupDraftOriginalRef = useRef(initialAddress || {});\n const appliedSelectionKeyRef = useRef(null);\n const mapValidationStartedRef = useRef(false);\n const autoApplyValidationStartedRef = useRef(false);\n const hasInitializedAddressRef = useRef(false);\n\n useEffect(() => {\n if (!initialAddress || hasInitializedAddressRef.current) {\n return;\n }\n\n hasInitializedAddressRef.current = true;\n setFormData(initialAddress);\n setVerificationStatus(getIncomingVerificationStatus(initialAddress));\n shouldSearchRef.current = false;\n lastCommittedAddressRef.current = initialAddress;\n lookupDraftOriginalRef.current = initialAddress;\n setTouchedFields({});\n setShowAllRequiredErrors(false);\n setLookupServiceError(null);\n setValidationServiceError(null);\n setMapAddressLines([]);\n }, [initialAddress]);\n\n useEffect(() => {\n return () => {\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n };\n }, []);\n\n const isAutocompleteMode = mode === 'autocomplete';\n const {\n labels: fieldLabels,\n isLoading: areLabelsLoading\n } = useAddressFieldLabels(countryCode, language, strings);\n const shouldLoadAddressForm = !formDefinition && !deferFormLookup;\n const {\n addressForm: loadedAddressForm,\n isLoading: isFormLoading\n } = useAddressForm(countryCode, shouldLoadAddressForm);\n const providedAddressForm = formDefinition?.addressElements?.length ? formDefinition : null;\n const resolvedAddressForm = providedAddressForm || loadedAddressForm;\n const allowValidation = requireValidation && !readOnlyView;\n const lookupField = resolvedAddressForm?.lookupField || 'address1';\n const requiredFields = getRequiredFieldsFromAddressForm(resolvedAddressForm);\n const hasEmailField = (resolvedAddressForm?.addressElements || []).some((field) => field.field === 'email');\n const hasMapCoordinates = (\n formData?.latitude !== undefined && formData?.longitude !== undefined\n );\n const hasLookupValue = Boolean(String(formData?.[lookupField] || '').trim());\n const canAttemptMap = Boolean(\n (!isAutocompleteMode && hasLookupValue) ||\n (isAutocompleteMode && ['autocomplete', 'verified'].includes(verificationStatus) && hasLookupValue)\n );\n const showMapAction = !readOnlyView && (hasMapCoordinates || canAttemptMap);\n const mapInfoLines = (mapAddressLines.length ? mapAddressLines : [\n formData.address1,\n formData.address2,\n formData.district,\n [formData.postalCode, formData.city].filter(Boolean).join(' '),\n formData.region\n ]).filter(Boolean);\n const {\n mapContainerRef,\n pendingMapOpen,\n setPendingMapOpen,\n setShowMapModal,\n showMapModal\n } = useAddressMapModal({\n formData,\n infoLines: mapInfoLines,\n hasMapCoordinates,\n openInMapsLabel: fieldLabels?.openInMaps,\n shouldPrepareMap: showMapAction\n });\n\n const { suggestions, loading, error, rateLimited } = useSmartyInternationalLookup(\n !readOnlyView && shouldSearchRef.current && isAutocompleteMode ? query : '',\n countryCode,\n selectedIntlAddressId,\n 500\n );\n\n const {\n suggestions: validationSuggestions,\n loading: validationLoading,\n error: validationError,\n rateLimited: validationRateLimited\n } = useIntlAddressValidation(\n formData,\n countryCode,\n allowValidation ? validationTrigger : 0,\n lookupField\n );\n const lookupValue = formData[lookupField];\n const lookupErrorMessage = lookupServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.lookupError || 'We could not look up that address right now.');\n const validationErrorMessage = validationServiceError?.rateLimited ?\n (fieldLabels?.rateLimited || 'Too many requests. Please wait a moment and try again.') :\n (fieldLabels?.validationError || 'We could not validate that address right now.');\n\n useEffect(() => {\n if (!validationRequestId) {\n return;\n }\n\n setShowAllRequiredErrors(true);\n onSelect?.({\n type: 'validation-request',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n }, [allowValidation, validationRequestId]);\n\n useEffect(() => {\n if (!error) {\n setLookupServiceError(null);\n return;\n }\n\n setLookupServiceError({\n rateLimited,\n rawMessage: error\n });\n }, [error, rateLimited]);\n\n useEffect(() => {\n if (!validationError) {\n setValidationServiceError(null);\n return;\n }\n\n setValidationServiceError({\n rateLimited: validationRateLimited,\n rawMessage: validationError\n });\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }, [validationError, validationRateLimited]);\n\n useEffect(() => {\n if (!lookupServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'lookup-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n }),\n error: {\n kind: lookupServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'autocomplete',\n message: lookupErrorMessage\n }\n });\n }, [lookupServiceError]);\n\n useEffect(() => {\n if (!validationServiceError) {\n return;\n }\n\n onSelect?.({\n type: 'validation-error',\n address: formData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData,\n verificationStatus,\n mode,\n requireValidation: allowValidation\n }),\n error: {\n kind: validationServiceError.rateLimited ? 'rate-limited' : 'api',\n source: 'validation',\n message: validationErrorMessage\n }\n });\n }, [validationServiceError]);\n\n const clearServiceErrors = ({ lookup = true, validation = true, custom = false } = {}) => {\n if (lookup) {\n setLookupServiceError(null);\n }\n if (validation) {\n setValidationServiceError(null);\n }\n if (custom) {\n setCustomError(null);\n }\n };\n\n const stripUnusedEmail = (address = {}) => {\n if (hasEmailField) {\n return address;\n }\n\n const nextAddress = { ...address };\n delete nextAddress.email;\n return nextAddress;\n };\n\n const buildTrackedAddress = (address = {}, status = 'unverified', source = null) => (\n stripUnusedEmail(withAddressVerification(address, status, source))\n );\n\n const isAcceptableInitialValidationResult = (validatedAddress) => (\n ['verified', 'verified-sub-building-changed']\n .includes(validatedAddress?.validationSummary?.code)\n );\n\n useInitialAddressVerification({\n initialAddress,\n countryCode,\n lookupField,\n requireValidation: allowValidation,\n resolvedAddressForm,\n setValidationServiceError,\n setCustomError,\n setShowValidationSuggestions,\n setValidationTriggerSource,\n setValidationTrigger\n });\n\n useEffect(() => {\n if (selectedIntlAddressId) {\n if (suggestions.length === 1 && suggestions[0].isDetailed) {\n setSelectedAddress(suggestions[0]);\n setSelectedIntlAddressId(null);\n setQuery('');\n setCustomError(null);\n } else if (suggestions.length === 0 && !loading) {\n setCustomError('Unable to retrieve address details. Please try another address or enter manually.');\n setSelectedIntlAddressId(null);\n setQuery('');\n }\n } else if (suggestions.length > 0 && !suggestions[0].isDetailed && !selectedAddress) {\n setSelectedAddress(null);\n setCustomError(null);\n }\n }, [suggestions, selectedIntlAddressId, selectedAddress, loading]);\n\n useEffect(() => {\n if (lookupValue !== undefined && shouldSearchRef.current && !selectedAddress) {\n setQuery(lookupValue);\n }\n }, [lookupValue, selectedAddress]);\n\n useEffect(() => {\n const shouldShowValidationResults =\n allowValidation &&\n showValidationSuggestions &&\n validationSuggestions.length > 0 &&\n !validationLoading &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n\n if (!shouldShowValidationResults) {\n return;\n }\n\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0 || suggestionButtons.includes(document.activeElement)) {\n return;\n }\n\n suggestionButtons[0]?.focus();\n }, [\n isAutocompleteMode,\n allowValidation,\n showValidationSuggestions,\n validationLoading,\n validationSuggestions,\n validationTriggerSource\n ]);\n\n useEffect(() => {\n const shouldRefocusLookupField =\n isAutocompleteMode &&\n selectedIntlAddressId &&\n suggestions.length > 0 &&\n !selectedAddress &&\n !loading;\n\n if (!shouldRefocusLookupField) {\n return;\n }\n\n getLookupInputElement()?.focus();\n }, [isAutocompleteMode, selectedIntlAddressId, suggestions, selectedAddress, loading]);\n\n useEffect(() => {\n if (validationTrigger > 0 && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = false;\n }\n }, [validationTrigger, validationTriggerSource]);\n\n useEffect(() => {\n if (validationTriggerSource === 'map' && validationLoading) {\n mapValidationStartedRef.current = true;\n }\n if (validationLoading && ['autocomplete', 'map', 'initial'].includes(validationTriggerSource)) {\n autoApplyValidationStartedRef.current = true;\n }\n }, [validationLoading, validationTriggerSource]);\n\n useEffect(() => {\n if (\n validationTriggerSource === 'map' &&\n mapValidationStartedRef.current &&\n showValidationSuggestions &&\n !validationLoading &&\n validationSuggestions.length === 0\n ) {\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n }\n }, [validationLoading, validationSuggestions, validationTriggerSource, showValidationSuggestions]);\n\n useEffect(() => {\n if (!hasPendingLookupDraft || suggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentMouseDown = (event) => {\n const component = componentRef.current;\n if (component?.contains(event.target)) {\n return;\n }\n\n const suggestionsList = suggestionsListRef.current;\n if (suggestionsList?.contains(event.target) === false) {\n shouldSearchRef.current = false;\n setQuery('');\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n clearServiceErrors({ custom: true });\n setFormData(lookupDraftOriginalRef.current);\n setHasPendingLookupDraft(false);\n }\n };\n\n document.addEventListener('pointerdown', handleDocumentMouseDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentMouseDown);\n };\n }, [hasPendingLookupDraft, suggestions]);\n\n useEffect(() => {\n if (isAutocompleteMode || !showValidationSuggestions || validationLoading || validationSuggestions.length === 0) {\n return undefined;\n }\n\n const handleDocumentPointerDown = (event) => {\n if (componentRef.current?.contains(event.target)) {\n return;\n }\n\n setShowValidationSuggestions(false);\n };\n\n document.addEventListener('pointerdown', handleDocumentPointerDown);\n return () => {\n document.removeEventListener('pointerdown', handleDocumentPointerDown);\n };\n }, [isAutocompleteMode, showValidationSuggestions, validationLoading, validationSuggestions]);\n\n useEffect(() => {\n if (selectedAddress) {\n const selectionKey = selectedAddress.address_id ||\n `${selectedAddress.street || ''}|${selectedAddress.locality || ''}|${selectedAddress.postal_code || ''}`;\n if (appliedSelectionKeyRef.current === selectionKey) {\n return;\n }\n appliedSelectionKeyRef.current = selectionKey;\n\n const mapped = buildIntlAutocompleteAddressMapping(selectedAddress, resolvedAddressForm);\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'autocomplete', 'smarty-intl');\n setFormData(normalizedFormData);\n setMapAddressLines([]);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n clearServiceErrors({ custom: true });\n const currentVerificationStatus = 'autocomplete';\n setVerificationStatus(currentVerificationStatus);\n onSelect?.({\n type: 'autocomplete',\n address: normalizedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n\n if (shouldVerifyAutocompleteSelection({\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n requireValidation: allowValidation\n })) {\n // Trigger validation instead of directly selecting.\n // Keep suggestions visible in case multiple candidates are returned.\n setShowValidationSuggestions(true);\n setValidationTriggerSource('autocomplete');\n setValidationTrigger(prev => prev + 1);\n }\n }\n }, [selectedAddress]);\n\n const handleInputChange = (e) => {\n const value = normalizeAddressFieldValue(lookupField, e.target.value);\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedAddress(null);\n setSelectedIntlAddressId(null);\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n if (!hasPendingLookupDraft) {\n lookupDraftOriginalRef.current = formData;\n setHasPendingLookupDraft(true);\n }\n const updatedFormData = stripUnusedEmail({\n ...stripGeocode(formData),\n [lookupField]: value\n });\n setFormData(buildTrackedAddress(updatedFormData, 'unverified'));\n setVerificationStatus('unverified');\n };\n\n const isFieldRequired = (field) => requiredFields.includes(field);\n const isFieldBlank = (field) => String(formData[field] || '').trim() === '';\n const hasInvalidPostalCodeFormat = (field) => {\n if (field !== 'postalCode') {\n return false;\n }\n const value = String(formData.postalCode || '').trim();\n if (!value || !resolvedAddressForm.postalCodeRegex) {\n return false;\n }\n return !resolvedAddressForm.postalCodeRegex.test(normalizePostalCodeValue(value));\n };\n const hasInvalidEmailFormat = (field) => {\n if (field !== 'email') {\n return false;\n }\n const value = String(formData.email || '').trim();\n if (!value) {\n return false;\n }\n return !isValidEmail(value);\n };\n const shouldShowFieldError = (field) => {\n const shouldShowValidation = Boolean(showAllRequiredErrors || touchedFields[field]);\n if (!shouldShowValidation) {\n return false;\n }\n const requiredError = isFieldRequired(field) && isFieldBlank(field);\n return requiredError || hasInvalidPostalCodeFormat(field) || hasInvalidEmailFormat(field);\n };\n\n const handleFieldBlur = (field) => {\n if (!isFieldRequired(field) && field !== 'email' && field !== 'postalCode') {\n return;\n }\n setTouchedFields((prev) => ({ ...prev, [field]: true }));\n };\n\n const getFieldErrorMessage = (field) => {\n if (!shouldShowFieldError(field)) {\n return '';\n }\n if (isFieldRequired(field) && isFieldBlank(field)) {\n return areLabelsLoading ? '' : fieldLabels?.fieldRequired;\n }\n if (hasInvalidPostalCodeFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidPostalCode;\n }\n if (hasInvalidEmailFormat(field)) {\n return areLabelsLoading ? '' : fieldLabels?.invalidEmail;\n }\n return '';\n };\n\n const hasVisibleFieldError = (field) => shouldShowFieldError(field);\n\n const handleEditableFieldChange = (field, value) => {\n const normalizedValue = normalizeAddressFieldValue(field, value);\n if (field === lookupField) {\n setShowValidationSuggestions(false);\n }\n setShowMapModal(false);\n setPendingMapOpen(false);\n mapValidationStartedRef.current = false;\n setMapAddressLines([]);\n clearServiceErrors({ custom: true });\n\n const requiredFieldsForVerification = resolvedAddressForm?.requiredFields || requiredFields;\n const nextVerificationStatus = getManualEditVerificationStatus(\n verificationStatus,\n field,\n lookupField,\n requiredFieldsForVerification\n );\n const updatedFormData = withManualAddressVerificationEdit(\n stripUnusedEmail({\n ...stripGeocode(formData),\n [field]: normalizedValue\n }),\n field,\n nextVerificationStatus\n );\n setFormData(updatedFormData);\n setVerificationStatus(nextVerificationStatus);\n\n if (fieldTimerRef.current) {\n clearTimeout(fieldTimerRef.current);\n }\n\n fieldTimerRef.current = setTimeout(() => {\n const payload = {\n type: 'field-change',\n field,\n value: normalizedValue,\n address: updatedFormData,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: updatedFormData,\n verificationStatus: nextVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n };\n\n if (hasEmailField && field === 'email' && value) {\n payload.isValidEmail = isValidEmail(normalizedValue);\n }\n\n onSelect?.(payload);\n }, 500);\n };\n\n const handleSelect = (address) => {\n clearServiceErrors({ lookup: true, validation: false, custom: true });\n if (address.entries > 1 || (address.entries === 1 && address.isDetailed === false)) {\n shouldSearchRef.current = true;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(address.address_id);\n setQuery(address.displayText);\n } else {\n shouldSearchRef.current = false;\n appliedSelectionKeyRef.current = null;\n setSelectedIntlAddressId(null);\n setSelectedAddress(address);\n setQuery('');\n }\n };\n\n const handleValidationSelect = (validatedAddress) => {\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n const config = resolvedAddressForm.addressElements || [];\n const {\n mapped: formattedMapped,\n mapAddressLines: nextMapAddressLines\n } = buildIntlConfiguredVerificationMapping(validatedAddress, resolvedAddressForm);\n\n let mapped = preserveBlankConfiguredMappings(\n formattedMapped,\n formData,\n config,\n 'verification'\n );\n\n // Apply address wrapping if enabled\n if (resolvedAddressForm.wrapAddress1ToAddress2) {\n const address1Field = config.find(f => f.field === 'address1');\n if (address1Field?.maxLength) {\n const wrapped = wrapAddress1ToAddress2(mapped.address1, mapped.address2, address1Field.maxLength);\n mapped.address1 = wrapped.address1;\n mapped.address2 = wrapped.address2;\n }\n }\n\n const updatedFormData = {\n ...stripGeocode(formData),\n ...mapped,\n email: formData.email,\n latitude: validatedAddress.metadata?.latitude,\n longitude: validatedAddress.metadata?.longitude\n };\n const normalizedFormData = buildTrackedAddress(updatedFormData, 'verified', 'smarty-intl');\n setShowValidationSuggestions(false);\n setValidationTriggerSource(null);\n setFormData(normalizedFormData);\n setMapAddressLines(nextMapAddressLines);\n lastCommittedAddressRef.current = normalizedFormData;\n lookupDraftOriginalRef.current = normalizedFormData;\n setHasPendingLookupDraft(false);\n const currentVerificationStatus = 'verified';\n setVerificationStatus(currentVerificationStatus);\n autoApplyValidationStartedRef.current = false;\n if (pendingMapOpen) {\n setPendingMapOpen(false);\n setShowMapModal(true);\n }\n mapValidationStartedRef.current = false;\n onSelect?.({\n type: 'validation',\n address: normalizedFormData,\n verification: validatedAddress.analysis,\n status: buildAddressStatus({\n countryCode,\n addressForm: resolvedAddressForm,\n formData: normalizedFormData,\n verificationStatus: currentVerificationStatus,\n mode,\n requireValidation: allowValidation\n })\n });\n };\n\n const handleValidate = () => {\n if (!allowValidation) {\n return;\n }\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n setShowValidationSuggestions(true);\n setValidationTriggerSource('manual');\n setValidationTrigger(prev => prev + 1);\n };\n\n const getFieldKey = (fieldConfig) => fieldConfig.field;\n\n const getSuggestionKey = (suggestion) => (\n suggestion.address_id ||\n [\n suggestion.displayText,\n suggestion.street,\n suggestion.address_text,\n suggestion.locality,\n suggestion.administrative_area,\n suggestion.postal_code,\n suggestion.entries\n ].filter((value) => value !== undefined && value !== null).join('|')\n );\n\n const getValidationSuggestionKey = (suggestion) => [\n suggestion.displayText,\n suggestion.address1,\n suggestion.address2,\n suggestion.address3,\n suggestion.components?.thoroughfare,\n suggestion.components?.premise,\n suggestion.components?.locality,\n suggestion.components?.administrative_area,\n suggestion.components?.postal_code\n ].filter((value) => value !== undefined && value !== null).join('|');\n\n const getIntlValidationSummaryTitle = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedTitle || suggestion.validationSummary?.title || 'Verified';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedTitle ||\n suggestion.validationSummary?.title ||\n 'Verified with unit changes';\n case 'partial':\n return fieldLabels?.intlPartialTitle || suggestion.validationSummary?.title || 'Partially verified';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousTitle || suggestion.validationSummary?.title || 'Multiple matches found';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedTitle || suggestion.validationSummary?.title || 'Not verified';\n default:\n return suggestion.validationSummary?.title || 'Unknown';\n }\n };\n\n const getIntlValidationSummaryMessage = (suggestion) => {\n const code = suggestion.validationSummary?.code;\n\n switch (code) {\n case 'verified':\n return fieldLabels?.intlVerifiedMessage || suggestion.validationSummary?.message || '';\n case 'verified-sub-building-changed':\n return fieldLabels?.intlVerifiedSubBuildingChangedMessage ||\n suggestion.validationSummary?.message ||\n '';\n case 'partial':\n return fieldLabels?.intlPartialMessage || suggestion.validationSummary?.message || '';\n case 'ambiguous':\n return fieldLabels?.intlAmbiguousMessage || suggestion.validationSummary?.message || '';\n case 'not-verified':\n return fieldLabels?.intlNotVerifiedMessage || suggestion.validationSummary?.message || '';\n default:\n return suggestion.validationSummary?.message || '';\n }\n };\n\n const handleOpenMap = () => {\n if (hasMapCoordinates) {\n setShowMapModal(true);\n return;\n }\n\n if (!canAttemptMap || validationLoading) {\n return;\n }\n\n clearServiceErrors({ lookup: false, validation: true, custom: false });\n mapValidationStartedRef.current = false;\n setPendingMapOpen(true);\n setShowValidationSuggestions(true);\n setValidationTriggerSource('map');\n setValidationTrigger((prev) => prev + 1);\n };\n\n const renderLookupActions = () => (\n <div className=\"ns-address-lookup__actions\">\n {showMapAction && (\n <button\n type=\"button\"\n onClick={handleOpenMap}\n className=\"ns-address-lookup__toggle ns-address-lookup__toggle--icon\"\n title={fieldLabels?.openInMaps}\n aria-label={fieldLabels?.openInMaps}\n >\n <LocationPinIcon className=\"ns-address-lookup__icon\" />\n </button>\n )}\n {!isAutocompleteMode && allowValidation && showManualValidateButton && (\n <NsButton\n type=\"button\"\n onClick={handleValidate}\n disabled={validationLoading || !String(formData[lookupField] || '').trim()}\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n >\n {validationLoading ? 'Validating...' : 'Validate Address'}\n </NsButton>\n )}\n {entryMode === 'both' && (\n <button\n type=\"button\"\n onClick={() => {\n setShowValidationSuggestions(false);\n setShowMapModal(false);\n setPendingMapOpen(false);\n setValidationTriggerSource(null);\n clearServiceErrors({ custom: true });\n setMode(mode === 'autocomplete' ? 'manual' : 'autocomplete');\n }}\n className=\"ns-address-lookup__toggle\"\n >\n {mode === 'autocomplete' ?\n fieldLabels?.switchToManualEntry :\n fieldLabels?.switchToAutocomplete}\n </button>\n )}\n </div>\n );\n\n const getLookupInputElement = () => (\n typeof document !== 'undefined' ? document.getElementById(getFieldId(lookupField)) : null\n );\n\n const getVisibleSuggestionButtons = () => (\n Array.from(componentRef.current?.querySelectorAll(LOOKUP_LIST_BUTTON_SELECTOR) || [])\n );\n\n const handleLookupInputKeyDown = (event) => {\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0) {\n return;\n }\n\n event.preventDefault();\n\n const targetButton = event.key === 'ArrowUp' ?\n suggestionButtons[suggestionButtons.length - 1] :\n suggestionButtons[0];\n\n targetButton?.focus();\n };\n\n const handleSuggestionButtonKeyDown = (event, index) => {\n const suggestionButtons = getVisibleSuggestionButtons();\n\n if (suggestionButtons.length === 0) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (index === suggestionButtons.length - 1) {\n getLookupInputElement()?.focus();\n return;\n }\n\n suggestionButtons[index + 1]?.focus();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (index === 0) {\n getLookupInputElement()?.focus();\n return;\n }\n\n suggestionButtons[index - 1]?.focus();\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n getLookupInputElement()?.focus();\n }\n };\n\n const renderLookupLists = (isLookupField) => {\n if (readOnlyView) {\n return null;\n }\n\n const shouldShowValidationResults =\n allowValidation &&\n showValidationSuggestions &&\n (!isAutocompleteMode || ['map', 'initial'].includes(validationTriggerSource));\n const shouldShowNoResults =\n shouldShowValidationResults &&\n !validationLoading &&\n validationSuggestions.length === 0 &&\n !validationServiceError &&\n (validationTriggerSource !== 'map' || mapValidationStartedRef.current);\n\n if (!isLookupField) {\n return null;\n }\n\n if (loading && isAutocompleteMode) {\n return <div className=\"ns-address-lookup__spinner\" />;\n }\n\n if (suggestions.length > 0 && !selectedAddress && isAutocompleteMode) {\n return (\n <ul\n ref={suggestionsListRef}\n className=\"ns-address-lookup__list ns-address-lookup__list--suggestions\">\n {suggestions.map((suggestion, index) => (\n <li\n key={getSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n index < suggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleSelect(suggestion)}\n onKeyDown={(event) => handleSuggestionButtonKeyDown(event, index)}\n className=\"ns-address-lookup__list-button\"\n >\n {suggestion.displayText}\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowValidationResults && validationSuggestions.length > 0) {\n return (\n <ul className=\"ns-address-lookup__list ns-address-lookup__list--validation-inline\">\n {validationSuggestions.map((suggestion, index) => (\n <li\n key={getValidationSuggestionKey(suggestion)}\n className={[\n 'ns-address-lookup__list-item',\n suggestion.validationSummary?.code === 'not-verified' ?\n 'ns-address-lookup__list-item--not-verified' : '',\n index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''\n ].filter(Boolean).join(' ')}\n >\n <button\n type=\"button\"\n onClick={() => handleValidationSelect(suggestion)}\n onKeyDown={(event) => handleSuggestionButtonKeyDown(event, index)}\n className=\"ns-address-lookup__list-button\"\n >\n <div className=\"ns-address-lookup__list-title\">\n {getIntlValidationSummaryTitle(suggestion)}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {suggestion.displayText}\n </div>\n <div className=\"ns-address-lookup__list-subtitle\">\n {getIntlValidationSummaryMessage(suggestion)}\n </div>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n if (shouldShowNoResults) {\n return (\n <div className=\"ns-address-lookup__message\">\n {fieldLabels?.intlNoResults}\n </div>\n );\n }\n\n return null;\n };\n\n useEffect(() => {\n if (\n ['autocomplete', 'map'].includes(validationTriggerSource) &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n\n if (\n validationTriggerSource === 'initial' &&\n validationSuggestions.length === 1 &&\n autoApplyValidationStartedRef.current &&\n isAcceptableInitialValidationResult(validationSuggestions[0])\n ) {\n handleValidationSelect(validationSuggestions[0]);\n }\n }, [validationSuggestions, validationTriggerSource]);\n\n const renderField = (fieldConfig) => {\n const isLookupField = fieldConfig.field === lookupField;\n const fieldId = getFieldId(fieldConfig.field);\n const fieldLabel = areLabelsLoading ? '' : (fieldLabels?.[fieldConfig.field] || fieldConfig.label);\n const fieldError = getFieldErrorMessage(fieldConfig.field);\n const isInvalid = hasVisibleFieldError(fieldConfig.field);\n const isReadOnly = readOnlyView || ((!fieldConfig.editable && !isLookupField) && isAutocompleteMode);\n const fieldWidth = fieldConfig.width === 'full' ?\n '100%' :\n (fieldConfig.width === 'third' ? '33.333333%' : '50%');\n const inputClassName = [\n 'ns-address-lookup__input',\n isReadOnly ? 'ns-address-lookup__input--readonly' : '',\n isLookupField && loading ? 'ns-address-lookup__input--loading' : ''\n ].filter(Boolean).join(' ');\n const labelRowClassName = [\n 'ns-address-lookup__label-row',\n isLookupField ? '' : 'ns-address-lookup__label-row--field'\n ].filter(Boolean).join(' ');\n\n return (\n <div\n key={getFieldKey(fieldConfig)}\n className=\"ns-address-lookup__field\"\n style={{ width: fieldWidth }}\n >\n <div className={labelRowClassName}>\n <label\n htmlFor={fieldId}\n className=\"MuiFormLabel-root MuiFormLabel-colorPrimary css-1ef1ceb-MuiFormLabel-root\"\n >\n {fieldLabel}\n {fieldConfig.required && !areLabelsLoading && (\n <span\n aria-hidden=\"true\"\n className=\"MuiFormLabel-asterisk\"\n >\n {' *'}\n </span>\n )}\n </label>\n {isLookupField && !readOnlyView && renderLookupActions()}\n </div>\n <NsInputField\n id={fieldId}\n type=\"text\"\n value={formData[fieldConfig.field] || ''}\n aria-invalid={shouldShowFieldError(fieldConfig.field) ? 'true' : undefined}\n fieldState={isInvalid ? 'error' : undefined}\n helperText={fieldError || undefined}\n required={fieldConfig.required}\n onBlur={() => handleFieldBlur(fieldConfig.field)}\n onKeyDown={isLookupField && !readOnlyView ? handleLookupInputKeyDown : undefined}\n onChange={(e) => {\n const filtered = filterAllowedCharacters(e.target.value, fieldConfig.allowedCharacters);\n if (readOnlyView) {\n return;\n }\n if (isLookupField && isAutocompleteMode) {\n handleInputChange({ ...e, target: { ...e.target, value: filtered } });\n } else {\n handleEditableFieldChange(fieldConfig.field, filtered);\n }\n }}\n InputProps={{\n readOnly: isReadOnly\n }}\n inputProps={{\n maxLength: fieldConfig.maxLength,\n 'data-testid': getFieldTestId(fieldConfig.field)\n }}\n className={inputClassName}\n />\n {renderLookupLists(isLookupField)}\n </div>\n );\n };\n\n const renderAddressForm = () => {\n const config = resolvedAddressForm?.addressElements;\n\n if (!config?.length) {\n if (isFormLoading) {\n return <div>{fieldLabels?.loadingAddressForm}</div>;\n }\n\n return <div>No form available for this country: {countryCode}</div>;\n }\n\n return (\n <>\n {config.map(renderField)}\n </>\n );\n };\n\n return (\n <div ref={componentRef} className=\"ns-address-lookup__panel\">\n {lookupServiceError && <div className=\"ns-address-lookup__message\">{lookupErrorMessage}</div>}\n {customError && <div className=\"ns-address-lookup__message\">{customError}</div>}\n {allowValidation && validationServiceError && (\n <div className=\"ns-address-lookup__message\">\n {validationErrorMessage}\n </div>\n )}\n\n <div className=\"ns-address-lookup__form\">\n {renderAddressForm()}\n </div>\n {showMapModal && (\n <div\n className=\"ns-address-lookup__modal-backdrop\"\n onClick={() => setShowMapModal(false)}\n >\n <div\n className=\"ns-address-lookup__modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={fieldLabels?.addressLocation}\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"ns-address-lookup__modal-header\">\n <div className=\"ns-address-lookup__modal-title\">\n {fieldLabels?.addressLocation}\n </div>\n <button\n type=\"button\"\n className=\"ns-address-lookup__toggle\"\n aria-label=\"Close\"\n onClick={() => setShowMapModal(false)}\n >\n X\n </button>\n </div>\n <div ref={mapContainerRef} className=\"ns-address-lookup__map\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSmartyIntlResults.propTypes = {\n countryCode: PropTypes.string.isRequired,\n onSelect: PropTypes.func,\n initialAddress: addressPropType,\n entryMode: PropTypes.oneOf(['both', 'autocomplete', 'manual']),\n requireValidation: PropTypes.bool,\n readOnlyView: PropTypes.bool,\n showManualValidateButton: PropTypes.bool,\n validationRequestId: PropTypes.number,\n language: PropTypes.string,\n strings: labelStringsPropType,\n formDefinition: formDefinitionPropType,\n deferFormLookup: PropTypes.bool\n};\n\nexport default SmartyIntlResults;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,sBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,8BAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAKA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAKA,IAAAW,oBAAA,GAAAX,OAAA;AAMA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,uBAAA,GAAAf,OAAA;AAA0E,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAD,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1E,MAAMG,YAAY,GAAGA,CAACC,OAAO,GAAG,CAAC,CAAC,KAAK;EACrC,MAAMC,WAAW,GAAG;IAAE,GAAGD;EAAQ,CAAC;EAClC,OAAOC,WAAW,CAACC,QAAQ;EAC3B,OAAOD,WAAW,CAACE,SAAS;EAC5B,OAAOF,WAAW;AACpB,CAAC;AAED,MAAMG,cAAc,GAAG;EACrBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,cAAc;EACxBC,QAAQ,EAAE,qBAAqB;EAC/BC,MAAM,EAAE,mBAAmB;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,SAAS,GAAG;EAChBN,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,kBAAkB;EAC5BC,MAAM,EAAE,gBAAgB;EACxBC,IAAI,EAAE,cAAc;EACpBC,UAAU,EAAE;AACd,CAAC;AAED,MAAME,cAAc,GAAIC,KAAK,IAAKT,cAAc,CAACS,KAAK,CAAC,IAAI,cAAcA,KAAK,EAAE;AAChF,MAAMC,UAAU,GAAID,KAAK,IAAKF,SAAS,CAACE,KAAK,CAAC,IAAI,WAAWA,KAAK,EAAE;AACpE,MAAME,2BAA2B,GAAG,iCAAiC;AAErE,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,WAAW;EACXC,QAAQ;EACRC,cAAc,GAAG,IAAI;EACrBC,SAAS,GAAG,MAAM;EAClBC,iBAAiB,GAAG,IAAI;EACxBC,YAAY,GAAG,KAAK;EACpBC,wBAAwB,GAAG,KAAK;EAChCC,mBAAmB,GAAG,CAAC;EACvBC,QAAQ,GAAG,IAAI;EACfC,OAAO,GAAG,IAAI;EACdC,cAAc,GAAG,IAAI;EACrBC,eAAe,GAAG;AACpB,CAAC,KAAK;EAAA,IAAAC,qBAAA;EACJ,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAACZ,SAAS,KAAK,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;EACpF,MAAM,CAACa,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,IAAI,CAAC;EAC5D,MAAM,CAACK,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAN,eAAQ,EAAC,IAAI,CAAC;EACxE,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAR,eAAQ,EAACb,cAAc,IAAI,CAAC,CAAC,CAAC;EAC9D,MAAM,CAACsB,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAV,eAAQ,EAAC,IAAAW,kDAA6B,EAACxB,cAAc,CAAC,CAAC;EAC3G,MAAM,CAACyB,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAb,eAAQ,EAAC,IAAI,CAAC;EACpD,MAAM,CAACc,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC,CAAC;EAC7D,MAAM,CAACgB,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG,IAAAjB,eAAQ,EAAC,IAAI,CAAC;EAC5E,MAAM,CAACkB,yBAAyB,EAAEC,4BAA4B,CAAC,GAAG,IAAAnB,eAAQ,EAAC,KAAK,CAAC;EACjF,MAAM,CAACoB,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAArB,eAAQ,EAAC,EAAE,CAAC;EAC1D,MAAM,CAACsB,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAAvB,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAACwB,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAzB,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtD,MAAM,CAAC0B,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG,IAAA3B,eAAQ,EAAC,KAAK,CAAC;EACzE,MAAM,CAAC4B,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAA7B,eAAQ,EAAC,IAAI,CAAC;EAClE,MAAM,CAAC8B,sBAAsB,EAAEC,yBAAyB,CAAC,GAAG,IAAA/B,eAAQ,EAAC,IAAI,CAAC;EAC1E,MAAMgC,eAAe,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACpC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAClC,MAAME,YAAY,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EACjC,MAAMG,kBAAkB,GAAG,IAAAH,aAAM,EAAC,IAAI,CAAC;EACvC,MAAMI,uBAAuB,GAAG,IAAAJ,aAAM,EAAC9C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC5D,MAAMmD,sBAAsB,GAAG,IAAAL,aAAM,EAAC9C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC3D,MAAMoD,sBAAsB,GAAG,IAAAN,aAAM,EAAC,IAAI,CAAC;EAC3C,MAAMO,uBAAuB,GAAG,IAAAP,aAAM,EAAC,KAAK,CAAC;EAC7C,MAAMQ,6BAA6B,GAAG,IAAAR,aAAM,EAAC,KAAK,CAAC;EACnD,MAAMS,wBAAwB,GAAG,IAAAT,aAAM,EAAC,KAAK,CAAC;EAE9C,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAACxD,cAAc,IAAIuD,wBAAwB,CAACE,OAAO,EAAE;MACvD;IACF;IAEAF,wBAAwB,CAACE,OAAO,GAAG,IAAI;IACvCpC,WAAW,CAACrB,cAAc,CAAC;IAC3BuB,qBAAqB,CAAC,IAAAC,kDAA6B,EAACxB,cAAc,CAAC,CAAC;IACpE6C,eAAe,CAACY,OAAO,GAAG,KAAK;IAC/BP,uBAAuB,CAACO,OAAO,GAAGzD,cAAc;IAChDmD,sBAAsB,CAACM,OAAO,GAAGzD,cAAc;IAC/CsC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpBE,wBAAwB,CAAC,KAAK,CAAC;IAC/BE,qBAAqB,CAAC,IAAI,CAAC;IAC3BE,yBAAyB,CAAC,IAAI,CAAC;IAC/BV,kBAAkB,CAAC,EAAE,CAAC;EACxB,CAAC,EAAE,CAAClC,cAAc,CAAC,CAAC;EAEpB,IAAAwD,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIT,aAAa,CAACU,OAAO,EAAE;QACzBC,YAAY,CAACX,aAAa,CAACU,OAAO,CAAC;MACrC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,kBAAkB,GAAGhD,IAAI,KAAK,cAAc;EAClD,MAAM;IACJiD,MAAM,EAAEC,WAAW;IACnBC,SAAS,EAAEC;EACb,CAAC,GAAG,IAAAC,8BAAqB,EAAClE,WAAW,EAAEQ,QAAQ,EAAEC,OAAO,CAAC;EACzD,MAAM0D,qBAAqB,GAAG,CAACzD,cAAc,IAAI,CAACC,eAAe;EACjE,MAAM;IACJyD,WAAW,EAAEC,iBAAiB;IAC9BL,SAAS,EAAEM;EACb,CAAC,GAAG,IAAAC,uBAAc,EAACvE,WAAW,EAAEmE,qBAAqB,CAAC;EACtD,MAAMK,mBAAmB,GAAG9D,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAE+D,eAAe,cAAA7D,qBAAA,eAA/BA,qBAAA,CAAiC8D,MAAM,GAAGhE,cAAc,GAAG,IAAI;EAC3F,MAAMiE,mBAAmB,GAAGH,mBAAmB,IAAIH,iBAAiB;EACpE,MAAMO,eAAe,GAAGxE,iBAAiB,IAAI,CAACC,YAAY;EAC1D,MAAMwE,WAAW,GAAG,CAAAF,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEE,WAAW,KAAI,UAAU;EAClE,MAAMC,cAAc,GAAG,IAAAC,+CAAgC,EAACJ,mBAAmB,CAAC;EAC5E,MAAMK,aAAa,GAAG,CAAC,CAAAL,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEF,eAAe,KAAI,EAAE,EAAEQ,IAAI,CAAErF,KAAK,IAAKA,KAAK,CAACA,KAAK,KAAK,OAAO,CAAC;EAC3G,MAAMsF,iBAAiB,GACrB,CAAA5D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAErC,QAAQ,MAAKkG,SAAS,IAAI,CAAA7D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpC,SAAS,MAAKiG,SAC7D;EACD,MAAMC,cAAc,GAAGC,OAAO,CAACC,MAAM,CAAC,CAAAhE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGuD,WAAW,CAAC,KAAI,EAAE,CAAC,CAACU,IAAI,CAAC,CAAC,CAAC;EAC5E,MAAMC,aAAa,GAAGH,OAAO,CAC1B,CAACxB,kBAAkB,IAAIuB,cAAc,IACrCvB,kBAAkB,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC4B,QAAQ,CAACjE,kBAAkB,CAAC,IAAI4D,cACtF,CAAC;EACD,MAAMM,aAAa,GAAG,CAACrF,YAAY,KAAK6E,iBAAiB,IAAIM,aAAa,CAAC;EAC3E,MAAMG,YAAY,GAAG,CAACxD,eAAe,CAACuC,MAAM,GAAGvC,eAAe,GAAG,CAC/Db,QAAQ,CAAClC,QAAQ,EACjBkC,QAAQ,CAACjC,QAAQ,EACjBiC,QAAQ,CAAChC,QAAQ,EACjB,CAACgC,QAAQ,CAAC7B,UAAU,EAAE6B,QAAQ,CAAC9B,IAAI,CAAC,CAACoG,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,EAC9DvE,QAAQ,CAAC/B,MAAM,CAChB,EAAEqG,MAAM,CAACP,OAAO,CAAC;EAClB,MAAM;IACJS,eAAe;IACfC,cAAc;IACdC,iBAAiB;IACjBC,eAAe;IACfC;EACF,CAAC,GAAG,IAAAC,2BAAkB,EAAC;IACrB7E,QAAQ;IACR8E,SAAS,EAAET,YAAY;IACvBT,iBAAiB;IACjBmB,eAAe,EAAEtC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAU;IACxCC,gBAAgB,EAAEb;EACpB,CAAC,CAAC;EAEF,MAAM;IAAEc,WAAW;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,qCAA4B,EAC/E,CAACvG,YAAY,IAAI0C,eAAe,CAACY,OAAO,IAAIE,kBAAkB,GAAG7C,KAAK,GAAG,EAAE,EAC3EhB,WAAW,EACXoB,qBAAqB,EACrB,GACF,CAAC;EAED,MAAM;IACJoF,WAAW,EAAEK,qBAAqB;IAClCJ,OAAO,EAAEK,iBAAiB;IAC1BJ,KAAK,EAAEK,eAAe;IACtBJ,WAAW,EAAEK;EACf,CAAC,GAAG,IAAAC,iCAAwB,EAC1B3F,QAAQ,EACRtB,WAAW,EACX4E,eAAe,GAAG/C,iBAAiB,GAAG,CAAC,EACvCgD,WACF,CAAC;EACD,MAAMqC,WAAW,GAAG5F,QAAQ,CAACuD,WAAW,CAAC;EACzC,MAAMsC,kBAAkB,GAAGxE,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEgE,WAAW,GACvD,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4C,WAAW,KAAI,wDAAwD,GACpF,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqD,WAAW,KAAI,8CAA+C;EAC9E,MAAMC,sBAAsB,GAAGxE,sBAAsB,aAAtBA,sBAAsB,eAAtBA,sBAAsB,CAAE8D,WAAW,GAC/D,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE4C,WAAW,KAAI,wDAAwD,GACpF,CAAA5C,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEgD,eAAe,KAAI,+CAAgD;EAEnF,IAAArD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACnD,mBAAmB,EAAE;MACxB;IACF;IAEAmC,wBAAwB,CAAC,IAAI,CAAC;IAC9BzC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTqH,IAAI,EAAE,oBAAoB;MAC1BvI,OAAO,EAAEuC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBxH,WAAW;QACXoE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,eAAe,EAAErE,mBAAmB,CAAC,CAAC;EAE1C,IAAAmD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACgD,KAAK,EAAE;MACV9D,qBAAqB,CAAC,IAAI,CAAC;MAC3B;IACF;IAEAA,qBAAqB,CAAC;MACpB+D,WAAW;MACXc,UAAU,EAAEf;IACd,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,KAAK,EAAEC,WAAW,CAAC,CAAC;EAExB,IAAAjD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACqD,eAAe,EAAE;MACpBjE,yBAAyB,CAAC,IAAI,CAAC;MAC/B;IACF;IAEAA,yBAAyB,CAAC;MACxB6D,WAAW,EAAEK,qBAAqB;MAClCS,UAAU,EAAEV;IACd,CAAC,CAAC;IACFf,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;EACzC,CAAC,EAAE,CAACoD,eAAe,EAAEC,qBAAqB,CAAC,CAAC;EAE5C,IAAAtD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACf,kBAAkB,EAAE;MACvB;IACF;IAEA1C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTqH,IAAI,EAAE,cAAc;MACpBvI,OAAO,EAAEuC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBxH,WAAW;QACXoE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC,CAAC;MACF8B,KAAK,EAAE;QACLgB,IAAI,EAAE/E,kBAAkB,CAACgE,WAAW,GAAG,cAAc,GAAG,KAAK;QAC7DgB,MAAM,EAAE,cAAc;QACtBC,OAAO,EAAET;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxE,kBAAkB,CAAC,CAAC;EAExB,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI,CAACb,sBAAsB,EAAE;MAC3B;IACF;IAEA5C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTqH,IAAI,EAAE,kBAAkB;MACxBvI,OAAO,EAAEuC,QAAQ;MACjBiG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBxH,WAAW;QACXoE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ;QACRE,kBAAkB;QAClBX,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC,CAAC;MACF8B,KAAK,EAAE;QACLgB,IAAI,EAAE7E,sBAAsB,CAAC8D,WAAW,GAAG,cAAc,GAAG,KAAK;QACjEgB,MAAM,EAAE,YAAY;QACpBC,OAAO,EAAEP;MACX;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxE,sBAAsB,CAAC,CAAC;EAE5B,MAAMgF,kBAAkB,GAAGA,CAAC;IAAEC,MAAM,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;IAAEC,MAAM,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAAK;IACxF,IAAIF,MAAM,EAAE;MACVlF,qBAAqB,CAAC,IAAI,CAAC;IAC7B;IACA,IAAImF,UAAU,EAAE;MACdjF,yBAAyB,CAAC,IAAI,CAAC;IACjC;IACA,IAAIkF,MAAM,EAAE;MACVpG,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAMqG,gBAAgB,GAAGA,CAAClJ,OAAO,GAAG,CAAC,CAAC,KAAK;IACzC,IAAIiG,aAAa,EAAE;MACjB,OAAOjG,OAAO;IAChB;IAEA,MAAMC,WAAW,GAAG;MAAE,GAAGD;IAAQ,CAAC;IAClC,OAAOC,WAAW,CAACkJ,KAAK;IACxB,OAAOlJ,WAAW;EACpB,CAAC;EAED,MAAMmJ,mBAAmB,GAAGA,CAACpJ,OAAO,GAAG,CAAC,CAAC,EAAEwI,MAAM,GAAG,YAAY,EAAEI,MAAM,GAAG,IAAI,KAC7EM,gBAAgB,CAAC,IAAAG,4CAAuB,EAACrJ,OAAO,EAAEwI,MAAM,EAAEI,MAAM,CAAC,CAClE;EAED,MAAMU,mCAAmC,GAAIC,gBAAgB;IAAA,IAAAC,qBAAA;IAAA,OAC3D,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAC1C9C,QAAQ,CAAC6C,gBAAgB,aAAhBA,gBAAgB,gBAAAC,qBAAA,GAAhBD,gBAAgB,CAAEE,iBAAiB,cAAAD,qBAAA,uBAAnCA,qBAAA,CAAqCE,IAAI,CAAC;EAAA,CACvD;EAED,IAAAC,sCAA6B,EAAC;IAC5BxI,cAAc;IACdF,WAAW;IACX6E,WAAW;IACXzE,iBAAiB,EAAEwE,eAAe;IAClCD,mBAAmB;IACnB7B,yBAAyB;IACzBlB,cAAc;IACdM,4BAA4B;IAC5BF,0BAA0B;IAC1BF;EACF,CAAC,CAAC;EAEF,IAAA4B,gBAAS,EAAC,MAAM;IACd,IAAItC,qBAAqB,EAAE;MACzB,IAAIoF,WAAW,CAAC9B,MAAM,KAAK,CAAC,IAAI8B,WAAW,CAAC,CAAC,CAAC,CAACmC,UAAU,EAAE;QACzDxH,kBAAkB,CAACqF,WAAW,CAAC,CAAC,CAAC,CAAC;QAClCnF,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;QACZW,cAAc,CAAC,IAAI,CAAC;MACtB,CAAC,MAAM,IAAI4E,WAAW,CAAC9B,MAAM,KAAK,CAAC,IAAI,CAAC+B,OAAO,EAAE;QAC/C7E,cAAc,CAAC,mFAAmF,CAAC;QACnGP,wBAAwB,CAAC,IAAI,CAAC;QAC9BJ,QAAQ,CAAC,EAAE,CAAC;MACd;IACF,CAAC,MAAM,IAAIuF,WAAW,CAAC9B,MAAM,GAAG,CAAC,IAAI,CAAC8B,WAAW,CAAC,CAAC,CAAC,CAACmC,UAAU,IAAI,CAACzH,eAAe,EAAE;MACnFC,kBAAkB,CAAC,IAAI,CAAC;MACxBS,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CAAC4E,WAAW,EAAEpF,qBAAqB,EAAEF,eAAe,EAAEuF,OAAO,CAAC,CAAC;EAElE,IAAA/C,gBAAS,EAAC,MAAM;IACd,IAAIwD,WAAW,KAAK/B,SAAS,IAAIpC,eAAe,CAACY,OAAO,IAAI,CAACzC,eAAe,EAAE;MAC5ED,QAAQ,CAACiG,WAAW,CAAC;IACvB;EACF,CAAC,EAAE,CAACA,WAAW,EAAEhG,eAAe,CAAC,CAAC;EAElC,IAAAwC,gBAAS,EAAC,MAAM;IAAA,IAAAkF,mBAAA;IACd,MAAMC,2BAA2B,GAC/BjE,eAAe,IACf3C,yBAAyB,IACzB4E,qBAAqB,CAACnC,MAAM,GAAG,CAAC,IAChC,CAACoC,iBAAiB,KACjB,CAACjD,kBAAkB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC4B,QAAQ,CAAC1D,uBAAuB,CAAC,CAAC;IAE/E,IAAI,CAAC8G,2BAA2B,EAAE;MAChC;IACF;IAEA,MAAMC,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,IAAIoE,iBAAiB,CAACrD,QAAQ,CAACuD,QAAQ,CAACC,aAAa,CAAC,EAAE;MACxF;IACF;IAEA,CAAAL,mBAAA,GAAAE,iBAAiB,CAAC,CAAC,CAAC,cAAAF,mBAAA,eAApBA,mBAAA,CAAsBM,KAAK,CAAC,CAAC;EAC/B,CAAC,EAAE,CACDrF,kBAAkB,EAClBe,eAAe,EACf3C,yBAAyB,EACzB6E,iBAAiB,EACjBD,qBAAqB,EACrB9E,uBAAuB,CACxB,CAAC;EAEF,IAAA2B,gBAAS,EAAC,MAAM;IAAA,IAAAyF,qBAAA;IACd,MAAMC,wBAAwB,GAC5BvF,kBAAkB,IAClBzC,qBAAqB,IACrBoF,WAAW,CAAC9B,MAAM,GAAG,CAAC,IACtB,CAACxD,eAAe,IAChB,CAACuF,OAAO;IAEV,IAAI,CAAC2C,wBAAwB,EAAE;MAC7B;IACF;IAEA,CAAAD,qBAAA,GAAAE,qBAAqB,CAAC,CAAC,cAAAF,qBAAA,eAAvBA,qBAAA,CAAyBD,KAAK,CAAC,CAAC;EAClC,CAAC,EAAE,CAACrF,kBAAkB,EAAEzC,qBAAqB,EAAEoF,WAAW,EAAEtF,eAAe,EAAEuF,OAAO,CAAC,CAAC;EAEtF,IAAA/C,gBAAS,EAAC,MAAM;IACd,IAAI7B,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC4D,QAAQ,CAAC1D,uBAAuB,CAAC,EAAE;MACjGyB,6BAA6B,CAACG,OAAO,GAAG,KAAK;IAC/C;EACF,CAAC,EAAE,CAAC9B,iBAAiB,EAAEE,uBAAuB,CAAC,CAAC;EAEhD,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAI3B,uBAAuB,KAAK,KAAK,IAAI+E,iBAAiB,EAAE;MAC1DvD,uBAAuB,CAACI,OAAO,GAAG,IAAI;IACxC;IACA,IAAImD,iBAAiB,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAACrB,QAAQ,CAAC1D,uBAAuB,CAAC,EAAE;MAC7FyB,6BAA6B,CAACG,OAAO,GAAG,IAAI;IAC9C;EACF,CAAC,EAAE,CAACmD,iBAAiB,EAAE/E,uBAAuB,CAAC,CAAC;EAEhD,IAAA2B,gBAAS,EAAC,MAAM;IACd,IACE3B,uBAAuB,KAAK,KAAK,IACjCwB,uBAAuB,CAACI,OAAO,IAC/B1B,yBAAyB,IACzB,CAAC6E,iBAAiB,IAClBD,qBAAqB,CAACnC,MAAM,KAAK,CAAC,EAClC;MACAsB,iBAAiB,CAAC,KAAK,CAAC;MACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACzC;EACF,CAAC,EAAE,CAACmD,iBAAiB,EAAED,qBAAqB,EAAE9E,uBAAuB,EAAEE,yBAAyB,CAAC,CAAC;EAElG,IAAAyB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrB,qBAAqB,IAAImE,WAAW,CAAC9B,MAAM,KAAK,CAAC,EAAE;MACtD,OAAOS,SAAS;IAClB;IAEA,MAAMmE,uBAAuB,GAAIC,KAAK,IAAK;MACzC,MAAMC,SAAS,GAAGtG,YAAY,CAACS,OAAO;MACtC,IAAI6F,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACrC;MACF;MAEA,MAAMC,eAAe,GAAGxG,kBAAkB,CAACQ,OAAO;MAClD,IAAI,CAAAgG,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEF,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,MAAK,KAAK,EAAE;QACrD3G,eAAe,CAACY,OAAO,GAAG,KAAK;QAC/B1C,QAAQ,CAAC,EAAE,CAAC;QACZE,kBAAkB,CAAC,IAAI,CAAC;QACxBE,wBAAwB,CAAC,IAAI,CAAC;QAC9Ba,4BAA4B,CAAC,KAAK,CAAC;QACnC2F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpCzG,WAAW,CAAC8B,sBAAsB,CAACM,OAAO,CAAC;QAC3CrB,wBAAwB,CAAC,KAAK,CAAC;MACjC;IACF,CAAC;IAED0G,QAAQ,CAACY,gBAAgB,CAAC,aAAa,EAAEN,uBAAuB,CAAC;IACjE,OAAO,MAAM;MACXN,QAAQ,CAACa,mBAAmB,CAAC,aAAa,EAAEP,uBAAuB,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAACjH,qBAAqB,EAAEmE,WAAW,CAAC,CAAC;EAExC,IAAA9C,gBAAS,EAAC,MAAM;IACd,IAAIG,kBAAkB,IAAI,CAAC5B,yBAAyB,IAAI6E,iBAAiB,IAAID,qBAAqB,CAACnC,MAAM,KAAK,CAAC,EAAE;MAC/G,OAAOS,SAAS;IAClB;IAEA,MAAM2E,yBAAyB,GAAIP,KAAK,IAAK;MAAA,IAAAQ,qBAAA;MAC3C,KAAAA,qBAAA,GAAI7G,YAAY,CAACS,OAAO,cAAAoG,qBAAA,eAApBA,qBAAA,CAAsBN,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChD;MACF;MAEAxH,4BAA4B,CAAC,KAAK,CAAC;IACrC,CAAC;IAED8G,QAAQ,CAACY,gBAAgB,CAAC,aAAa,EAAEE,yBAAyB,CAAC;IACnE,OAAO,MAAM;MACXd,QAAQ,CAACa,mBAAmB,CAAC,aAAa,EAAEC,yBAAyB,CAAC;IACxE,CAAC;EACH,CAAC,EAAE,CAACjG,kBAAkB,EAAE5B,yBAAyB,EAAE6E,iBAAiB,EAAED,qBAAqB,CAAC,CAAC;EAE7F,IAAAnD,gBAAS,EAAC,MAAM;IACd,IAAIxC,eAAe,EAAE;MACnB,MAAM8I,YAAY,GAAG9I,eAAe,CAAC+I,UAAU,IAC7C,GAAG/I,eAAe,CAACgJ,MAAM,IAAI,EAAE,IAAIhJ,eAAe,CAACiJ,QAAQ,IAAI,EAAE,IAAIjJ,eAAe,CAACkJ,WAAW,IAAI,EAAE,EAAE;MAC1G,IAAI9G,sBAAsB,CAACK,OAAO,KAAKqG,YAAY,EAAE;QACnD;MACF;MACA1G,sBAAsB,CAACK,OAAO,GAAGqG,YAAY;MAE7C,MAAMK,MAAM,GAAG,IAAAC,mDAAmC,EAACpJ,eAAe,EAAEyD,mBAAmB,CAAC;MACxF,MAAM4F,eAAe,GAAG;QACtB,GAAGzL,YAAY,CAACwC,QAAQ,CAAC;QACzB,GAAG+I,MAAM;QACTnC,KAAK,EAAE5G,QAAQ,CAAC4G;MAClB,CAAC;MACD,MAAMsC,kBAAkB,GAAGrC,mBAAmB,CAACoC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC;MAC9FhJ,WAAW,CAACiJ,kBAAkB,CAAC;MAC/BpI,kBAAkB,CAAC,EAAE,CAAC;MACtBgB,uBAAuB,CAACO,OAAO,GAAG6G,kBAAkB;MACpDnH,sBAAsB,CAACM,OAAO,GAAG6G,kBAAkB;MACnDlI,wBAAwB,CAAC,KAAK,CAAC;MAC/BuF,kBAAkB,CAAC;QAAEG,MAAM,EAAE;MAAK,CAAC,CAAC;MACpC,MAAMyC,yBAAyB,GAAG,cAAc;MAChDhJ,qBAAqB,CAACgJ,yBAAyB,CAAC;MAChDxK,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;QACTqH,IAAI,EAAE,cAAc;QACpBvI,OAAO,EAAEyL,kBAAkB;QAC3BjD,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzBxH,WAAW;UACXoE,WAAW,EAAEO,mBAAmB;UAChCrD,QAAQ,EAAEkJ,kBAAkB;UAC5BhJ,kBAAkB,EAAEiJ,yBAAyB;UAC7C5J,IAAI;UACJT,iBAAiB,EAAEwE;QACrB,CAAC;MACH,CAAC,CAAC;MAEF,IAAI,IAAA8F,gDAAiC,EAAC;QACpCtG,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ,EAAEkJ,kBAAkB;QAC5BpK,iBAAiB,EAAEwE;MACrB,CAAC,CAAC,EAAE;QACF;QACA;QACA1C,4BAA4B,CAAC,IAAI,CAAC;QAClCF,0BAA0B,CAAC,cAAc,CAAC;QAC1CF,oBAAoB,CAAC6I,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;MACxC;IACF;EACF,CAAC,EAAE,CAACzJ,eAAe,CAAC,CAAC;EAErB,MAAM0J,iBAAiB,GAAIjM,CAAC,IAAK;IAC/B,MAAMkM,KAAK,GAAG,IAAAC,sCAA0B,EAACjG,WAAW,EAAElG,CAAC,CAAC+K,MAAM,CAACmB,KAAK,CAAC;IACrE9H,eAAe,CAACY,OAAO,GAAG,IAAI;IAC9BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;IACrCxC,kBAAkB,CAAC,IAAI,CAAC;IACxBE,wBAAwB,CAAC,IAAI,CAAC;IAC9Ba,4BAA4B,CAAC,KAAK,CAAC;IACnC+D,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCvB,kBAAkB,CAAC,EAAE,CAAC;IACtBJ,0BAA0B,CAAC,IAAI,CAAC;IAChC6F,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IACpC,IAAI,CAAC3F,qBAAqB,EAAE;MAC1BgB,sBAAsB,CAACM,OAAO,GAAGrC,QAAQ;MACzCgB,wBAAwB,CAAC,IAAI,CAAC;IAChC;IACA,MAAMiI,eAAe,GAAGtC,gBAAgB,CAAC;MACvC,GAAGnJ,YAAY,CAACwC,QAAQ,CAAC;MACzB,CAACuD,WAAW,GAAGgG;IACjB,CAAC,CAAC;IACFtJ,WAAW,CAAC4G,mBAAmB,CAACoC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC/D9I,qBAAqB,CAAC,YAAY,CAAC;EACrC,CAAC;EAED,MAAMsJ,eAAe,GAAInL,KAAK,IAAKkF,cAAc,CAACW,QAAQ,CAAC7F,KAAK,CAAC;EACjE,MAAMoL,YAAY,GAAIpL,KAAK,IAAK0F,MAAM,CAAChE,QAAQ,CAAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC2F,IAAI,CAAC,CAAC,KAAK,EAAE;EAC3E,MAAM0F,0BAA0B,GAAIrL,KAAK,IAAK;IAC5C,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1B,OAAO,KAAK;IACd;IACA,MAAMiL,KAAK,GAAGvF,MAAM,CAAChE,QAAQ,CAAC7B,UAAU,IAAI,EAAE,CAAC,CAAC8F,IAAI,CAAC,CAAC;IACtD,IAAI,CAACsF,KAAK,IAAI,CAAClG,mBAAmB,CAACuG,eAAe,EAAE;MAClD,OAAO,KAAK;IACd;IACA,OAAO,CAACvG,mBAAmB,CAACuG,eAAe,CAACC,IAAI,CAAC,IAAAC,oCAAwB,EAACP,KAAK,CAAC,CAAC;EACnF,CAAC;EACD,MAAMQ,qBAAqB,GAAIzL,KAAK,IAAK;IACvC,IAAIA,KAAK,KAAK,OAAO,EAAE;MACrB,OAAO,KAAK;IACd;IACA,MAAMiL,KAAK,GAAGvF,MAAM,CAAChE,QAAQ,CAAC4G,KAAK,IAAI,EAAE,CAAC,CAAC3C,IAAI,CAAC,CAAC;IACjD,IAAI,CAACsF,KAAK,EAAE;MACV,OAAO,KAAK;IACd;IACA,OAAO,CAAC,IAAAS,wBAAY,EAACT,KAAK,CAAC;EAC7B,CAAC;EACD,MAAMU,oBAAoB,GAAI3L,KAAK,IAAK;IACtC,MAAM4L,oBAAoB,GAAGnG,OAAO,CAAC5C,qBAAqB,IAAIF,aAAa,CAAC3C,KAAK,CAAC,CAAC;IACnF,IAAI,CAAC4L,oBAAoB,EAAE;MACzB,OAAO,KAAK;IACd;IACA,MAAMC,aAAa,GAAGV,eAAe,CAACnL,KAAK,CAAC,IAAIoL,YAAY,CAACpL,KAAK,CAAC;IACnE,OAAO6L,aAAa,IAAIR,0BAA0B,CAACrL,KAAK,CAAC,IAAIyL,qBAAqB,CAACzL,KAAK,CAAC;EAC3F,CAAC;EAED,MAAM8L,eAAe,GAAI9L,KAAK,IAAK;IACjC,IAAI,CAACmL,eAAe,CAACnL,KAAK,CAAC,IAAIA,KAAK,KAAK,OAAO,IAAIA,KAAK,KAAK,YAAY,EAAE;MAC1E;IACF;IACA4C,gBAAgB,CAAEmI,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAE,CAAC/K,KAAK,GAAG;IAAK,CAAC,CAAC,CAAC;EAC1D,CAAC;EAED,MAAM+L,oBAAoB,GAAI/L,KAAK,IAAK;IACtC,IAAI,CAAC2L,oBAAoB,CAAC3L,KAAK,CAAC,EAAE;MAChC,OAAO,EAAE;IACX;IACA,IAAImL,eAAe,CAACnL,KAAK,CAAC,IAAIoL,YAAY,CAACpL,KAAK,CAAC,EAAE;MACjD,OAAOqE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6H,aAAa;IAC3D;IACA,IAAIX,0BAA0B,CAACrL,KAAK,CAAC,EAAE;MACrC,OAAOqE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8H,iBAAiB;IAC/D;IACA,IAAIR,qBAAqB,CAACzL,KAAK,CAAC,EAAE;MAChC,OAAOqE,gBAAgB,GAAG,EAAE,GAAGF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE+H,YAAY;IAC1D;IACA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,oBAAoB,GAAInM,KAAK,IAAK2L,oBAAoB,CAAC3L,KAAK,CAAC;EAEnE,MAAMoM,yBAAyB,GAAGA,CAACpM,KAAK,EAAEiL,KAAK,KAAK;IAClD,MAAMoB,eAAe,GAAG,IAAAnB,sCAA0B,EAAClL,KAAK,EAAEiL,KAAK,CAAC;IAChE,IAAIjL,KAAK,KAAKiF,WAAW,EAAE;MACzB3C,4BAA4B,CAAC,KAAK,CAAC;IACrC;IACA+D,eAAe,CAAC,KAAK,CAAC;IACtBD,iBAAiB,CAAC,KAAK,CAAC;IACxBzC,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCvB,kBAAkB,CAAC,EAAE,CAAC;IACtByF,kBAAkB,CAAC;MAAEG,MAAM,EAAE;IAAK,CAAC,CAAC;IAEpC,MAAMkE,6BAA6B,GAAG,CAAAvH,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEG,cAAc,KAAIA,cAAc;IAC3F,MAAMqH,sBAAsB,GAAG,IAAAC,oDAA+B,EAC5D5K,kBAAkB,EAClB5B,KAAK,EACLiF,WAAW,EACXqH,6BACF,CAAC;IACD,MAAM3B,eAAe,GAAG,IAAA8B,sDAAiC,EACvDpE,gBAAgB,CAAC;MACf,GAAGnJ,YAAY,CAACwC,QAAQ,CAAC;MACzB,CAAC1B,KAAK,GAAGqM;IACX,CAAC,CAAC,EACFrM,KAAK,EACLuM,sBACF,CAAC;IACD5K,WAAW,CAACgJ,eAAe,CAAC;IAC5B9I,qBAAqB,CAAC0K,sBAAsB,CAAC;IAE7C,IAAIlJ,aAAa,CAACU,OAAO,EAAE;MACzBC,YAAY,CAACX,aAAa,CAACU,OAAO,CAAC;IACrC;IAEAV,aAAa,CAACU,OAAO,GAAG2I,UAAU,CAAC,MAAM;MACvC,MAAMC,OAAO,GAAG;QACdjF,IAAI,EAAE,cAAc;QACpB1H,KAAK;QACLiL,KAAK,EAAEoB,eAAe;QACtBlN,OAAO,EAAEwL,eAAe;QACxBhD,MAAM,EAAE,IAAAC,iCAAkB,EAAC;UACzBxH,WAAW;UACXoE,WAAW,EAAEO,mBAAmB;UAChCrD,QAAQ,EAAEiJ,eAAe;UACzB/I,kBAAkB,EAAE2K,sBAAsB;UAC1CtL,IAAI;UACJT,iBAAiB,EAAEwE;QACrB,CAAC;MACH,CAAC;MAED,IAAII,aAAa,IAAIpF,KAAK,KAAK,OAAO,IAAIiL,KAAK,EAAE;QAC/C0B,OAAO,CAACjB,YAAY,GAAG,IAAAA,wBAAY,EAACW,eAAe,CAAC;MACtD;MAEAhM,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGsM,OAAO,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,MAAMC,YAAY,GAAIzN,OAAO,IAAK;IAChC8I,kBAAkB,CAAC;MAAEC,MAAM,EAAE,IAAI;MAAEC,UAAU,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAK,CAAC,CAAC;IACrE,IAAIjJ,OAAO,CAAC0N,OAAO,GAAG,CAAC,IAAK1N,OAAO,CAAC0N,OAAO,KAAK,CAAC,IAAI1N,OAAO,CAAC4J,UAAU,KAAK,KAAM,EAAE;MAClF5F,eAAe,CAACY,OAAO,GAAG,IAAI;MAC9BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;MACrCtC,wBAAwB,CAACtC,OAAO,CAACkL,UAAU,CAAC;MAC5ChJ,QAAQ,CAAClC,OAAO,CAAC2N,WAAW,CAAC;IAC/B,CAAC,MAAM;MACL3J,eAAe,CAACY,OAAO,GAAG,KAAK;MAC/BL,sBAAsB,CAACK,OAAO,GAAG,IAAI;MACrCtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BF,kBAAkB,CAACpC,OAAO,CAAC;MAC3BkC,QAAQ,CAAC,EAAE,CAAC;IACd;EACF,CAAC;EAED,MAAM0L,sBAAsB,GAAIrE,gBAAgB,IAAK;IAAA,IAAAsE,qBAAA,EAAAC,sBAAA;IACnDhF,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE,MAAM8E,MAAM,GAAGnI,mBAAmB,CAACF,eAAe,IAAI,EAAE;IACxD,MAAM;MACJ4F,MAAM,EAAE0C,eAAe;MACvB5K,eAAe,EAAE6K;IACnB,CAAC,GAAG,IAAAC,sDAAsC,EAAC3E,gBAAgB,EAAE3D,mBAAmB,CAAC;IAEjF,IAAI0F,MAAM,GAAG,IAAA6C,+CAA+B,EAC1CH,eAAe,EACfzL,QAAQ,EACRwL,MAAM,EACN,cACF,CAAC;;IAED;IACA,IAAInI,mBAAmB,CAACwI,sBAAsB,EAAE;MAC9C,MAAMC,aAAa,GAAGN,MAAM,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAC1N,KAAK,KAAK,UAAU,CAAC;MAC9D,IAAIwN,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEG,SAAS,EAAE;QAC5B,MAAMC,OAAO,GAAG,IAAAL,sCAAsB,EAAC9C,MAAM,CAACjL,QAAQ,EAAEiL,MAAM,CAAChL,QAAQ,EAAE+N,aAAa,CAACG,SAAS,CAAC;QACjGlD,MAAM,CAACjL,QAAQ,GAAGoO,OAAO,CAACpO,QAAQ;QAClCiL,MAAM,CAAChL,QAAQ,GAAGmO,OAAO,CAACnO,QAAQ;MACpC;IACF;IAEA,MAAMkL,eAAe,GAAG;MACtB,GAAGzL,YAAY,CAACwC,QAAQ,CAAC;MACzB,GAAG+I,MAAM;MACTnC,KAAK,EAAE5G,QAAQ,CAAC4G,KAAK;MACrBjJ,QAAQ,GAAA2N,qBAAA,GAAEtE,gBAAgB,CAACmF,QAAQ,cAAAb,qBAAA,uBAAzBA,qBAAA,CAA2B3N,QAAQ;MAC7CC,SAAS,GAAA2N,sBAAA,GAAEvE,gBAAgB,CAACmF,QAAQ,cAAAZ,sBAAA,uBAAzBA,sBAAA,CAA2B3N;IACxC,CAAC;IACD,MAAMsL,kBAAkB,GAAGrC,mBAAmB,CAACoC,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC;IAC1FrI,4BAA4B,CAAC,KAAK,CAAC;IACnCF,0BAA0B,CAAC,IAAI,CAAC;IAChCT,WAAW,CAACiJ,kBAAkB,CAAC;IAC/BpI,kBAAkB,CAAC4K,mBAAmB,CAAC;IACvC5J,uBAAuB,CAACO,OAAO,GAAG6G,kBAAkB;IACpDnH,sBAAsB,CAACM,OAAO,GAAG6G,kBAAkB;IACnDlI,wBAAwB,CAAC,KAAK,CAAC;IAC/B,MAAMmI,yBAAyB,GAAG,UAAU;IAC5ChJ,qBAAqB,CAACgJ,yBAAyB,CAAC;IAChDjH,6BAA6B,CAACG,OAAO,GAAG,KAAK;IAC7C,IAAIoC,cAAc,EAAE;MAClBC,iBAAiB,CAAC,KAAK,CAAC;MACxBC,eAAe,CAAC,IAAI,CAAC;IACvB;IACA1C,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvC1D,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG;MACTqH,IAAI,EAAE,YAAY;MAClBvI,OAAO,EAAEyL,kBAAkB;MAC3BkD,YAAY,EAAEpF,gBAAgB,CAACqF,QAAQ;MACvCpG,MAAM,EAAE,IAAAC,iCAAkB,EAAC;QACzBxH,WAAW;QACXoE,WAAW,EAAEO,mBAAmB;QAChCrD,QAAQ,EAAEkJ,kBAAkB;QAC5BhJ,kBAAkB,EAAEiJ,yBAAyB;QAC7C5J,IAAI;QACJT,iBAAiB,EAAEwE;MACrB,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAMgJ,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAAChJ,eAAe,EAAE;MACpB;IACF;IACAiD,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtE9F,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,QAAQ,CAAC;IACpCF,oBAAoB,CAAC6I,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;EACxC,CAAC;EAED,MAAMkD,WAAW,GAAIC,WAAW,IAAKA,WAAW,CAAClO,KAAK;EAEtD,MAAMmO,gBAAgB,GAAIC,UAAU,IAClCA,UAAU,CAAC/D,UAAU,IACrB,CACE+D,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAAC9D,MAAM,EACjB8D,UAAU,CAACC,YAAY,EACvBD,UAAU,CAAC7D,QAAQ,EACnB6D,UAAU,CAACE,mBAAmB,EAC9BF,UAAU,CAAC5D,WAAW,EACtB4D,UAAU,CAACvB,OAAO,CACnB,CAAC7G,MAAM,CAAEiF,KAAK,IAAKA,KAAK,KAAK1F,SAAS,IAAI0F,KAAK,KAAK,IAAI,CAAC,CAAChF,IAAI,CAAC,GAAG,CACpE;EAED,MAAMsI,0BAA0B,GAAIH,UAAU;IAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAK,CACjDR,UAAU,CAACtB,WAAW,EACtBsB,UAAU,CAAC5O,QAAQ,EACnB4O,UAAU,CAAC3O,QAAQ,EACnB2O,UAAU,CAACS,QAAQ,GAAAL,qBAAA,GACnBJ,UAAU,CAACU,UAAU,cAAAN,qBAAA,uBAArBA,qBAAA,CAAuBO,YAAY,GAAAN,sBAAA,GACnCL,UAAU,CAACU,UAAU,cAAAL,sBAAA,uBAArBA,sBAAA,CAAuBO,OAAO,GAAAN,sBAAA,GAC9BN,UAAU,CAACU,UAAU,cAAAJ,sBAAA,uBAArBA,sBAAA,CAAuBnE,QAAQ,GAAAoE,sBAAA,GAC/BP,UAAU,CAACU,UAAU,cAAAH,sBAAA,uBAArBA,sBAAA,CAAuBL,mBAAmB,GAAAM,sBAAA,GAC1CR,UAAU,CAACU,UAAU,cAAAF,sBAAA,uBAArBA,sBAAA,CAAuBpE,WAAW,CACnC,CAACxE,MAAM,CAAEiF,KAAK,IAAKA,KAAK,KAAK1F,SAAS,IAAI0F,KAAK,KAAK,IAAI,CAAC,CAAChF,IAAI,CAAC,GAAG,CAAC;EAAA;EAEpE,MAAMgJ,6BAA6B,GAAIb,UAAU,IAAK;IAAA,IAAAc,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpD,MAAM3G,IAAI,IAAAqG,qBAAA,GAAGd,UAAU,CAACxF,iBAAiB,cAAAsG,qBAAA,uBAA5BA,qBAAA,CAA8BrG,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAA1E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsL,iBAAiB,OAAAN,sBAAA,GAAIf,UAAU,CAACxF,iBAAiB,cAAAuG,sBAAA,uBAA5BA,sBAAA,CAA8BO,KAAK,KAAI,UAAU;MAC5F,KAAK,+BAA+B;QAClC,OAAO,CAAAvL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwL,mCAAmC,OAAAP,sBAAA,GACvDhB,UAAU,CAACxF,iBAAiB,cAAAwG,sBAAA,uBAA5BA,sBAAA,CAA8BM,KAAK,KACnC,4BAA4B;MAC9B,KAAK,SAAS;QACZ,OAAO,CAAAvL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEyL,gBAAgB,OAAAP,sBAAA,GAAIjB,UAAU,CAACxF,iBAAiB,cAAAyG,sBAAA,uBAA5BA,sBAAA,CAA8BK,KAAK,KAAI,oBAAoB;MACrG,KAAK,WAAW;QACd,OAAO,CAAAvL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0L,kBAAkB,OAAAP,sBAAA,GAAIlB,UAAU,CAACxF,iBAAiB,cAAA0G,sBAAA,uBAA5BA,sBAAA,CAA8BI,KAAK,KAAI,wBAAwB;MAC3G,KAAK,cAAc;QACjB,OAAO,CAAAvL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2L,oBAAoB,OAAAP,sBAAA,GAAInB,UAAU,CAACxF,iBAAiB,cAAA2G,sBAAA,uBAA5BA,sBAAA,CAA8BG,KAAK,KAAI,cAAc;MACnG;QACE,OAAO,EAAAF,sBAAA,GAAApB,UAAU,CAACxF,iBAAiB,cAAA4G,sBAAA,uBAA5BA,sBAAA,CAA8BE,KAAK,KAAI,SAAS;IAC3D;EACF,CAAC;EAED,MAAMK,+BAA+B,GAAI3B,UAAU,IAAK;IAAA,IAAA4B,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,uBAAA;IACtD,MAAMzH,IAAI,IAAAmH,sBAAA,GAAG5B,UAAU,CAACxF,iBAAiB,cAAAoH,sBAAA,uBAA5BA,sBAAA,CAA8BnH,IAAI;IAE/C,QAAQA,IAAI;MACV,KAAK,UAAU;QACb,OAAO,CAAA1E,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoM,mBAAmB,OAAAN,sBAAA,GAAI7B,UAAU,CAACxF,iBAAiB,cAAAqH,sBAAA,uBAA5BA,sBAAA,CAA8BjI,OAAO,KAAI,EAAE;MACxF,KAAK,+BAA+B;QAClC,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqM,qCAAqC,OAAAN,sBAAA,GACzD9B,UAAU,CAACxF,iBAAiB,cAAAsH,sBAAA,uBAA5BA,sBAAA,CAA8BlI,OAAO,KACrC,EAAE;MACJ,KAAK,SAAS;QACZ,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsM,kBAAkB,OAAAN,sBAAA,GAAI/B,UAAU,CAACxF,iBAAiB,cAAAuH,sBAAA,uBAA5BA,sBAAA,CAA8BnI,OAAO,KAAI,EAAE;MACvF,KAAK,WAAW;QACd,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuM,oBAAoB,OAAAN,uBAAA,GAAIhC,UAAU,CAACxF,iBAAiB,cAAAwH,uBAAA,uBAA5BA,uBAAA,CAA8BpI,OAAO,KAAI,EAAE;MACzF,KAAK,cAAc;QACjB,OAAO,CAAA7D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEwM,sBAAsB,OAAAN,uBAAA,GAAIjC,UAAU,CAACxF,iBAAiB,cAAAyH,uBAAA,uBAA5BA,uBAAA,CAA8BrI,OAAO,KAAI,EAAE;MAC3F;QACE,OAAO,EAAAsI,uBAAA,GAAAlC,UAAU,CAACxF,iBAAiB,cAAA0H,uBAAA,uBAA5BA,uBAAA,CAA8BtI,OAAO,KAAI,EAAE;IACtD;EACF,CAAC;EAED,MAAM4I,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAItL,iBAAiB,EAAE;MACrBe,eAAe,CAAC,IAAI,CAAC;MACrB;IACF;IAEA,IAAI,CAACT,aAAa,IAAIsB,iBAAiB,EAAE;MACvC;IACF;IAEAe,kBAAkB,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEC,UAAU,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAM,CAAC,CAAC;IACtEzE,uBAAuB,CAACI,OAAO,GAAG,KAAK;IACvCqC,iBAAiB,CAAC,IAAI,CAAC;IACvB9D,4BAA4B,CAAC,IAAI,CAAC;IAClCF,0BAA0B,CAAC,KAAK,CAAC;IACjCF,oBAAoB,CAAE6I,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;EAC1C,CAAC;EAED,MAAM8F,mBAAmB,GAAGA,CAAA,kBAC1B,IAAA/R,WAAA,CAAAgS,IAAA;IAAKC,SAAS,EAAC,4BAA4B;IAAAC,QAAA,GACxClL,aAAa,iBACZ,IAAAhH,WAAA,CAAAmS,GAAA;MACEvJ,IAAI,EAAC,QAAQ;MACbwJ,OAAO,EAAEN,aAAc;MACvBG,SAAS,EAAC,2DAA2D;MACrErB,KAAK,EAAEvL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAW;MAC/B,cAAYvC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuC,UAAW;MAAAsK,QAAA,eAEpC,IAAAlS,WAAA,CAAAmS,GAAA,EAACrS,gBAAA,CAAAK,OAAe;QAAC8R,SAAS,EAAC;MAAyB,CAAE;IAAC,CACjD,CACT,EACA,CAAC9M,kBAAkB,IAAIe,eAAe,IAAItE,wBAAwB,iBACjE,IAAA5B,WAAA,CAAAmS,GAAA,EAACpS,uBAAA,CAAAsS,QAAQ;MACPzJ,IAAI,EAAC,QAAQ;MACbwJ,OAAO,EAAElD,cAAe;MACxBoD,QAAQ,EAAElK,iBAAiB,IAAI,CAACxB,MAAM,CAAChE,QAAQ,CAACuD,WAAW,CAAC,IAAI,EAAE,CAAC,CAACU,IAAI,CAAC,CAAE;MAC3E0L,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAC,SAAS;MACfC,IAAI,EAAC,OAAO;MAAAP,QAAA,EAEX9J,iBAAiB,GAAG,eAAe,GAAG;IAAkB,CACjD,CACX,EACA3G,SAAS,KAAK,MAAM,iBACnB,IAAAzB,WAAA,CAAAmS,GAAA;MACEvJ,IAAI,EAAC,QAAQ;MACbwJ,OAAO,EAAEA,CAAA,KAAM;QACb5O,4BAA4B,CAAC,KAAK,CAAC;QACnC+D,eAAe,CAAC,KAAK,CAAC;QACtBD,iBAAiB,CAAC,KAAK,CAAC;QACxBhE,0BAA0B,CAAC,IAAI,CAAC;QAChC6F,kBAAkB,CAAC;UAAEG,MAAM,EAAE;QAAK,CAAC,CAAC;QACpClH,OAAO,CAACD,IAAI,KAAK,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;MAC9D,CAAE;MACF8P,SAAS,EAAC,2BAA2B;MAAAC,QAAA,EAEpC/P,IAAI,KAAK,cAAc,GACtBkD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqN,mBAAmB,GAChCrN,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsN;IAAoB,CAC7B,CACT;EAAA,CACE,CACN;EAED,MAAMhI,qBAAqB,GAAGA,CAAA,KAC5B,OAAOL,QAAQ,KAAK,WAAW,GAAGA,QAAQ,CAACsI,cAAc,CAACzR,UAAU,CAACgF,WAAW,CAAC,CAAC,GAAG,IACtF;EAED,MAAMkE,2BAA2B,GAAGA,CAAA;IAAA,IAAAwI,sBAAA;IAAA,OAClCC,KAAK,CAACC,IAAI,CAAC,EAAAF,sBAAA,GAAArO,YAAY,CAACS,OAAO,cAAA4N,sBAAA,uBAApBA,sBAAA,CAAsBG,gBAAgB,CAAC5R,2BAA2B,CAAC,KAAI,EAAE,CAAC;EAAA,CACtF;EAED,MAAM6R,wBAAwB,GAAIpI,KAAK,IAAK;IAC1C,IAAIA,KAAK,CAACqI,GAAG,KAAK,WAAW,IAAIrI,KAAK,CAACqI,GAAG,KAAK,SAAS,EAAE;MACxD;IACF;IAEA,MAAM9I,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,EAAE;MAClC;IACF;IAEA6E,KAAK,CAACsI,cAAc,CAAC,CAAC;IAEtB,MAAMC,YAAY,GAAGvI,KAAK,CAACqI,GAAG,KAAK,SAAS,GAC1C9I,iBAAiB,CAACA,iBAAiB,CAACpE,MAAM,GAAG,CAAC,CAAC,GAC/CoE,iBAAiB,CAAC,CAAC,CAAC;IAEtBgJ,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAE5I,KAAK,CAAC,CAAC;EACvB,CAAC;EAED,MAAM6I,6BAA6B,GAAGA,CAACxI,KAAK,EAAEyI,KAAK,KAAK;IACtD,MAAMlJ,iBAAiB,GAAGC,2BAA2B,CAAC,CAAC;IAEvD,IAAID,iBAAiB,CAACpE,MAAM,KAAK,CAAC,EAAE;MAClC;IACF;IAEA,IAAI6E,KAAK,CAACqI,GAAG,KAAK,WAAW,EAAE;MAAA,IAAAK,kBAAA;MAC7B1I,KAAK,CAACsI,cAAc,CAAC,CAAC;MAEtB,IAAIG,KAAK,KAAKlJ,iBAAiB,CAACpE,MAAM,GAAG,CAAC,EAAE;QAAA,IAAAwN,sBAAA;QAC1C,CAAAA,sBAAA,GAAA7I,qBAAqB,CAAC,CAAC,cAAA6I,sBAAA,eAAvBA,sBAAA,CAAyBhJ,KAAK,CAAC,CAAC;QAChC;MACF;MAEA,CAAA+I,kBAAA,GAAAnJ,iBAAiB,CAACkJ,KAAK,GAAG,CAAC,CAAC,cAAAC,kBAAA,eAA5BA,kBAAA,CAA8B/I,KAAK,CAAC,CAAC;MACrC;IACF;IAEA,IAAIK,KAAK,CAACqI,GAAG,KAAK,SAAS,EAAE;MAAA,IAAAO,mBAAA;MAC3B5I,KAAK,CAACsI,cAAc,CAAC,CAAC;MAEtB,IAAIG,KAAK,KAAK,CAAC,EAAE;QAAA,IAAAI,sBAAA;QACf,CAAAA,sBAAA,GAAA/I,qBAAqB,CAAC,CAAC,cAAA+I,sBAAA,eAAvBA,sBAAA,CAAyBlJ,KAAK,CAAC,CAAC;QAChC;MACF;MAEA,CAAAiJ,mBAAA,GAAArJ,iBAAiB,CAACkJ,KAAK,GAAG,CAAC,CAAC,cAAAG,mBAAA,eAA5BA,mBAAA,CAA8BjJ,KAAK,CAAC,CAAC;MACrC;IACF;IAEA,IAAIK,KAAK,CAACqI,GAAG,KAAK,QAAQ,EAAE;MAAA,IAAAS,sBAAA;MAC1B9I,KAAK,CAACsI,cAAc,CAAC,CAAC;MACtB,CAAAQ,sBAAA,GAAAhJ,qBAAqB,CAAC,CAAC,cAAAgJ,sBAAA,eAAvBA,sBAAA,CAAyBnJ,KAAK,CAAC,CAAC;IAClC;EACF,CAAC;EAED,MAAMoJ,iBAAiB,GAAIC,aAAa,IAAK;IAC3C,IAAIlS,YAAY,EAAE;MAChB,OAAO,IAAI;IACb;IAEA,MAAMwI,2BAA2B,GAC/BjE,eAAe,IACf3C,yBAAyB,KACxB,CAAC4B,kBAAkB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC4B,QAAQ,CAAC1D,uBAAuB,CAAC,CAAC;IAC/E,MAAMyQ,mBAAmB,GACvB3J,2BAA2B,IAC3B,CAAC/B,iBAAiB,IAClBD,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClC,CAAC7B,sBAAsB,KACtBd,uBAAuB,KAAK,KAAK,IAAIwB,uBAAuB,CAACI,OAAO,CAAC;IAExE,IAAI,CAAC4O,aAAa,EAAE;MAClB,OAAO,IAAI;IACb;IAEA,IAAI9L,OAAO,IAAI5C,kBAAkB,EAAE;MACjC,oBAAO,IAAAnF,WAAA,CAAAmS,GAAA;QAAKF,SAAS,EAAC;MAA4B,CAAE,CAAC;IACvD;IAEA,IAAInK,WAAW,CAAC9B,MAAM,GAAG,CAAC,IAAI,CAACxD,eAAe,IAAI2C,kBAAkB,EAAE;MACpE,oBACE,IAAAnF,WAAA,CAAAmS,GAAA;QACE4B,GAAG,EAAEtP,kBAAmB;QACxBwN,SAAS,EAAC,8DAA8D;QAAAC,QAAA,EACvEpK,WAAW,CAACkM,GAAG,CAAC,CAAC1E,UAAU,EAAEgE,KAAK,kBACjC,IAAAtT,WAAA,CAAAmS,GAAA;UAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9BqB,KAAK,GAAGxL,WAAW,CAAC9B,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CAC9E,CAACkB,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAE;UAAA+K,QAAA,eAE5B,IAAAlS,WAAA,CAAAmS,GAAA;YACEvJ,IAAI,EAAC,QAAQ;YACbwJ,OAAO,EAAEA,CAAA,KAAMtE,YAAY,CAACwB,UAAU,CAAE;YACxC2E,SAAS,EAAGpJ,KAAK,IAAKwI,6BAA6B,CAACxI,KAAK,EAAEyI,KAAK,CAAE;YAClErB,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAEzC5C,UAAU,CAACtB;UAAW,CACjB;QAAC,GAbJqB,gBAAgB,CAACC,UAAU,CAc9B,CACL;MAAC,CACA,CAAC;IAET;IAEA,IAAInF,2BAA2B,IAAIhC,qBAAqB,CAACnC,MAAM,GAAG,CAAC,EAAE;MACnE,oBACE,IAAAhG,WAAA,CAAAmS,GAAA;QAAIF,SAAS,EAAC,oEAAoE;QAAAC,QAAA,EAC/E/J,qBAAqB,CAAC6L,GAAG,CAAC,CAAC1E,UAAU,EAAEgE,KAAK;UAAA,IAAAY,uBAAA;UAAA,oBAC3C,IAAAlU,WAAA,CAAAmS,GAAA;YAEEF,SAAS,EAAE,CACT,8BAA8B,EAC9B,EAAAiC,uBAAA,GAAA5E,UAAU,CAACxF,iBAAiB,cAAAoK,uBAAA,uBAA5BA,uBAAA,CAA8BnK,IAAI,MAAK,cAAc,GACnD,4CAA4C,GAAG,EAAE,EACnDuJ,KAAK,GAAGnL,qBAAqB,CAACnC,MAAM,GAAG,CAAC,GAAG,uCAAuC,GAAG,EAAE,CACxF,CAACkB,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAE;YAAA+K,QAAA,eAE5B,IAAAlS,WAAA,CAAAgS,IAAA;cACEpJ,IAAI,EAAC,QAAQ;cACbwJ,OAAO,EAAEA,CAAA,KAAMnE,sBAAsB,CAACqB,UAAU,CAAE;cAClD2E,SAAS,EAAGpJ,KAAK,IAAKwI,6BAA6B,CAACxI,KAAK,EAAEyI,KAAK,CAAE;cAClErB,SAAS,EAAC,gCAAgC;cAAAC,QAAA,gBAE1C,IAAAlS,WAAA,CAAAmS,GAAA;gBAAKF,SAAS,EAAC,+BAA+B;gBAAAC,QAAA,EAC3C/B,6BAA6B,CAACb,UAAU;cAAC,CACvC,CAAC,eACN,IAAAtP,WAAA,CAAAmS,GAAA;gBAAKF,SAAS,EAAC,kCAAkC;gBAAAC,QAAA,EAC9C5C,UAAU,CAACtB;cAAW,CACpB,CAAC,eACN,IAAAhO,WAAA,CAAAmS,GAAA;gBAAKF,SAAS,EAAC,kCAAkC;gBAAAC,QAAA,EAC9CjB,+BAA+B,CAAC3B,UAAU;cAAC,CACzC,CAAC;YAAA,CACA;UAAC,GAvBJG,0BAA0B,CAACH,UAAU,CAwBxC,CAAC;QAAA,CACN;MAAC,CACA,CAAC;IAET;IAEA,IAAIwE,mBAAmB,EAAE;MACvB,oBACE,IAAA9T,WAAA,CAAAmS,GAAA;QAAKF,SAAS,EAAC,4BAA4B;QAAAC,QAAA,EACxC7M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8O;MAAa,CACxB,CAAC;IAEV;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAAnP,gBAAS,EAAC,MAAM;IACd,IACE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC+B,QAAQ,CAAC1D,uBAAuB,CAAC,IACzD8E,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClClB,6BAA6B,CAACG,OAAO,EACrC;MACAgJ,sBAAsB,CAAC9F,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;IAEA,IACE9E,uBAAuB,KAAK,SAAS,IACrC8E,qBAAqB,CAACnC,MAAM,KAAK,CAAC,IAClClB,6BAA6B,CAACG,OAAO,IACrC0E,mCAAmC,CAACxB,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAC7D;MACA8F,sBAAsB,CAAC9F,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClD;EACF,CAAC,EAAE,CAACA,qBAAqB,EAAE9E,uBAAuB,CAAC,CAAC;EAEpD,MAAM+Q,WAAW,GAAIhF,WAAW,IAAK;IACnC,MAAMyE,aAAa,GAAGzE,WAAW,CAAClO,KAAK,KAAKiF,WAAW;IACvD,MAAMkO,OAAO,GAAGlT,UAAU,CAACiO,WAAW,CAAClO,KAAK,CAAC;IAC7C,MAAMoT,UAAU,GAAG/O,gBAAgB,GAAG,EAAE,GAAI,CAAAF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG+J,WAAW,CAAClO,KAAK,CAAC,KAAIkO,WAAW,CAACmF,KAAM;IAClG,MAAMC,UAAU,GAAGvH,oBAAoB,CAACmC,WAAW,CAAClO,KAAK,CAAC;IAC1D,MAAMuT,SAAS,GAAGpH,oBAAoB,CAAC+B,WAAW,CAAClO,KAAK,CAAC;IACzD,MAAMwT,UAAU,GAAG/S,YAAY,IAAM,CAACyN,WAAW,CAACuF,QAAQ,IAAI,CAACd,aAAa,IAAK1O,kBAAmB;IACpG,MAAMyP,UAAU,GAAGxF,WAAW,CAACyF,KAAK,KAAK,MAAM,GAC7C,MAAM,GACLzF,WAAW,CAACyF,KAAK,KAAK,OAAO,GAAG,YAAY,GAAG,KAAM;IACxD,MAAMC,cAAc,GAAG,CACrB,0BAA0B,EAC1BJ,UAAU,GAAG,oCAAoC,GAAG,EAAE,EACtDb,aAAa,IAAI9L,OAAO,GAAG,mCAAmC,GAAG,EAAE,CACpE,CAACb,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC;IAC3B,MAAM4N,iBAAiB,GAAG,CACxB,8BAA8B,EAC9BlB,aAAa,GAAG,EAAE,GAAG,qCAAqC,CAC3D,CAAC3M,MAAM,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC;IAE3B,oBACE,IAAAnH,WAAA,CAAAgS,IAAA;MAEEC,SAAS,EAAC,0BAA0B;MACpC+C,KAAK,EAAE;QAAEH,KAAK,EAAED;MAAW,CAAE;MAAA1C,QAAA,gBAE7B,IAAAlS,WAAA,CAAAgS,IAAA;QAAKC,SAAS,EAAE8C,iBAAkB;QAAA7C,QAAA,gBAChC,IAAAlS,WAAA,CAAAgS,IAAA;UACEiD,OAAO,EAAEZ,OAAQ;UACjBpC,SAAS,EAAC,2EAA2E;UAAAC,QAAA,GAEpFoC,UAAU,EACVlF,WAAW,CAAC8F,QAAQ,IAAI,CAAC3P,gBAAgB,iBACxC,IAAAvF,WAAA,CAAAmS,GAAA;YACE,eAAY,MAAM;YAClBF,SAAS,EAAC,uBAAuB;YAAAC,QAAA,EAEhC;UAAI,CACD,CACP;QAAA,CACI,CAAC,EACP2B,aAAa,IAAI,CAAClS,YAAY,IAAIoQ,mBAAmB,CAAC,CAAC;MAAA,CACrD,CAAC,eACN,IAAA/R,WAAA,CAAAmS,GAAA,EAACpS,uBAAA,CAAAoV,YAAY;QACXC,EAAE,EAAEf,OAAQ;QACZzL,IAAI,EAAC,MAAM;QACXuD,KAAK,EAAEvJ,QAAQ,CAACwM,WAAW,CAAClO,KAAK,CAAC,IAAI,EAAG;QACzC,gBAAc2L,oBAAoB,CAACuC,WAAW,CAAClO,KAAK,CAAC,GAAG,MAAM,GAAGuF,SAAU;QAC3E4O,UAAU,EAAEZ,SAAS,GAAG,OAAO,GAAGhO,SAAU;QAC5C6O,UAAU,EAAEd,UAAU,IAAI/N,SAAU;QACpCyO,QAAQ,EAAE9F,WAAW,CAAC8F,QAAS;QAC/BK,MAAM,EAAEA,CAAA,KAAMvI,eAAe,CAACoC,WAAW,CAAClO,KAAK,CAAE;QACjD+S,SAAS,EAAEJ,aAAa,IAAI,CAAClS,YAAY,GAAGsR,wBAAwB,GAAGxM,SAAU;QACjF+O,QAAQ,EAAGvV,CAAC,IAAK;UACf,MAAMwV,QAAQ,GAAG,IAAAC,mCAAuB,EAACzV,CAAC,CAAC+K,MAAM,CAACmB,KAAK,EAAEiD,WAAW,CAACuG,iBAAiB,CAAC;UACvF,IAAIhU,YAAY,EAAE;YAChB;UACF;UACA,IAAIkS,aAAa,IAAI1O,kBAAkB,EAAE;YACvC+G,iBAAiB,CAAC;cAAE,GAAGjM,CAAC;cAAE+K,MAAM,EAAE;gBAAE,GAAG/K,CAAC,CAAC+K,MAAM;gBAAEmB,KAAK,EAAEsJ;cAAS;YAAE,CAAC,CAAC;UACvE,CAAC,MAAM;YACLnI,yBAAyB,CAAC8B,WAAW,CAAClO,KAAK,EAAEuU,QAAQ,CAAC;UACxD;QACF,CAAE;QACFG,UAAU,EAAE;UACVC,QAAQ,EAAEnB;QACZ,CAAE;QACFoB,UAAU,EAAE;UACVjH,SAAS,EAAEO,WAAW,CAACP,SAAS;UAChC,aAAa,EAAE5N,cAAc,CAACmO,WAAW,CAAClO,KAAK;QACjD,CAAE;QACF+Q,SAAS,EAAE6C;MAAe,CAC3B,CAAC,EACDlB,iBAAiB,CAACC,aAAa,CAAC;IAAA,GAnD5B1E,WAAW,CAACC,WAAW,CAoDzB,CAAC;EAEV,CAAC;EAED,MAAM2G,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,MAAM3H,MAAM,GAAGnI,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEF,eAAe;IAEnD,IAAI,EAACqI,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEpI,MAAM,GAAE;MACnB,IAAIJ,aAAa,EAAE;QACjB,oBAAO,IAAA5F,WAAA,CAAAmS,GAAA;UAAAD,QAAA,EAAM7M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE2Q;QAAkB,CAAM,CAAC;MACrD;MAEA,oBAAO,IAAAhW,WAAA,CAAAgS,IAAA;QAAAE,QAAA,GAAK,sCAAoC,EAAC5Q,WAAW;MAAA,CAAM,CAAC;IACrE;IAEA,oBACE,IAAAtB,WAAA,CAAAmS,GAAA,EAAAnS,WAAA,CAAAiW,QAAA;MAAA/D,QAAA,EACG9D,MAAM,CAAC4F,GAAG,CAACI,WAAW;IAAC,CACxB,CAAC;EAEP,CAAC;EAED,oBACE,IAAApU,WAAA,CAAAgS,IAAA;IAAK+B,GAAG,EAAEvP,YAAa;IAACyN,SAAS,EAAC,0BAA0B;IAAAC,QAAA,GACzDjO,kBAAkB,iBAAI,IAAAjE,WAAA,CAAAmS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAEzJ;IAAkB,CAAM,CAAC,EAC5FxF,WAAW,iBAAI,IAAAjD,WAAA,CAAAmS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EAAEjP;IAAW,CAAM,CAAC,EAC9EiD,eAAe,IAAI/B,sBAAsB,iBACxC,IAAAnE,WAAA,CAAAmS,GAAA;MAAKF,SAAS,EAAC,4BAA4B;MAAAC,QAAA,EACxCvJ;IAAsB,CACpB,CACN,eAED,IAAA3I,WAAA,CAAAmS,GAAA;MAAKF,SAAS,EAAC,yBAAyB;MAAAC,QAAA,EACrC6D,iBAAiB,CAAC;IAAC,CACjB,CAAC,EACLvO,YAAY,iBACX,IAAAxH,WAAA,CAAAmS,GAAA;MACEF,SAAS,EAAC,mCAAmC;MAC7CG,OAAO,EAAEA,CAAA,KAAM7K,eAAe,CAAC,KAAK,CAAE;MAAA2K,QAAA,eAEtC,IAAAlS,WAAA,CAAAgS,IAAA;QACEC,SAAS,EAAC,0BAA0B;QACpCiE,IAAI,EAAC,QAAQ;QACb,cAAW,MAAM;QACjB,cAAY7Q,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8Q,eAAgB;QACzC/D,OAAO,EAAGvH,KAAK,IAAKA,KAAK,CAACuL,eAAe,CAAC,CAAE;QAAAlE,QAAA,gBAE5C,IAAAlS,WAAA,CAAAgS,IAAA;UAAKC,SAAS,EAAC,iCAAiC;UAAAC,QAAA,gBAC9C,IAAAlS,WAAA,CAAAmS,GAAA;YAAKF,SAAS,EAAC,gCAAgC;YAAAC,QAAA,EAC5C7M,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE8Q;UAAe,CAC1B,CAAC,eACN,IAAAnW,WAAA,CAAAmS,GAAA;YACEvJ,IAAI,EAAC,QAAQ;YACbqJ,SAAS,EAAC,2BAA2B;YACrC,cAAW,OAAO;YAClBG,OAAO,EAAEA,CAAA,KAAM7K,eAAe,CAAC,KAAK,CAAE;YAAA2K,QAAA,EACvC;UAED,CAAQ,CAAC;QAAA,CACN,CAAC,eACN,IAAAlS,WAAA,CAAAmS,GAAA;UAAK4B,GAAG,EAAE3M,eAAgB;UAAC6K,SAAS,EAAC;QAAwB,CAAE,CAAC;MAAA,CAC7D;IAAC,CACH,CACN;EAAA,CACE,CAAC;AAEV,CAAC;AAED5Q,iBAAiB,CAACgV,SAAS,GAAG;EAC5B/U,WAAW,EAAEgV,kBAAS,CAACC,MAAM,CAACC,UAAU;EACxCjV,QAAQ,EAAE+U,kBAAS,CAACG,IAAI;EACxBjV,cAAc,EAAEkV,mCAAe;EAC/BjV,SAAS,EAAE6U,kBAAS,CAACK,KAAK,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;EAC9DjV,iBAAiB,EAAE4U,kBAAS,CAACM,IAAI;EACjCjV,YAAY,EAAE2U,kBAAS,CAACM,IAAI;EAC5BhV,wBAAwB,EAAE0U,kBAAS,CAACM,IAAI;EACxC/U,mBAAmB,EAAEyU,kBAAS,CAACO,MAAM;EACrC/U,QAAQ,EAAEwU,kBAAS,CAACC,MAAM;EAC1BxU,OAAO,EAAE+U,wCAAoB;EAC7B9U,cAAc,EAAE+U,0CAAsB;EACtC9U,eAAe,EAAEqU,kBAAS,CAACM;AAC7B,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAA9W,OAAA,GAEakB,iBAAiB","ignoreList":[]}
|
|
@@ -52,6 +52,7 @@ const LOOKUP_LIST_BUTTON_SELECTOR = '.ns-address-lookup__list-button';
|
|
|
52
52
|
const SmartyUSResults = ({
|
|
53
53
|
onSelect,
|
|
54
54
|
initialAddress = null,
|
|
55
|
+
entryMode = 'both',
|
|
55
56
|
requireValidation = true,
|
|
56
57
|
readOnlyView = false,
|
|
57
58
|
showManualValidateButton = false,
|
|
@@ -62,7 +63,7 @@ const SmartyUSResults = ({
|
|
|
62
63
|
deferFormLookup = false
|
|
63
64
|
}) => {
|
|
64
65
|
var _formDefinition$addre;
|
|
65
|
-
const [mode, setMode] = (0, _react.useState)('autocomplete');
|
|
66
|
+
const [mode, setMode] = (0, _react.useState)(entryMode === 'manual' ? 'manual' : 'autocomplete');
|
|
66
67
|
const [query, setQuery] = (0, _react.useState)('');
|
|
67
68
|
const [selectedAddress, setSelectedAddress] = (0, _react.useState)(null);
|
|
68
69
|
const [selectedUSAddress, setSelectedUSAddress] = (0, _react.useState)(null);
|
|
@@ -352,6 +353,22 @@ const SmartyUSResults = ({
|
|
|
352
353
|
document.removeEventListener('pointerdown', handleDocumentMouseDown);
|
|
353
354
|
};
|
|
354
355
|
}, [hasPendingLookupDraft, suggestions]);
|
|
356
|
+
(0, _react.useEffect)(() => {
|
|
357
|
+
if (isAutocompleteMode || !showValidationSuggestions || validationLoading || validationSuggestions.length === 0) {
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
const handleDocumentPointerDown = event => {
|
|
361
|
+
var _componentRef$current;
|
|
362
|
+
if ((_componentRef$current = componentRef.current) !== null && _componentRef$current !== void 0 && _componentRef$current.contains(event.target)) {
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
setShowValidationSuggestions(false);
|
|
366
|
+
};
|
|
367
|
+
document.addEventListener('pointerdown', handleDocumentPointerDown);
|
|
368
|
+
return () => {
|
|
369
|
+
document.removeEventListener('pointerdown', handleDocumentPointerDown);
|
|
370
|
+
};
|
|
371
|
+
}, [isAutocompleteMode, showValidationSuggestions, validationLoading, validationSuggestions]);
|
|
355
372
|
(0, _react.useEffect)(() => {
|
|
356
373
|
if (selectedAddress) {
|
|
357
374
|
const selectionKey = selectedAddress.street_line ? `${selectedAddress.street_line}|${selectedAddress.secondary || ''}|${selectedAddress.zipcode || ''}` : JSON.stringify(selectedAddress);
|
|
@@ -701,7 +718,7 @@ const SmartyUSResults = ({
|
|
|
701
718
|
color: "primary",
|
|
702
719
|
size: "small",
|
|
703
720
|
children: validationLoading ? 'Validating...' : 'Validate Address'
|
|
704
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
721
|
+
}), entryMode === 'both' && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
705
722
|
type: "button",
|
|
706
723
|
onClick: () => {
|
|
707
724
|
setShowValidationSuggestions(false);
|
|
@@ -718,8 +735,8 @@ const SmartyUSResults = ({
|
|
|
718
735
|
});
|
|
719
736
|
const getLookupInputElement = () => typeof document !== 'undefined' ? document.getElementById(getFieldId(lookupField)) : null;
|
|
720
737
|
const getVisibleSuggestionButtons = () => {
|
|
721
|
-
var _componentRef$
|
|
722
|
-
return Array.from(((_componentRef$
|
|
738
|
+
var _componentRef$current2;
|
|
739
|
+
return Array.from(((_componentRef$current2 = componentRef.current) === null || _componentRef$current2 === void 0 ? void 0 : _componentRef$current2.querySelectorAll(LOOKUP_LIST_BUTTON_SELECTOR)) || []);
|
|
723
740
|
};
|
|
724
741
|
const handleLookupInputKeyDown = event => {
|
|
725
742
|
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {
|
|
@@ -799,25 +816,28 @@ const SmartyUSResults = ({
|
|
|
799
816
|
if (shouldShowValidationResults && validationSuggestions.length > 0) {
|
|
800
817
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
801
818
|
className: "ns-address-lookup__list ns-address-lookup__list--validation-inline",
|
|
802
|
-
children: validationSuggestions.map((suggestion, index) =>
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
className: "ns-address-lookup__list-
|
|
811
|
-
children:
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
819
|
+
children: validationSuggestions.map((suggestion, index) => {
|
|
820
|
+
var _suggestion$validatio17;
|
|
821
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
822
|
+
className: ['ns-address-lookup__list-item', ((_suggestion$validatio17 = suggestion.validationSummary) === null || _suggestion$validatio17 === void 0 ? void 0 : _suggestion$validatio17.code) === 'not-confirmed' ? 'ns-address-lookup__list-item--not-verified' : '', index < validationSuggestions.length - 1 ? 'ns-address-lookup__list-item--divided' : ''].filter(Boolean).join(' '),
|
|
823
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
|
824
|
+
type: "button",
|
|
825
|
+
onClick: () => handleValidationSelect(suggestion),
|
|
826
|
+
onKeyDown: event => handleSuggestionButtonKeyDown(event, index),
|
|
827
|
+
className: "ns-address-lookup__list-button",
|
|
828
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
829
|
+
className: "ns-address-lookup__list-title",
|
|
830
|
+
children: getValidationSummaryTitle(suggestion)
|
|
831
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
832
|
+
className: "ns-address-lookup__list-subtitle",
|
|
833
|
+
children: suggestion.displayText
|
|
834
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
835
|
+
className: "ns-address-lookup__list-subtitle",
|
|
836
|
+
children: getValidationSummaryMessage(suggestion)
|
|
837
|
+
})]
|
|
838
|
+
})
|
|
839
|
+
}, getValidationSuggestionKey(suggestion));
|
|
840
|
+
})
|
|
821
841
|
});
|
|
822
842
|
}
|
|
823
843
|
if (shouldShowNoResults) {
|
|
@@ -967,6 +987,7 @@ const SmartyUSResults = ({
|
|
|
967
987
|
SmartyUSResults.propTypes = {
|
|
968
988
|
onSelect: _propTypes.default.func,
|
|
969
989
|
initialAddress: _componentPropTypes.addressPropType,
|
|
990
|
+
entryMode: _propTypes.default.oneOf(['both', 'autocomplete', 'manual']),
|
|
970
991
|
requireValidation: _propTypes.default.bool,
|
|
971
992
|
readOnlyView: _propTypes.default.bool,
|
|
972
993
|
showManualValidateButton: _propTypes.default.bool,
|