!function(){window.wc=window.wc||{},window.wc.addressAutocomplete=window.wc.addressAutocomplete||{providers:{},activeProvider:{billing:null,shipping:null},serverProviders:[]};let e=[];try{let o=null;if(window&&window.wc_address_autocomplete_common_params?o=window.wc_address_autocomplete_common_params:window&&window.wc_address_autocomplete_params&&(o=window.wc_address_autocomplete_params),o&&o.address_providers){const r=o.address_providers;if("string"==typeof r){const o=JSON.parse(r);e=Array.isArray(o)?o:[]}else Array.isArray(r)&&(e=r)}}catch(r){console.error("Invalid address providers JSON:",r)}window.wc.addressAutocomplete.serverProviders=e,window.wc.addressAutocomplete.registerAddressAutocompleteProvider=function(e){try{if(!e||"object"!=typeof e)throw new Error("Address provider must be a valid object");if(!e.id||"string"!=typeof e.id)throw new Error("Address provider must have a valid ID");if("function"!=typeof e.canSearch)throw new Error("Address provider must have a canSearch function");if("function"!=typeof e.search)throw new Error("Address provider must have a search function");if("function"!=typeof e.select)throw new Error("Address provider must have a select function");const o=window.wc.addressAutocomplete.serverProviders;if(!Array.isArray(o))throw new Error("Server providers configuration is invalid");if(!o.some(function(r){return r&&"object"==typeof r&&"string"==typeof r.id&&r.id===e.id}))throw new Error("Provider "+e.id+" not registered on server");return window.wc.addressAutocomplete.providers[e.id]?(console.warn('Address provider with ID "'+e.id+'" is already registered.'),!1):(Object.freeze(e),window.wc.addressAutocomplete.providers[e.id]=e,window.wp&&window.wp.data&&window.wp.data.dispatch&&window.wc&&window.wc.wcBlocksData&&window.wc.wcBlocksData.checkoutStore&&window.wp.data.dispatch(window.wc.wcBlocksData.checkoutStore).addAddressAutocompleteProvider(e.id),!0)}catch(r){return console.error("Error registering address provider:",r.message),!1}},window.wc.addressAutocomplete.getServerProvider=function(e){const r=window.wc.addressAutocomplete.serverProviders;return Array.isArray(r)&&r.find(function(r){return r&&r.id===e})||null},window.wc.addressAutocomplete.getProviders=function(){return window.wc.addressAutocomplete.providers},window.wc.addressAutocomplete.getActiveProvider=function(e){return window.wc.addressAutocomplete.activeProvider[e]||null},window.wc.addressAutocomplete.setActiveProvider=function(e,r){window.wc.addressAutocomplete.activeProvider[e]=r},window.wc.addressAutocomplete.isBlocksContext=function(){return!!(window.wc&&window.wc.wcSettings&&window.wc.wcSettings.allSettings&&window.wc.wcSettings.allSettings.isCheckoutBlock)}}();