(()=>{function e(){var n,r,o="function"==typeof Symbol?Symbol:{},c=o.iterator||"@@iterator",a=o.toStringTag||"@@toStringTag";function i(e,o,c,a){var i=o&&o.prototype instanceof l?o:l,s=Object.create(i.prototype);return t(s,"_invoke",function(e,t,o){var c,a,i,l=0,s=o||[],p=!1,f={p:0,n:0,v:n,a:P,f:P.bind(n,4),d:function(e,t){return c=e,a=0,i=n,f.n=t,u}};function P(e,t){for(a=e,i=t,r=0;!p&&l&&!o&&r3?(o=d===t)&&(i=c[(a=c[4])?5:(a=3,3)],c[4]=c[5]=n):c[0]<=P&&((o=e<2&&Pt||t>d)&&(c[4]=e,c[5]=t,f.n=d,a=0))}if(o||e>1)return u;throw p=!0,t}return function(o,s,d){if(l>1)throw TypeError("Generator is already running");for(p&&1===s&&P(s,d),a=s,i=d;(r=a<2?n:i)||!p;){c||(a?a<3?(a>1&&(f.n=-1),P(a,i)):f.n=i:f.v=i);try{if(l=2,c){if(a||(o="next"),r=c[o]){if(!(r=r.call(c,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=c.return)&&r.call(c),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);c=n}else if((r=(p=f.n<0)?i:e.call(t,f))!==u)break}catch(e){c=n,a=1,i=e}finally{l=1}}return{value:r,done:p}}}(e,c,a),!0),s}var u={};function l(){}function s(){}function p(){}r=Object.getPrototypeOf;var f=[][c]?r(r([][c]())):(t(r={},c,function(){return this}),r),P=p.prototype=l.prototype=Object.create(f);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,t(e,a,"GeneratorFunction")),e.prototype=Object.create(P),e}return s.prototype=p,t(P,"constructor",p),t(p,"constructor",s),s.displayName="GeneratorFunction",t(p,a,"GeneratorFunction"),t(P),t(P,a,"Generator"),t(P,c,function(){return this}),t(P,"toString",function(){return"[object Generator]"}),(e=function(){return{w:i,m:d}})()}function t(e,n,r,o){var c=Object.defineProperty;try{c({},"",{})}catch(e){c=0}t=function(e,n,r,o){function a(n,r){t(e,n,function(e){return this._invoke(n,r,e)})}n?c?c(e,n,{value:r,enumerable:!o,configurable:!o,writable:!o}):e[n]=r:(a("next",0),a("throw",1),a("return",2))},t(e,n,r,o)}function n(e,t,n,r,o,c,a){try{var i=e[c](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,o)}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,u,"next",e)}function u(e){n(a,o,c,i,u,"throw",e)}i(void 0)})}}!function(t){"use strict";var n=window.ppcpRecaptchaSettings||{},o=null,c=null,a=null,i=!1,u=null;function l(){return new Promise(function(e){"undefined"!=typeof grecaptcha&&grecaptcha.execute?(console.log("PPCP reCAPTCHA: reCAPTCHA v3 loaded and ready"),e()):(console.log("PPCP reCAPTCHA: Waiting for reCAPTCHA v3 to load..."),setTimeout(function(){l().then(e)},100))})}function s(){return window.wp&&window.wp.data?window.wp.data:null}function p(e,t){var n=s(),r=n&&n.dispatch("wc/store/checkout");r&&r.__internalSetExtensionData("ppcp_recaptcha",{token:e,version:t})}function f(e,r){u={token:e,version:r},function(e,r){var o=n.isSingleProduct?"form.cart":n.isCheckout?"form.checkout":null;if(o){var c=t(o);0!==c.length&&(c.find('input[name="ppcp_recaptcha_token"]').remove(),c.find('input[name="ppcp_recaptcha_version"]').remove(),c.append(''),c.append(''))}}(e,r),p(e,r)}function P(e){console.log("PPCP reCAPTCHA: Checkout error detected");var t=e&&("string"==typeof e?e.toLowerCase().includes("captcha"):e.some(function(e){return e.content&&e.content.toLowerCase().includes("captcha")}));i?null!==a&&"undefined"!=typeof grecaptcha&&grecaptcha.reset&&(console.log("PPCP reCAPTCHA: Resetting v2 widget"),grecaptcha.reset(a),c=null):t?(console.log("PPCP reCAPTCHA: v3 failed on checkout, rendering v2"),C()):n.siteKeyV3&&(console.log("PPCP reCAPTCHA: Regenerating v3 token"),d())}function d(){return v.apply(this,arguments)}function v(){return(v=r(e().m(function t(){var r;return e().w(function(e){for(;;)switch(e.p=e.n){case 0:if("undefined"!=typeof grecaptcha&&grecaptcha.execute){e.n=1;break}return console.error("PPCP reCAPTCHA: grecaptcha v3 not loaded"),e.a(2);case 1:return e.p=1,e.n=2,grecaptcha.execute(n.siteKeyV3,{action:"ppcp"});case 2:o=e.v,console.log("PPCP reCAPTCHA: New v3 token generated"),f(o,"v3"),e.n=4;break;case 3:e.p=3,r=e.v,console.error("PPCP reCAPTCHA: Failed to generate v3 token",r),o=null;case 4:return e.a(2)}},t,null,[[1,3]])}))).apply(this,arguments)}function C(){if(!i&&n.siteKeyV2){var e=document.getElementById(n.v2ContainerId);if(e)if("undefined"!=typeof grecaptcha&&grecaptcha.render){e.innerHTML="";var t=document.createElement("div");t.className="g-recaptcha",t.setAttribute("data-sitekey",n.siteKeyV2),t.setAttribute("data-theme",n.theme),e.appendChild(t),a=grecaptcha.render(t,{sitekey:n.siteKeyV2,theme:n.theme,callback:function(e){c=e,console.log("PPCP reCAPTCHA: v2 verified"),f(e,"v2")},"expired-callback":function(){c=null,f("","v2")}}),i=!0}else console.error("PPCP reCAPTCHA: grecaptcha v2 not loaded");else console.error("PPCP reCAPTCHA: v2 container not found")}}var h=window.fetch;window.fetch=function(){var t=r(e().m(function t(r){var u,l,s,p,f,P=arguments;return e().w(function(e){for(;;)switch(e.n){case 0:if(u=P.length>1&&void 0!==P[1]?P[1]:{},(l="string"==typeof r?r:r.url)&&l.includes("ppc-create-order")){e.n=1;break}return e.a(2,h.call(this,r,u));case 1:if(console.log("PPCP reCAPTCHA: Intercepting AJAX",l),i&&c?(s=c,p="v2"):(s=o,p="v3"),s){e.n=2;break}return console.error("PPCP reCAPTCHA: No token available"),e.a(2,Promise.reject(new Error("Missing reCAPTCHA token")));case 2:try{(f=JSON.parse(u.body)).ppcp_recaptcha_token=s,f.ppcp_recaptcha_version=p,u.body=JSON.stringify(f),console.log("PPCP reCAPTCHA: Token injected",p)}catch(e){console.error("PPCP reCAPTCHA: Failed to inject token",e)}return e.a(2,h.call(this,r,u).then(function(e){return 403!==e.status&&400!==e.status||e.clone().json().then(function(e){e.data.code===n.errorCodeVerificationFailed&&(i?(console.log("PPCP reCAPTCHA: v2 verification failed, resetting v2 widget"),grecaptcha.reset(a),c=null):(console.log("PPCP reCAPTCHA: v3 failed, rendering v2"),C()))}),e}))}},t,this)}));return function(_x){return t.apply(this,arguments)}}(),t(document).ready(function(){!function(){var e=s();if(e){var n=e.subscribe,r=e.select,o=!1,c=!1;n(function(){var e=r("wc/store/checkout");if(e){c||(c=!0,u&&p(u.token,u.version));var n=e.hasError();n&&!o&&(console.log("PPCP reCAPTCHA: Block checkout error detected"),setTimeout(function(){var e=t(".wc-block-components-notice-banner__content");if(e.length>0){var n=e.text();console.log("PPCP reCAPTCHA: Error message extracted:",n),P(n)}else console.error("PPCP reCAPTCHA: Error banner not found in DOM")},100)),o=n}})}}(),n.siteKeyV3&&l().then(function(){console.log("PPCP reCAPTCHA: Pre-generating v3 token"),d(),setInterval(d,9e4)})}),n.isCheckout&&t(document.body).on("checkout_error",function(){P(t(".woocommerce-error, .woocommerce-NoticeGroup-checkout").text())})}(jQuery)})();