Pixel Manager for WooCommerce – Track Google Analytics, Google Ads, Facebook and more - Version 1.17.10

Version Description

21.06.2022

  • Tweak: Bumped up Facebook API version to v14.0
  • Tweak: Changed some jQuery event listeners to work around some themes / plugins that stop propagation of those events
  • Tweak: Prevent console error on purchase confirmation page when Google Ads is disabled
  • Tweak: Added product and value info to Facebook InitiateCheckout event
  • Tweak: Refactored getting product details for add-to-cart event plus added condition for variable-subscription
  • Tweak: Adjusted price output for wpmDataLayer products to two decimals
Download this release

Release Info

Developer alekv
Plugin Icon 128x128 Pixel Manager for WooCommerce – Track Google Analytics, Google Ads, Facebook and more
Version 1.17.10
Comparing to
See all releases

Code changes from version 1.17.9 to 1.17.10

Files changed (59) hide show
  1. classes/pixels/google/class-google.php +1 -0
  2. classes/pixels/trait-product.php +1 -1
  3. js/public/wpm-public.p1.min.js +1 -1
  4. js/public/wpm-public.p1.min.js.map +1 -1
  5. languages/woocommerce-google-adwords-conversion-tracking-tag.pot +6 -6
  6. readme.txt +17 -5
  7. vendor/composer/InstalledVersions.php +7 -7
  8. vendor/composer/installed.json +14 -14
  9. vendor/composer/installed.php +13 -13
  10. vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt +1 -1
  11. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php +1 -0
  12. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/237.php +1 -0
  13. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/380.php +1 -0
  14. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php +2 -1
  15. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/420.php +4 -5
  16. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php +5 -0
  17. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/675.php +1 -0
  18. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php +3 -1
  19. vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php +1 -0
  20. vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php +1 -0
  21. vendor/giggsey/libphonenumber-for-php/src/carrier/data/uk/380.php +1 -0
  22. vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php +3 -1
  23. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberAlternateFormats_380.php +2 -2
  24. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberAlternateFormats_49.php +3 -3
  25. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php +3 -3
  26. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php +12 -4
  27. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php +2 -2
  28. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php +1 -1
  29. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php +1 -1
  30. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EH.php +1 -1
  31. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php +1 -1
  32. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php +1 -1
  33. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php +1 -1
  34. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php +1 -1
  35. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php +1 -1
  36. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php +3 -3
  37. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php +1 -1
  38. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php +6 -6
  39. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php +4 -4
  40. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php +1 -1
  41. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php +1 -1
  42. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php +1 -1
  43. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php +1 -1
  44. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php +8 -8
  45. vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php +29 -5
  46. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php +385 -5
  47. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php +1 -0
  48. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php +1 -1
  49. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php +115 -1
  50. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/34.php +2 -2
  51. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php +19 -21
  52. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/54.php +1 -0
  53. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php +80 -229
  54. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/34.php +2 -0
  55. vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/212.php +1 -1
  56. vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php +10 -1
  57. vendor/symfony/polyfill-iconv/README.md +1 -1
  58. vendor/symfony/polyfill-iconv/composer.json +1 -1
  59. wgact.php +3 -4
classes/pixels/google/class-google.php CHANGED
@@ -281,6 +281,7 @@ class Google extends Pixel
281
  return '';
282
  }
283
 
 
284
  public function get_google_ads_enhanced_conversion_data( $order )
285
  {
286
  $customer_data = [];
281
  return '';
282
  }
283
 
284
+ // https://support.google.com/google-ads/answer/9888145
285
  public function get_google_ads_enhanced_conversion_data( $order )
286
  {
287
  $customer_data = [];
classes/pixels/trait-product.php CHANGED
@@ -360,7 +360,7 @@ trait Trait_Product {
360
  $product_details = [
361
  'id' => (string) $product->get_id(),
362
  'sku' => (string) $product->get_sku(),
363
- 'price' => (float) $price,
364
  'brand' => $this->get_brand_name($product->get_id()),
365
  'quantity' => 1,
366
  'dyn_r_ids' => $dyn_r_ids,
360
  $product_details = [
361
  'id' => (string) $product->get_id(),
362
  'sku' => (string) $product->get_sku(),
363
+ 'price' => (float) wc_format_decimal($price, 2),
364
  'brand' => $this->get_brand_name($product->get_id()),
365
  'quantity' => 1,
366
  'dyn_r_ids' => $dyn_r_ids,
js/public/wpm-public.p1.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{var e={4749:(e,t,r)=>{var a=r(2856),o=r(7406),n=TypeError;e.exports=function(e){if(a(e))return e;throw n(o(e)+" is not a function")}},1342:(e,t,r)=>{var a=r(1286),o=r(8810),n=r(7872).f,i=a("unscopables"),s=Array.prototype;null==s[i]&&n(s,i,{configurable:!0,value:o(null)}),e.exports=function(e){s[i][e]=!0}},448:(e,t,r)=>{var a=r(6873),o=String,n=TypeError;e.exports=function(e){if(a(e))return e;throw n(o(e)+" is not an object")}},5071:(e,t,r)=>{var a=r(5185),o=r(873),n=r(918),i=function(e){return function(t,r,i){var s,c=a(t),d=n(c),p=o(i,d);if(e&&r!=r){for(;d>p;)if((s=c[p++])!=s)return!0}else for(;d>p;p++)if((e||p in c)&&c[p]===r)return e||p||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},5248:(e,t,r)=>{var a=r(547),o=a({}.toString),n=a("".slice);e.exports=function(e){return n(o(e),8,-1)}},632:(e,t,r)=>{var a=r(3208),o=r(5313),n=r(8688),i=r(7872);e.exports=function(e,t,r){for(var s=o(t),c=i.f,d=n.f,p=0;p<s.length;p++){var u=s[p];a(e,u)||r&&a(r,u)||c(e,u,d(t,u))}}},2357:(e,t,r)=>{var a=r(414),o=r(7872),n=r(6730);e.exports=a?function(e,t,r){return o.f(e,t,n(1,r))}:function(e,t,r){return e[t]=r,e}},6730:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},4279:(e,t,r)=>{var a=r(2856),o=r(2357),n=r(1998),i=r(7942);e.exports=function(e,t,r,s){s||(s={});var c=s.enumerable,d=void 0!==s.name?s.name:t;return a(r)&&n(r,d,s),s.global?c?e[t]=r:i(t,r):(s.unsafe?e[t]&&(c=!0):delete e[t],c?e[t]=r:o(e,t,r)),e}},7942:(e,t,r)=>{var a=r(5433),o=Object.defineProperty;e.exports=function(e,t){try{o(a,e,{value:t,configurable:!0,writable:!0})}catch(r){a[e]=t}return t}},414:(e,t,r)=>{var a=r(2933);e.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},2388:(e,t,r)=>{var a=r(5433),o=r(6873),n=a.document,i=o(n)&&o(n.createElement);e.exports=function(e){return i?n.createElement(e):{}}},5575:(e,t,r)=>{var a=r(1272);e.exports=a("navigator","userAgent")||""},5723:(e,t,r)=>{var a,o,n=r(5433),i=r(5575),s=n.process,c=n.Deno,d=s&&s.versions||c&&c.version,p=d&&d.v8;p&&(o=(a=p.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!o&&i&&(!(a=i.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=i.match(/Chrome\/(\d+)/))&&(o=+a[1]),e.exports=o},5604:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},4429:(e,t,r)=>{var a=r(5433),o=r(8688).f,n=r(2357),i=r(4279),s=r(7942),c=r(632),d=r(1476);e.exports=function(e,t){var r,p,u,l,m,g=e.target,y=e.global,w=e.stat;if(r=y?a:w?a[g]||s(g,{}):(a[g]||{}).prototype)for(p in t){if(l=t[p],u=e.dontCallGetSet?(m=o(r,p))&&m.value:r[p],!d(y?p:g+(w?".":"#")+p,e.forced)&&void 0!==u){if(typeof l==typeof u)continue;c(l,u)}(e.sham||u&&u.sham)&&n(l,"sham",!0),i(r,p,l,e)}}},2933:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},3001:(e,t,r)=>{var a=r(2933);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},3573:(e,t,r)=>{var a=r(3001),o=Function.prototype.call;e.exports=a?o.bind(o):function(){return o.apply(o,arguments)}},4081:(e,t,r)=>{var a=r(414),o=r(3208),n=Function.prototype,i=a&&Object.getOwnPropertyDescriptor,s=o(n,"name"),c=s&&"something"===function(){}.name,d=s&&(!a||a&&i(n,"name").configurable);e.exports={EXISTS:s,PROPER:c,CONFIGURABLE:d}},547:(e,t,r)=>{var a=r(3001),o=Function.prototype,n=o.bind,i=o.call,s=a&&n.bind(i,i);e.exports=a?function(e){return e&&s(e)}:function(e){return e&&function(){return i.apply(e,arguments)}}},1272:(e,t,r)=>{var a=r(5433),o=r(2856),n=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?n(a[e]):a[e]&&a[e][t]}},9345:(e,t,r)=>{var a=r(4749);e.exports=function(e,t){var r=e[t];return null==r?void 0:a(r)}},5433:(e,t,r)=>{var a=function(e){return e&&e.Math==Math&&e};e.exports=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},3208:(e,t,r)=>{var a=r(547),o=r(4021),n=a({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return n(o(e),t)}},7557:e=>{e.exports={}},6383:(e,t,r)=>{var a=r(1272);e.exports=a("document","documentElement")},5841:(e,t,r)=>{var a=r(414),o=r(2933),n=r(2388);e.exports=!a&&!o((function(){return 7!=Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))},8946:(e,t,r)=>{var a=r(547),o=r(2933),n=r(5248),i=Object,s=a("".split);e.exports=o((function(){return!i("z").propertyIsEnumerable(0)}))?function(e){return"String"==n(e)?s(e,""):i(e)}:i},2009:(e,t,r)=>{var a=r(547),o=r(2856),n=r(3479),i=a(Function.toString);o(n.inspectSource)||(n.inspectSource=function(e){return i(e)}),e.exports=n.inspectSource},418:(e,t,r)=>{var a,o,n,i=r(3829),s=r(5433),c=r(547),d=r(6873),p=r(2357),u=r(3208),l=r(3479),m=r(8607),g=r(7557),y="Object already initialized",w=s.TypeError,f=s.WeakMap;if(i||l.state){var _=l.state||(l.state=new f),v=c(_.get),h=c(_.has),L=c(_.set);a=function(e,t){if(h(_,e))throw new w(y);return t.facade=e,L(_,e,t),t},o=function(e){return v(_,e)||{}},n=function(e){return h(_,e)}}else{var D=m("state");g[D]=!0,a=function(e,t){if(u(e,D))throw new w(y);return t.facade=e,p(e,D,t),t},o=function(e){return u(e,D)?e[D]:{}},n=function(e){return u(e,D)}}e.exports={set:a,get:o,has:n,enforce:function(e){return n(e)?o(e):a(e,{})},getterFor:function(e){return function(t){var r;if(!d(t)||(r=o(t)).type!==e)throw w("Incompatible receiver, "+e+" required");return r}}}},2856:e=>{e.exports=function(e){return"function"==typeof e}},1476:(e,t,r)=>{var a=r(2933),o=r(2856),n=/#|\.prototype\./,i=function(e,t){var r=c[s(e)];return r==p||r!=d&&(o(t)?a(t):!!t)},s=i.normalize=function(e){return String(e).replace(n,".").toLowerCase()},c=i.data={},d=i.NATIVE="N",p=i.POLYFILL="P";e.exports=i},6873:(e,t,r)=>{var a=r(2856);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},2390:e=>{e.exports=!1},9650:(e,t,r)=>{var a=r(1272),o=r(2856),n=r(7012),i=r(8951),s=Object;e.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return o(t)&&n(t.prototype,s(e))}},918:(e,t,r)=>{var a=r(9262);e.exports=function(e){return a(e.length)}},1998:(e,t,r)=>{var a=r(2933),o=r(2856),n=r(3208),i=r(414),s=r(4081).CONFIGURABLE,c=r(2009),d=r(418),p=d.enforce,u=d.get,l=Object.defineProperty,m=i&&!a((function(){return 8!==l((function(){}),"length",{value:8}).length})),g=String(String).split("String"),y=e.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!n(e,"name")||s&&e.name!==t)&&l(e,"name",{value:t,configurable:!0}),m&&r&&n(r,"arity")&&e.length!==r.arity&&l(e,"length",{value:r.arity});try{r&&n(r,"constructor")&&r.constructor?i&&l(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=p(e);return n(a,"source")||(a.source=g.join("string"==typeof t?t:"")),e};Function.prototype.toString=y((function(){return o(this)&&u(this).source||c(this)}),"toString")},1190:e=>{var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var a=+e;return(a>0?r:t)(a)}},6634:(e,t,r)=>{var a=r(5723),o=r(2933);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},3829:(e,t,r)=>{var a=r(5433),o=r(2856),n=r(2009),i=a.WeakMap;e.exports=o(i)&&/native code/.test(n(i))},8810:(e,t,r)=>{var a,o=r(448),n=r(21),i=r(5604),s=r(7557),c=r(6383),d=r(2388),p=r(8607)("IE_PROTO"),u=function(){},l=function(e){return"<script>"+e+"<\/script>"},m=function(e){e.write(l("")),e.close();var t=e.parentWindow.Object;return e=null,t},g=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}var e,t;g="undefined"!=typeof document?document.domain&&a?m(a):((t=d("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(l("document.F=Object")),e.close(),e.F):m(a);for(var r=i.length;r--;)delete g.prototype[i[r]];return g()};s[p]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(u.prototype=o(e),r=new u,u.prototype=null,r[p]=e):r=g(),void 0===t?r:n.f(r,t)}},21:(e,t,r)=>{var a=r(414),o=r(8272),n=r(7872),i=r(448),s=r(5185),c=r(8454);t.f=a&&!o?Object.defineProperties:function(e,t){i(e);for(var r,a=s(t),o=c(t),d=o.length,p=0;d>p;)n.f(e,r=o[p++],a[r]);return e}},7872:(e,t,r)=>{var a=r(414),o=r(5841),n=r(8272),i=r(448),s=r(29),c=TypeError,d=Object.defineProperty,p=Object.getOwnPropertyDescriptor;t.f=a?n?function(e,t,r){if(i(e),t=s(t),i(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var a=p(e,t);a&&a.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:a.configurable,enumerable:"enumerable"in r?r.enumerable:a.enumerable,writable:!1})}return d(e,t,r)}:d:function(e,t,r){if(i(e),t=s(t),i(r),o)try{return d(e,t,r)}catch(e){}if("get"in r||"set"in r)throw c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},8688:(e,t,r)=>{var a=r(414),o=r(3573),n=r(4017),i=r(6730),s=r(5185),c=r(29),d=r(3208),p=r(5841),u=Object.getOwnPropertyDescriptor;t.f=a?u:function(e,t){if(e=s(e),t=c(t),p)try{return u(e,t)}catch(e){}if(d(e,t))return i(!o(n.f,e,t),e[t])}},7839:(e,t,r)=>{var a=r(209),o=r(5604).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return a(e,o)}},6824:(e,t)=>{t.f=Object.getOwnPropertySymbols},7012:(e,t,r)=>{var a=r(547);e.exports=a({}.isPrototypeOf)},209:(e,t,r)=>{var a=r(547),o=r(3208),n=r(5185),i=r(5071).indexOf,s=r(7557),c=a([].push);e.exports=function(e,t){var r,a=n(e),d=0,p=[];for(r in a)!o(s,r)&&o(a,r)&&c(p,r);for(;t.length>d;)o(a,r=t[d++])&&(~i(p,r)||c(p,r));return p}},8454:(e,t,r)=>{var a=r(209),o=r(5604);e.exports=Object.keys||function(e){return a(e,o)}},4017:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,o=a&&!r.call({1:2},1);t.f=o?function(e){var t=a(this,e);return!!t&&t.enumerable}:r},542:(e,t,r)=>{var a=r(3573),o=r(2856),n=r(6873),i=TypeError;e.exports=function(e,t){var r,s;if("string"===t&&o(r=e.toString)&&!n(s=a(r,e)))return s;if(o(r=e.valueOf)&&!n(s=a(r,e)))return s;if("string"!==t&&o(r=e.toString)&&!n(s=a(r,e)))return s;throw i("Can't convert object to primitive value")}},5313:(e,t,r)=>{var a=r(1272),o=r(547),n=r(7839),i=r(6824),s=r(448),c=o([].concat);e.exports=a("Reflect","ownKeys")||function(e){var t=n.f(s(e)),r=i.f;return r?c(t,r(e)):t}},4630:e=>{var t=TypeError;e.exports=function(e){if(null==e)throw t("Can't call method on "+e);return e}},8607:(e,t,r)=>{var a=r(3062),o=r(5834),n=a("keys");e.exports=function(e){return n[e]||(n[e]=o(e))}},3479:(e,t,r)=>{var a=r(5433),o=r(7942),n="__core-js_shared__",i=a[n]||o(n,{});e.exports=i},3062:(e,t,r)=>{var a=r(2390),o=r(3479);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.22.8",mode:a?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE",source:"https://github.com/zloirock/core-js"})},873:(e,t,r)=>{var a=r(7219),o=Math.max,n=Math.min;e.exports=function(e,t){var r=a(e);return r<0?o(r+t,0):n(r,t)}},5185:(e,t,r)=>{var a=r(8946),o=r(4630);e.exports=function(e){return a(o(e))}},7219:(e,t,r)=>{var a=r(1190);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},9262:(e,t,r)=>{var a=r(7219),o=Math.min;e.exports=function(e){return e>0?o(a(e),9007199254740991):0}},4021:(e,t,r)=>{var a=r(4630),o=Object;e.exports=function(e){return o(a(e))}},9984:(e,t,r)=>{var a=r(3573),o=r(6873),n=r(9650),i=r(9345),s=r(542),c=r(1286),d=TypeError,p=c("toPrimitive");e.exports=function(e,t){if(!o(e)||n(e))return e;var r,c=i(e,p);if(c){if(void 0===t&&(t="default"),r=a(c,e,t),!o(r)||n(r))return r;throw d("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},29:(e,t,r)=>{var a=r(9984),o=r(9650);e.exports=function(e){var t=a(e,"string");return o(t)?t:t+""}},7406:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},5834:(e,t,r)=>{var a=r(547),o=0,n=Math.random(),i=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+i(++o+n,36)}},8951:(e,t,r)=>{var a=r(6634);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8272:(e,t,r)=>{var a=r(414),o=r(2933);e.exports=a&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},1286:(e,t,r)=>{var a=r(5433),o=r(3062),n=r(3208),i=r(5834),s=r(6634),c=r(8951),d=o("wks"),p=a.Symbol,u=p&&p.for,l=c?p:p&&p.withoutSetter||i;e.exports=function(e){if(!n(d,e)||!s&&"string"!=typeof d[e]){var t="Symbol."+e;s&&n(p,e)?d[e]=p[e]:d[e]=c&&u?u(t):l(t)}return d[e]}},3647:(e,t,r)=>{"use strict";r(3647);var a=r(4429),o=r(5071).includes,n=r(2933),i=r(1342);a({target:"Array",proto:!0,forced:n((function(){return!Array(1).includes()}))},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},164:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.facebook?.pixel_id&&!wpmDataLayer?.pixels?.facebook?.loaded&&wpm.canIFire("ads","facebook-ads")&&wpm.loadFacebookPixel()})),jQuery(document).on("wpmAddToCart",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","AddToCart",{content_type:"product",content_name:t.name,content_ids:t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],value:parseFloat(t.quantity*t.price),currency:t.currency},{eventID:e}),t.currency=wpmDataLayer.shop.currency,jQuery(document).trigger("wpmFbCapiEvent",{event_name:"AddToCart",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:wpm.fbGetProductDataForCapiEvent(t)})}catch(e){console.error(e)}})),jQuery(document).on("wpmBeginCheckout",(function(e){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","InitiateCheckout",{},{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"InitiateCheckout",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href})}catch(e){console.error(e)}})),jQuery(document).on("wpmAddToWishlist",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","AddToWishlist",{content_type:"product",content_name:t.name,content_ids:t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],value:parseFloat(t.quantity*t.price),currency:t.currency},{eventID:e}),t.currency=wpmDataLayer.shop.currency,jQuery(document).trigger("wpmFbCapiEvent",{event_name:"AddToWishlist",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:wpm.fbGetProductDataForCapiEvent(t)})}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItem",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;wpm.fbViewContent(t)}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItemNoProduct",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","ViewContent",{},{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"ViewContent",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href})}catch(e){console.error(e)}})),jQuery(document).on("wpmSearch",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","Search",{},{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"Search",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:{search_string:wpm.getSearchTermFromUrl()}})}catch(e){console.error(e)}})),jQuery(document).on("wpmLoadAlways",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;wpm.setFbUserData()}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;fbq("track","Purchase",{content_type:"product",value:wpmDataLayer.order.value_filtered,currency:wpmDataLayer.order.currency,content_ids:wpm.facebookContentIds()},{eventID:wpmDataLayer.order.id})}catch(e){console.error(e)}}))},7746:()=>{!function(e,t,r){let a;e.loadFacebookPixel=()=>{try{wpmDataLayer.pixels.facebook.loaded=!0,t=window,r=document,a="script",t.fbq||(o=t.fbq=function(){o.callMethod?o.callMethod.apply(o,arguments):o.queue.push(arguments)},t._fbq||(t._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[],(n=r.createElement(a)).async=!0,n.src="https://connect.facebook.net/en_US/fbevents.js",(i=r.getElementsByTagName(a)[0]).parentNode.insertBefore(n,i));let s={};e.isFbpSet()&&(s={...e.getUserIdentifiersForFb()}),fbq("init",wpmDataLayer.pixels.facebook.pixel_id,s),fbq("track","PageView")}catch(a){console.error(a)}var t,r,a,o,n,i},e.getUserIdentifiersForFb=()=>{let e={};return wpmDataLayer?.user?.id&&(e.external_id=wpmDataLayer.user.id),wpmDataLayer?.order?.user_id&&(e.external_id=wpmDataLayer.order.user_id),wpmDataLayer?.user?.facebook?.email&&(e.em=wpmDataLayer.user.facebook.email),wpmDataLayer?.order?.billing_email_hashed&&(e.em=wpmDataLayer.order.billing_email_hashed),wpmDataLayer?.user?.facebook?.first_name&&(e.fn=wpmDataLayer.user.facebook.first_name),wpmDataLayer?.order?.billing_first_name&&(e.fn=wpmDataLayer.order.billing_first_name.toLowerCase()),wpmDataLayer?.user?.facebook?.last_name&&(e.ln=wpmDataLayer.user.facebook.last_name),wpmDataLayer?.order?.billing_last_name&&(e.ln=wpmDataLayer.order.billing_last_name.toLowerCase()),wpmDataLayer?.user?.facebook?.phone&&(e.ph=wpmDataLayer.user.facebook.phone),wpmDataLayer?.order?.billing_phone&&(e.ph=wpmDataLayer.order.billing_phone.replace("+","")),wpmDataLayer?.user?.facebook?.city&&(e.ct=wpmDataLayer.user.facebook.city),wpmDataLayer?.order?.billing_city&&(e.ct=wpmDataLayer.order.billing_city.toLowerCase().replace(/ /g,"")),wpmDataLayer?.user?.facebook?.state&&(e.st=wpmDataLayer.user.facebook.state),wpmDataLayer?.order?.billing_state&&(e.st=wpmDataLayer.order.billing_state.toLowerCase().replace(/[a-zA-Z]{2}-/,"")),wpmDataLayer?.user?.facebook?.postcode&&(e.zp=wpmDataLayer.user.facebook.postcode),wpmDataLayer?.order?.billing_postcode&&(e.zp=wpmDataLayer.order.billing_postcode),wpmDataLayer?.user?.facebook?.country&&(e.country=wpmDataLayer.user.facebook.country),wpmDataLayer?.order?.billing_country&&(e.country=wpmDataLayer.order.billing_country.toLowerCase()),e},e.getRandomEventId=()=>(Math.random()+1).toString(36).substring(2),e.getFbUserData=()=>(a={...a,...e.getFbUserDataFromBrowser()},a),e.setFbUserData=()=>{a=e.getFbUserDataFromBrowser()},e.getFbUserDataFromBrowser=()=>{let t={};return e.getCookie("_fbp")&&e.isValidFbp(e.getCookie("_fbp"))&&(t.fbp=e.getCookie("_fbp")),e.getCookie("_fbc")&&e.isValidFbc(e.getCookie("_fbc"))&&(t.fbc=e.getCookie("_fbc")),wpmDataLayer?.user?.id&&(t.external_id=wpmDataLayer.user.id),navigator.userAgent&&(t.client_user_agent=navigator.userAgent),t},e.isFbpSet=()=>!!e.getCookie("_fbp"),e.isValidFbp=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.\d{8,20}$/).test(e),e.isValidFbc=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.[\da-zA-Z_-]{8,}/).test(e),e.fbViewContent=function(){let t=arguments.length>0&&arguments[0]!==r?arguments[0]:null;try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let r=e.getRandomEventId(),a={};t&&(a.content_type="product",a.content_name=t.name,a.content_ids=t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],a.currency=wpmDataLayer.shop.currency,a.value=t.price),fbq("track","ViewContent",a,{eventID:r});let o={event_name:"ViewContent",event_id:r,user_data:e.getFbUserData(),event_source_url:window.location.href};t&&(t.currency=wpmDataLayer.shop.currency,o.custom_data=e.fbGetProductDataForCapiEvent(t)),jQuery(document).trigger("wpmFbCapiEvent",o)}catch(e){console.error(e)}},e.fbGetProductDataForCapiEvent=e=>({content_type:"product",content_ids:[e.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]],value:e.quantity*e.price,currency:wpmDataLayer.shop.currency}),e.facebookContentIds=()=>{let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items))wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?e.push(String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type])):e.push(String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]));return e},e.trackCustomFacebookEvent=function(t){let a=arguments.length>1&&arguments[1]!==r?arguments[1]:{};try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let r=e.getRandomEventId();fbq("trackCustom",t,a,{eventID:r}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:t,event_id:r,user_data:e.getFbUserData(),event_source_url:window.location.href,custom_data:a})}catch(e){console.error(e)}}}(window.wpm=window.wpm||{},jQuery)},5012:(e,t,r)=>{r(7746),r(164)},165:()=>{jQuery(document).on("wpmViewItemList",(function(e,t){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;if(wpmDataLayer?.general?.variationsOutput&&t.isVariable&&!1===wpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids)return;if(!t)return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),items:[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_item_list",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmAddToCart",(function(e,t){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),value:t.quantity*t.price,items:[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],quantity:t.quantity,price:t.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","add_to_cart",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItem",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers()};t&&(e.value=(t.quantity?t.quantity:1)*t.price,e.items=[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],quantity:t.quantity?t.quantity:1,price:t.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]),wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_item",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmSearch",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e=[];for(const[t,r]of Object.entries(wpmDataLayer.products)){if(wpmDataLayer?.general?.variationsOutput&&r.isVariable&&!1===wpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids)return;e.push({id:r.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical})}let t={send_to:wpm.getGoogleAdsConversionIdentifiers(),items:e};wpmDataLayer?.user?.id&&(t.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_search_results",t)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),value:wpmDataLayer.order.value_filtered,items:wpm.getGoogleAdsDynamicRemarketingOrderItems()};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","purchase",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmLogin",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers()};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","login",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(jQuery.isEmptyObject(wpm.getGoogleAdsConversionIdentifiersWithLabel()))return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={},t={};e={send_to:wpm.getGoogleAdsConversionIdentifiersWithLabel(),transaction_id:wpmDataLayer.order.number,value:wpmDataLayer.order.value_filtered,currency:wpmDataLayer.order.currency,new_customer:wpmDataLayer.order.new_customer},wpmDataLayer?.order?.clv_order_value_filtered&&(e.customer_lifetime_value=wpmDataLayer.order.clv_order_value_filtered),wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpmDataLayer?.order?.aw_merchant_id&&(t={discount:wpmDataLayer.order.discount,aw_merchant_id:wpmDataLayer.order.aw_merchant_id,aw_feed_country:wpmDataLayer.order.aw_feed_country,aw_feed_language:wpmDataLayer.order.aw_feed_language,items:wpm.getGoogleAdsRegularOrderItems()}),wpm.gtagLoaded().then((function(){gtag("event","conversion",{...e,...t})}))}catch(e){console.error(e)}}))},9042:()=>{!function(e,t,r){e.getGoogleAdsConversionIdentifiersWithLabel=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))r&&e.push(t+"/"+r);return e},e.getGoogleAdsConversionIdentifiers=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))e.push(t);return e},e.getGoogleAdsRegularOrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t)):(t.id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t))}return e},e.getGoogleAdsDynamicRemarketingOrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t)):(t.id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t))}return e}}(window.wpm=window.wpm||{},jQuery)},5190:(e,t,r)=>{r(9042),r(165)},3625:()=>{jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id)return;if(wpmDataLayer?.pixels?.google?.analytics?.universal?.mp_active)return;if(!wpm.googleConfigConditionsMet("analytics"))return;wpm.gtagLoaded().then((function(){gtag("event","purchase",{send_to:[wpmDataLayer.pixels.google.analytics.universal.property_id],transaction_id:wpmDataLayer.order.number,affiliation:wpmDataLayer.order.affiliation,currency:wpmDataLayer.order.currency,value:wpmDataLayer.order.value_regular,discount:wpmDataLayer.order.discount,tax:wpmDataLayer.order.tax,shipping:wpmDataLayer.order.shipping,coupon:wpmDataLayer.order.coupon,items:wpm.getGAUAOrderItems()})}))}catch(e){console.error(e)}}))},6019:()=>{!function(e,t,r){e.getGAUAOrderItems=function(){let t=[];for(const[r,a]of Object.entries(wpmDataLayer.order.items)){let r;r={quantity:a.quantity,price:a.price,name:a.name,currency:wpmDataLayer.order.currency,category:wpmDataLayer.products[a.id].category.join("/")},wpmDataLayer?.general?.variationsOutput&&0!==a.variation_id?(r.id=String(wpmDataLayer.products[a.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),r.variant=wpmDataLayer.products[a.variation_id].variant_name,r.brand=wpmDataLayer.products[a.variation_id].brand):(r.id=String(wpmDataLayer.products[a.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),r.brand=wpmDataLayer.products[a.id].brand),r=e.ga3AddListNameToProduct(r),t.push(r)}return t},e.ga3AddListNameToProduct=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:null;return e.list_name=wpmDataLayer.shop.list_name,t&&(e.list_position=t),e}}(window.wpm=window.wpm||{},jQuery)},562:(e,t,r)=>{r(6019),r(3625)},7572:()=>{jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id)return;if(wpmDataLayer?.pixels?.google?.analytics?.ga4?.mp_active)return;if(!wpm.googleConfigConditionsMet("analytics"))return;wpm.gtagLoaded().then((function(){gtag("event","purchase",{send_to:[wpmDataLayer.pixels.google.analytics.ga4.measurement_id],transaction_id:wpmDataLayer.order.number,affiliation:wpmDataLayer.order.affiliation,currency:wpmDataLayer.order.currency,value:wpmDataLayer.order.value_regular,discount:wpmDataLayer.order.discount,tax:wpmDataLayer.order.tax,shipping:wpmDataLayer.order.shipping,coupon:wpmDataLayer.order.coupon,items:wpm.getGA4OrderItems()})}))}catch(e){console.error(e)}}))},6228:()=>{!function(e,t,r){e.getGA4OrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price,item_name:r.name,currency:wpmDataLayer.order.currency,item_category:wpmDataLayer.products[r.id].category.join("/")},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.item_id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),t.item_variant=wpmDataLayer.products[r.variation_id].variant_name,t.item_brand=wpmDataLayer.products[r.variation_id].brand):(t.item_id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),t.item_brand=wpmDataLayer.products[r.id].brand),e.push(t)}return e}}(window.wpm=window.wpm||{},jQuery)},8522:(e,t,r)=>{r(6228),r(7572)},6774:(e,t,r)=>{r(562),r(8522)},9294:()=>{jQuery(document).on("wpmLoadPixels",(function(){void 0===wpmDataLayer?.pixels?.google?.state&&(wpm.canGoogleLoad()?wpm.loadGoogle():wpm.logPreventedPixelLoading("google","analytics / ads"))}))},9860:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){e.googleConfigConditionsMet=function(t){return!!wpmDataLayer?.pixels?.google?.consent_mode?.active||("category"===e.getConsentValues().mode?!0===e.getConsentValues().categories[t]:"pixel"===e.getConsentValues().mode&&e.getConsentValues().pixels.includes("google-"+t))},e.getVisitorConsentStatusAndUpdateGoogleConsentSettings=function(t){return"category"===e.getConsentValues().mode?(e.getConsentValues().categories.analytics&&(t.analytics_storage="granted"),e.getConsentValues().categories.ads&&(t.ad_storage="granted")):"pixel"===e.getConsentValues().mode&&(t.analytics_storage=e.getConsentValues().pixels.includes("google-analytics")?"granted":"denied",t.ad_storage=e.getConsentValues().pixels.includes("google-ads")?"granted":"denied"),t},e.updateGoogleConsentMode=function(){let e=!(arguments.length>0&&arguments[0]!==r)||arguments[0],t=!(arguments.length>1&&arguments[1]!==r)||arguments[1];try{if(!window.gtag||!wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent)return;gtag("consent","update",{analytics_storage:e?"granted":"denied",ad_storage:t?"granted":"denied"})}catch(e){console.error(e)}},e.fireGtagGoogleAds=function(){try{if(wpmDataLayer.pixels.google.ads.state="loading",wpmDataLayer?.pixels?.google?.ads?.enhanced_conversions?.active)for(const[e,t]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))gtag("config",e,{allow_enhanced_conversions:!0});else for(const[e,t]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))gtag("config",e);wpmDataLayer?.pixels?.google?.ads?.conversionIds&&wpmDataLayer?.pixels?.google?.ads?.phone_conversion_label&&wpmDataLayer?.pixels?.google?.ads?.phone_conversion_number&&gtag("config",Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]+"/"+wpmDataLayer.pixels.google.ads.phone_conversion_label,{phone_conversion_number:wpmDataLayer.pixels.google.ads.phone_conversion_number}),wpmDataLayer?.shop?.page_type&&"order_received_page"===wpmDataLayer.shop.page_type&&wpmDataLayer?.order?.google?.ads?.enhanced_conversion_data&&(window.enhanced_conversion_data=wpmDataLayer.order.google.ads.enhanced_conversion_data),wpmDataLayer.pixels.google.ads.state="ready"}catch(e){console.error(e)}},e.fireGtagGoogleAnalyticsUA=function(){try{wpmDataLayer.pixels.google.analytics.universal.state="loading",gtag("config",wpmDataLayer.pixels.google.analytics.universal.property_id,wpmDataLayer.pixels.google.analytics.universal.parameters),wpmDataLayer.pixels.google.analytics.universal.state="ready"}catch(e){console.error(e)}},e.fireGtagGoogleAnalyticsGA4=function(){try{wpmDataLayer.pixels.google.analytics.ga4.state="loading";let e=wpmDataLayer.pixels.google.analytics.ga4.parameters;wpmDataLayer?.pixels?.google?.analytics?.ga4?.debug_mode&&(e.debug_mode=!0),gtag("config",wpmDataLayer.pixels.google.analytics.ga4.measurement_id,e),wpmDataLayer.pixels.google.analytics.ga4.state="ready"}catch(e){console.error(e)}},e.isGoogleActive=function(){return!(!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id&&!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id&&jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))},e.getGoogleGtagId=function(){return wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id?wpmDataLayer.pixels.google.analytics.universal.property_id:wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id?wpmDataLayer.pixels.google.analytics.ga4.measurement_id:Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]},e.loadGoogle=function(){e.isGoogleActive()&&(wpmDataLayer.pixels.google.state="loading",e.loadScriptAndCacheIt("https://www.googletagmanager.com/gtag/js?id="+e.getGoogleGtagId()).done((function(t,r){try{if(window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},wpmDataLayer?.pixels?.google?.consent_mode?.active){let t={ad_storage:wpmDataLayer.pixels.google.consent_mode.ad_storage,analytics_storage:wpmDataLayer.pixels.google.consent_mode.analytics_storage,wait_for_update:wpmDataLayer.pixels.google.consent_mode.wait_for_update};wpmDataLayer?.pixels?.google?.consent_mode?.region&&(t.region=wpmDataLayer.pixels.google.consent_mode.region),t=e.getVisitorConsentStatusAndUpdateGoogleConsentSettings(t),gtag("consent","default",t),gtag("set","ads_data_redaction",wpmDataLayer.pixels.google.consent_mode.ads_data_redaction),gtag("set","url_passthrough",wpmDataLayer.pixels.google.consent_mode.url_passthrough)}wpmDataLayer?.pixels?.google?.linker?.settings&&gtag("set","linker",wpmDataLayer.pixels.google.linker.settings),gtag("js",new Date),jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)||(e.googleConfigConditionsMet("ads")?e.fireGtagGoogleAds():e.logPreventedPixelLoading("google-ads","ads")),wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id&&(e.googleConfigConditionsMet("analytics")?e.fireGtagGoogleAnalyticsUA():e.logPreventedPixelLoading("google-universal-analytics","analytics")),wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id&&(e.googleConfigConditionsMet("analytics")?e.fireGtagGoogleAnalyticsGA4():e.logPreventedPixelLoading("ga4","analytics")),wpmDataLayer.pixels.google.state="ready"}catch(e){console.error(e)}})))},e.canGoogleLoad=function(){return!!wpmDataLayer?.pixels?.google?.consent_mode?.active||("category"===e.getConsentValues().mode?!(!e.getConsentValues().categories.ads&&!e.getConsentValues().categories.analytics):"pixel"===e.getConsentValues().mode?e.getConsentValues().pixels.includes("google-ads")||e.getConsentValues().pixels.includes("google-analytics"):(console.error("Couldn't find a valid load condition for Google mode in wpmConsentValues"),!1))},e.gtagLoaded=function(){return new Promise((function(e,t){void 0===wpmDataLayer?.pixels?.google?.state&&t();let r=0;!function a(){return"ready"===wpmDataLayer?.pixels?.google?.state?e():r>=5e3?t():(r+=200,void setTimeout(a,200))}()}))}}(window.wpm=window.wpm||{},jQuery)},1580:(e,t,r)=>{r(9860),r(9294)},8069:(e,t,r)=>{r(1580),r(5190),r(6774),r(3463)},1945:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.google?.optimize?.container_id&&!wpmDataLayer?.pixels?.google?.optimize?.loaded&&wpm.canIFire("analytics","google-optimize")&&wpm.load_google_optimize_pixel()}))},8962:()=>{!function(e,t,r){e.load_google_optimize_pixel=function(){try{wpmDataLayer.pixels.google.optimize.loaded=!0,e.loadScriptAndCacheIt("https://www.googleoptimize.com/optimize.js?id="+wpmDataLayer.pixels.google.optimize.container_id)}catch(e){console.error(e)}}}(window.wpm=window.wpm||{},jQuery)},3463:(e,t,r)=>{r(8962),r(1945)},2300:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.hotjar?.site_id&&!wpmDataLayer?.pixels?.hotjar?.loaded&&wpm.canIFire("analytics","hotjar")&&!wpmDataLayer?.pixels?.hotjar?.loaded&&wpm.load_hotjar_pixel()}))},2376:()=>{!function(e,t,r){e.load_hotjar_pixel=function(){try{wpmDataLayer.pixels.hotjar.loaded=!0,e=window,t=document,e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:wpmDataLayer.pixels.hotjar.site_id,hjsv:6},r=t.getElementsByTagName("head")[0],(a=t.createElement("script")).async=1,a.src="https://static.hotjar.com/c/hotjar-"+e._hjSettings.hjid+".js?sv="+e._hjSettings.hjsv,r.appendChild(a)}catch(e){console.error(e)}var e,t,r,a}}(window.wpm=window.wpm||{},jQuery)},8787:(e,t,r)=>{r(2376),r(2300)},473:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){let a=()=>{let t=e.getCookie("cmplz_statistics"),r=e.getCookie("cmplz_marketing");return!(!e.getCookie("cmplz_consent_status")&&!e.getCookie("cmplz_banner-status"))&&{analytics:"allow"===t,ads:"allow"===r,visitorHasChosen:!0}},o=()=>{let t=e.getCookie("cookielawinfo-checkbox-analytics")||e.getCookie("cookielawinfo-checkbox-analytiques"),r=e.getCookie("cookielawinfo-checkbox-advertisement")||e.getCookie("cookielawinfo-checkbox-performance")||e.getCookie("cookielawinfo-checkbox-publicite"),a=e.getCookie("CookieLawInfoConsent");return!(!t&&!r)&&{analytics:"yes"===t,ads:"yes"===r,visitorHasChosen:!!a}},n={categories:{},pixels:[],mode:"category",visitorHasChosen:!1};e.getConsentValues=()=>n,e.setConsentValueCategories=function(){let e=arguments.length>0&&arguments[0]!==r&&arguments[0],t=arguments.length>1&&arguments[1]!==r&&arguments[1];n.categories.analytics=e,n.categories.ads=t},e.updateConsentCookieValues=function(){let t,i=arguments.length>0&&arguments[0]!==r?arguments[0]:null,s=arguments.length>1&&arguments[1]!==r?arguments[1]:null,c=arguments.length>2&&arguments[2]!==r&&arguments[2];i||s?(i&&(n.categories.analytics=!!i),s&&(n.categories.ads=!!s)):(t=e.getCookie("CookieConsent"))?(t=decodeURI(t),n.categories.analytics=t.indexOf("statistics:true")>=0,n.categories.ads=t.indexOf("marketing:true")>=0,n.visitorHasChosen=!0):(t=e.getCookie("CookieScriptConsent"))?(t=JSON.parse(t),"reject"===t.action?(n.categories.analytics=!1,n.categories.ads=!1):2===t.categories.length?(n.categories.analytics=!0,n.categories.ads=!0):(n.categories.analytics=t.categories.indexOf("performance")>=0,n.categories.ads=t.categories.indexOf("targeting")>=0),n.visitorHasChosen=!0):(t=e.getCookie("borlabs-cookie"))?(t=decodeURI(t),t=JSON.parse(t),n.categories.analytics=!!t?.consents?.statistics,n.categories.ads=!!t?.consents?.marketing,n.visitorHasChosen=!0,n.pixels=[...t?.consents?.statistics||[],...t?.consents?.marketing||[]],n.mode="pixel"):(t=a())?(n.categories.analytics=!0===t.analytics,n.categories.ads=!0===t.ads,n.visitorHasChosen=t.visitorHasChosen):(t=e.getCookie("cookie_notice_accepted"))?(n.categories.analytics=!0,n.categories.ads=!0,n.visitorHasChosen=!0):(t=e.getCookie("hu-consent"))?(t=JSON.parse(t),n.categories.analytics=!!t.categories[3],n.categories.ads=!!t.categories[4],n.visitorHasChosen=!0):(t=o())?(n.categories.analytics=!0===t.analytics,n.categories.ads=!0===t.ads,n.visitorHasChosen=!0===t.visitorHasChosen):(t=e.getCookie("moove_gdpr_popup"))?(t=JSON.parse(t),n.categories.analytics="1"===t.thirdparty,n.categories.ads="1"===t.advanced,n.visitorHasChosen=!0):(n.categories.analytics=!c,n.categories.ads=!c)},e.updateConsentCookieValues(),e.setConsentDefaultValuesToExplicit=()=>{n.categories={analytics:!1,ads:!1}},e.canIFire=(t,r)=>{let a;return"category"===n.mode?a=!!n.categories[t]:"pixel"===n.mode?(a=n.pixels.includes(r),!1===a&&"microsoft-ads"===r&&(a=n.pixels.includes("bing-ads"))):(console.error("Couldn't find a valid consent mode in wpmConsentValues"),a=!1),!!a||(e.logPreventedPixelLoading(r,t),!1)},e.logPreventedPixelLoading=(e,t)=>{wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent?console.log('Pixel Manager for WooCommerce: The "'+e+" (category: "+t+')" pixel has not fired because you have not given consent for it yet. (WPM is in explicit consent mode.)'):console.log('Pixel Manager for WooCommerce: The "'+e+" (category: "+t+')" pixel has not fired because you have removed consent for this pixel. (WPM is in implicit consent mode.)')},e.scriptTagObserver=new MutationObserver((r=>{r.forEach((r=>{let{addedNodes:a}=r;[...a].forEach((r=>{t(r).data("wpm-cookie-category")&&(e.shouldScriptBeActive(r)?e.unblockScript(r):e.blockScript(r))}))}))})),e.scriptTagObserver.observe(document.head,{childList:!0,subtree:!0}),jQuery(document).on("DOMContentLoaded",(()=>e.scriptTagObserver.disconnect())),e.shouldScriptBeActive=e=>!((wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent||n.visitorHasChosen)&&("category"!==n.mode||!t(e).data("wpm-cookie-category").split(",").some((e=>n.categories[e])))&&("pixel"!==n.mode||!n.pixels.includes(t(e).data("wpm-pixel-name")))&&("pixel"!==n.mode||"google"!==t(e).data("wpm-pixel-name")||!["google-analytics","google-ads"].some((e=>n.pixels.includes(e))))&&(!wpmDataLayer?.pixels?.google?.consent_mode?.active||"google"!==t(e).data("wpm-pixel-name"))),e.unblockScript=function(e){let a=arguments.length>1&&arguments[1]!==r&&arguments[1];a&&t(e).remove();let o=t(e).data("wpm-src");o&&t(e).attr("src",o),e.type="text/javascript",a&&t(e).appendTo("head"),jQuery(document).trigger("wpmPreLoadPixels",{})},e.blockScript=function(e){let a=arguments.length>1&&arguments[1]!==r&&arguments[1];a&&t(e).remove(),t(e).attr("src")&&t(e).removeAttr("src"),e.type="blocked/javascript",a&&t(e).appendTo("head")},e.unblockAllScripts=function(){jQuery(document).trigger("wpmPreLoadPixels",{})},e.unblockSelectedPixels=()=>{jQuery(document).trigger("wpmPreLoadPixels",{})},jQuery(document).on("borlabs-cookie-consent-saved",(()=>{e.updateConsentCookieValues(),"pixel"===n.mode?(e.unblockSelectedPixels(),e.updateGoogleConsentMode(n.pixels.includes("google-analytics"),n.pixels.includes("google-ads"))):(e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads))})),jQuery(document).on("CookiebotOnAccept",(()=>{Cookiebot.consent.statistics&&(n.categories.analytics=!0),Cookiebot.consent.marketing&&(n.categories.ads=!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)}),!1),jQuery(document).on("CookieScriptAccept",(t=>{t.detail.categories.includes("performance")&&(n.categories.analytics=!0),t.detail.categories.includes("targeting")&&(n.categories.ads=!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)})),jQuery(document).on("CookieScriptAcceptAll",(()=>{e.unblockAllScripts(!0,!0),e.updateGoogleConsentMode(!0,!0)})),e.cmplzStatusChange=t=>{t.detail.categories.includes("statistics")&&e.updateConsentCookieValues(!0,null),t.detail.categories.includes("marketing")&&e.updateConsentCookieValues(null,!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)},jQuery(document).on("cmplzStatusChange",e.cmplzStatusChange),jQuery(document).on("cmplz_status_change",e.cmplzStatusChange),jQuery(document).on("setCookieNotice",(()=>{e.updateConsentCookieValues(),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)})),e.huObserver=new MutationObserver((t=>{t.forEach((t=>{let{addedNodes:r}=t;[...r].forEach((t=>{"hu"===t.id&&jQuery(".hu-cookies-save").on("click",(function(){e.updateConsentCookieValues(),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)}))}))}))})),window.hu&&e.huObserver.observe(document.documentElement||document.body,{childList:!0,subtree:!0}),e.explicitConsentStateAlreadySet=()=>{if(n.explicitConsentStateAlreadySet)return!0;n.explicitConsentStateAlreadySet=!0}}(window.wpm=window.wpm||{},jQuery)},3299:(e,t,r)=>{"use strict";r.r(t),r(3647),jQuery(document).on("click",".remove_from_cart_button, .remove",(function(){try{let e=new URL(jQuery(this).attr("href")),t=wpm.getProductIdByCartItemKeyUrl(e);wpm.removeProductFromCart(t)}catch(e){console.error(e)}})),jQuery(document).on("click",".add_to_cart_button:not(.product_type_variable), .ajax_add_to_cart, .single_add_to_cart_button",(function(){try{if("product"===wpmDataLayer.shop.page_type){if(void 0!==jQuery(this).attr("href")&&jQuery(this).attr("href").includes("add-to-cart")){let e=1,t=jQuery(this).data("product_id");wpm.addProductToCart(t,e)}else if("simple"===wpmDataLayer.shop.product_type){let e=Number(jQuery(".input-text.qty").val());e||0===e||(e=1);let t=jQuery(this).val();wpm.addProductToCart(t,e)}else if("variable"===wpmDataLayer.shop.product_type){let e=Number(jQuery(".input-text.qty").val());e||0===e||(e=1);let t=jQuery("[name='variation_id']").val();wpm.addProductToCart(t,e)}else if("grouped"===wpmDataLayer.shop.product_type)jQuery(".woocommerce-grouped-product-list-item").each((function(){let e=Number(jQuery(this).find(".input-text.qty").val());e||0===e||(e=1);let t=jQuery(this).attr("class"),r=wpm.getPostIdFromString(t);wpm.addProductToCart(r,e)}));else if("bundle"===wpmDataLayer.shop.product_type){let e=Number(jQuery(".input-text.qty").val());e||0===e||(e=1);let t=jQuery("input[name=add-to-cart]").val();wpm.addProductToCart(t,e)}}else{let e=1,t=jQuery(this).data("product_id");wpm.addProductToCart(t,e)}}catch(e){console.error(e)}})),jQuery(document).one("click","a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)",(function(e){try{if(jQuery(e.target).closest("a").attr("href")){let t=jQuery(e.target).closest("a").attr("href");if(t.includes("add-to-cart=")){let e=t.match(/(add-to-cart=)(\d+)/);e&&wpm.addProductToCart(e[2],1)}}}catch(e){console.error(e)}})),jQuery(document).on("click",".woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product",(function(){try{let e=jQuery(this).nextAll(".wpmProductId:first").data("id");if(e){if(e=wpm.getIdBasedOndVariationsOutputSetting(e),!e)throw Error("Wasn't able to retrieve a productId");if(wpmDataLayer.products&&wpmDataLayer.products[e]){let t=wpm.getProductDetailsFormattedForEvent(e);jQuery(document).trigger("wpmSelectContentGaUa",t),jQuery(document).trigger("wpmSelectItem",t)}}}catch(e){console.error(e)}})),jQuery(document).one("click",[".checkout-button",".cart-checkout-button",".button.checkout",".xoo-wsc-ft-btn-checkout"].join(","),(function(){jQuery(document).trigger("wpmBeginCheckout")})),jQuery(document).on("input","#billing_email",(function(){wpm.isEmail(jQuery(this).val())&&(wpm.fireCheckoutProgress(2),wpm.emailSelected=!0)})),jQuery(document).on("click",".wc_payment_methods",(function(){!1===wpm.paymentMethodSelected&&wpm.fireCheckoutProgress(3),wpm.fireCheckoutOption(3,jQuery("input[name='payment_method']:checked").val()),wpm.paymentMethodSelected=!0})),jQuery(document).one("click","#place_order",(function(){!1===wpm.emailSelected&&wpm.fireCheckoutProgress(2),!1===wpm.paymentMethodSelected&&(wpm.fireCheckoutProgress(3),wpm.fireCheckoutOption(3,jQuery("input[name='payment_method']:checked").val())),wpm.fireCheckoutProgress(4)})),jQuery(document).on("click","[name='update_cart']",(function(){try{jQuery(".cart_item").each((function(){let e=new URL(jQuery(this).find(".product-remove").find("a").attr("href")),t=wpm.getProductIdByCartItemKeyUrl(e),r=jQuery(this).find(".qty").val();0===r?wpm.removeProductFromCart(t):r<wpmDataLayer.cart[t].quantity?wpm.removeProductFromCart(t,wpmDataLayer.cart[t].quantity-r):r>wpmDataLayer.cart[t].quantity&&wpm.addProductToCart(t,r-wpmDataLayer.cart[t].quantity)}))}catch(e){console.error(e),wpm.getCartItemsFromBackend()}})),jQuery(document).on("click",".add_to_wishlist, .wl-add-to",(function(){try{let e;if(jQuery(this).data("productid")?e=jQuery(this).data("productid"):jQuery(this).data("product-id")&&(e=jQuery(this).data("product-id")),!e)throw Error("Wasn't able to retrieve a productId");let t=wpm.getProductDetailsFormattedForEvent(e);jQuery(document).trigger("wpmAddToWishlist",t)}catch(e){console.error(e)}})),jQuery(document).on("updated_cart_totals",(function(){jQuery(document).trigger("wpmViewCart")})),jQuery((function(){jQuery(".single_variation_wrap").on("show_variation",(function(e,t){try{let e=wpm.getIdBasedOndVariationsOutputSetting(t.variation_id);if(!e)throw Error("Wasn't able to retrieve a productId");wpm.triggerViewItemEventPrep(e)}catch(e){console.error(e)}}))})),jQuery(window).on("wpmLoad",(function(){try{wpm.doesWooCommerceCartExist()&&wpm.getCartItems()}catch(e){console.error(e)}})),jQuery(window).on("wpmLoad",(function(){wpmDataLayer.products=wpmDataLayer.products||{};let e=wpm.getAddToCartLinkProductIds();wpm.getProductsFromBackend(e)})),jQuery(window).on("wpmLoad",(function(){if(!wpm.getCookie("wpmReferrer")&&document.referrer){let e=new URL(document.referrer).hostname;e!==window.location.host&&wpm.setCookie("wpmReferrer",e)}})),jQuery(window).on("wpmLoad",(function(){try{if("undefined"!=typeof wpmDataLayer&&!wpmDataLayer?.wpmLoadFired){if(jQuery(document).trigger("wpmLoadAlways"),wpmDataLayer?.shop)if("product"===wpmDataLayer.shop.page_type&&"variable"!==wpmDataLayer.shop.product_type&&wpm.getMainProductIdFromProductPage()){let e=wpm.getProductDataForViewItemEvent(wpm.getMainProductIdFromProductPage());jQuery(document).trigger("wpmViewItem",e)}else"product_category"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmCategory"):"search"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmSearch"):"cart"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmViewCart"):"order_received_page"===wpmDataLayer.shop.page_type&&wpmDataLayer.order?wpm.isOrderIdStored(wpmDataLayer.order.id)||(jQuery(document).trigger("wpmOrderReceivedPage"),wpm.writeOrderIdToStorage(wpmDataLayer.order.id)):jQuery(document).trigger("wpmEverywhereElse");else jQuery(document).trigger("wpmEverywhereElse");wpmDataLayer?.user?.id&&!wpm.hasLoginEventFired()&&(jQuery(document).trigger("wpmLogin"),wpm.setLoginEventFired()),wpmDataLayer.wpmLoadFired=!0}}catch(e){console.error(e)}})),jQuery(window).on("wpmPreLoadPixels",(function(){wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent&&!wpm.explicitConsentStateAlreadySet()&&wpm.updateConsentCookieValues(null,null,!0),jQuery(document).trigger("wpmLoadPixels",{})}))},9584:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){const a="_wpm_order_ids",o="_wpm_endpoint_available",n="/wp-json/";function i(){return""!==e.getCookie(a)}e.emailSelected=!1,e.paymentMethodSelected=!1,e.useRestEndpoint=()=>e.isSessionStorageAvailable()&&e.isRestEndpointAvailable()&&e.isBelowRestErrorThreshold(),e.isBelowRestErrorThreshold=()=>window.sessionStorage.getItem(0)<=10,e.isRestEndpointAvailable=()=>{if(window.sessionStorage.getItem(o))return JSON.parse(window.sessionStorage.getItem(o));e.testEndpoint()},e.isSessionStorageAvailable=()=>!!window.sessionStorage,e.testEndpoint=function(){let e=arguments.length>0&&arguments[0]!==r?arguments[0]:location.protocol+"//"+location.host+n,t=arguments.length>1&&arguments[1]!==r?arguments[1]:o;jQuery.ajax(e,{type:"HEAD",timeout:1e3,statusCode:{200:function(e){window.sessionStorage.setItem(t,JSON.stringify(!0))},404:function(e){window.sessionStorage.setItem(t,JSON.stringify(!1))},0:function(e){window.sessionStorage.setItem(t,JSON.stringify(!1))}}}).then((e=>{}))},e.isWpmRestEndpointAvailable=function(){let t=arguments.length>0&&arguments[0]!==r?arguments[0]:o;return!!e.getCookie(t)},e.writeOrderIdToStorage=function(t){if(window.Storage)if(null===localStorage.getItem(a)){let e=[];e.push(t),window.localStorage.setItem(a,JSON.stringify(e))}else{let e=JSON.parse(localStorage.getItem(a));e.includes(t)||(e.push(t),window.localStorage.setItem(a,JSON.stringify(e)))}else{let r=new Date;r.setDate(r.getDate()+365);let o=[];i()&&(o=JSON.parse(e.getCookie(a))),o.includes(t)||(o.push(t),document.cookie="_wpm_order_ids="+JSON.stringify(o)+";expires="+r.toUTCString())}"function"==typeof e.storeOrderIdOnServer&&wpmDataLayer.orderDeduplication&&e.storeOrderIdOnServer(t)},e.isOrderIdStored=t=>wpmDataLayer.orderDeduplication?window.Storage?null!==localStorage.getItem(a)&&JSON.parse(localStorage.getItem(a)).includes(t):!!i()&&JSON.parse(e.getCookie(a)).includes(t):(console.log("order duplication prevention: off"),!1),e.isEmail=e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),e.removeProductFromCart=function(t){let a=arguments.length>1&&arguments[1]!==r?arguments[1]:null;try{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");let r;if(r=null==a?wpmDataLayer.cart[t].quantity:a,wpmDataLayer.cart[t]){let o=e.getProductDetailsFormattedForEvent(t,r);jQuery(document).trigger("wpmRemoveFromCart",o),null==a||wpmDataLayer.cart[t].quantity===a?(delete wpmDataLayer.cart[t],sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart))):(wpmDataLayer.cart[t].quantity=wpmDataLayer.cart[t].quantity-r,sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart)))}}catch(e){console.error(e)}},e.getIdBasedOndVariationsOutputSetting=e=>{try{return wpmDataLayer?.general?.variationsOutput?e:wpmDataLayer.products[e].isVariation?wpmDataLayer.products[e].parentId:e}catch(e){console.error(e)}},e.addProductToCart=(t,r)=>{try{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");if(wpmDataLayer?.products[t]){let a=e.getProductDetailsFormattedForEvent(t,r);jQuery(document).trigger("wpmAddToCart",a),wpmDataLayer?.cart[t]?wpmDataLayer.cart[t].quantity=wpmDataLayer.cart[t].quantity+r:("cart"in wpmDataLayer||(wpmDataLayer.cart={}),wpmDataLayer.cart[t]=e.getProductDetailsFormattedForEvent(t,r)),sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart))}}catch(t){console.error(t),e.getCartItemsFromBackend()}},e.getCartItems=()=>{sessionStorage?sessionStorage.getItem("wpmDataLayerCart")&&"order_received_page"!==wpmDataLayer.shop.page_type?e.saveCartObjectToDataLayer(JSON.parse(sessionStorage.getItem("wpmDataLayerCart"))):sessionStorage.setItem("wpmDataLayerCart",JSON.stringify({})):e.getCartItemsFromBackend()},e.getCartItemsFromBackend=()=>{try{let t={action:"wpm_get_cart_items"};jQuery.ajax({type:"get",dataType:"json",url:e.ajax_url,data:t,success:function(t){t.cart||(t.cart={}),e.saveCartObjectToDataLayer(t.cart),sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(t.cart))}})}catch(e){console.error(e)}},e.getProductsFromBackend=t=>{if(wpmDataLayer?.products&&(t=t.filter((e=>!wpmDataLayer.products.hasOwnProperty(e)))),t&&0!==t.length)try{let r={action:"wpm_get_product_ids",productIds:t};return jQuery.ajax({type:"get",dataType:"json",url:e.ajax_url,data:r,success:function(e){wpmDataLayer.products=Object.assign({},wpmDataLayer.products,e)},error:function(e){console.log(e)}})}catch(e){console.error(e)}},e.saveCartObjectToDataLayer=e=>{wpmDataLayer.cart=e,wpmDataLayer.products=Object.assign({},wpmDataLayer.products,e)},e.triggerViewItemEventPrep=t=>{wpmDataLayer.products&&wpmDataLayer.products[t]?e.triggerViewItemEvent(t):e.getProductsFromBackend([t]).then((()=>{e.triggerViewItemEvent(t)}))},e.triggerViewItemEvent=t=>{let r=e.getProductDetailsFormattedForEvent(t);jQuery(document).trigger("wpmViewItem",r)},e.triggerViewItemEventNoProduct=()=>{jQuery(document).trigger("wpmViewItemNoProduct")},e.fireCheckoutOption=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:null,a=arguments.length>2&&arguments[2]!==r?arguments[2]:null,o={step:e,checkout_option:t,value:a};jQuery(document).trigger("wpmFireCheckoutOption",o)},e.fireCheckoutProgress=e=>{let t={step:e};jQuery(document).trigger("wpmFireCheckoutProgress",t)},e.getPostIdFromString=e=>{try{return e.match(/(post-)(\d+)/)[2]}catch(e){console.error(e)}},e.triggerViewItemList=t=>{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");jQuery(document).trigger("wpmViewItemList",e.getProductDataForViewItemEvent(t))},e.getProductDataForViewItemEvent=t=>{if(!t)throw Error("Wasn't able to retrieve a productId");try{if(wpmDataLayer.products[t])return e.getProductDetailsFormattedForEvent(t)}catch(e){console.error(e)}},e.getMainProductIdFromProductPage=()=>{try{return["simple","variable","grouped","composite","bundle"].indexOf(wpmDataLayer.shop.product_type)>=0&&jQuery(".wpmProductId:first").data("id")}catch(e){console.error(e)}},e.viewItemListTriggerTestMode=e=>{jQuery(e).css({position:"relative"}),jQuery(e).append('<div id="viewItemListTriggerOverlay"></div>'),jQuery(e).find("#viewItemListTriggerOverlay").css({"z-index":"10",display:"block",position:"absolute",height:"100%",top:"0",left:"0",right:"0",opacity:wpmDataLayer.viewItemListTrigger.opacity,"background-color":wpmDataLayer.viewItemListTrigger.backgroundColor})},e.getSearchTermFromUrl=()=>{try{return new URLSearchParams(window.location.search).get("s")}catch(e){console.error(e)}};let s,c={};e.observerCallback=(t,r)=>{t.forEach((t=>{try{let a,o=jQuery(t.target).data("ioid");if(a=jQuery(t.target).next(".wpmProductId").length?jQuery(t.target).next(".wpmProductId").data("id"):jQuery(t.target).find(".wpmProductId").data("id"),!a)throw Error("wpmProductId element not found");t.isIntersecting?c[o]=setTimeout((()=>{e.triggerViewItemList(a),wpmDataLayer.viewItemListTrigger.testMode&&e.viewItemListTriggerTestMode(t.target),!1===wpmDataLayer.viewItemListTrigger.repeat&&r.unobserve(t.target)}),wpmDataLayer.viewItemListTrigger.timeout):(clearTimeout(c[o]),wpmDataLayer.viewItemListTrigger.testMode&&jQuery(t.target).find("#viewItemListTriggerOverlay").remove())}catch(e){console.error(e)}}))};let d,p=0,u=()=>{d=jQuery(".wpmProductId").map((function(e,t){return jQuery(t).parent().hasClass("type-product")||jQuery(t).parent().hasClass("product")||jQuery(t).parent().hasClass("product-item-inner")?jQuery(t).parent():jQuery(t).prev().hasClass("wc-block-grid__product")||jQuery(t).prev().hasClass("product")||jQuery(t).prev().hasClass("product-small")||jQuery(t).prev().hasClass("woocommerce-LoopProduct-link")?jQuery(this).prev():jQuery(t).closest(".product").length?jQuery(t).closest(".product"):void 0}))};e.startIntersectionObserverToWatch=()=>{try{e.urlHasParameter("vildemomode")&&(wpmDataLayer.viewItemListTrigger.testMode=!0),s=new IntersectionObserver(e.observerCallback,{threshold:wpmDataLayer.viewItemListTrigger.threshold}),u(),d.each(((e,t)=>{jQuery(t[0]).data("ioid",p++),s.observe(t[0])}))}catch(e){console.error(e)}},e.startProductsMutationObserverToWatch=()=>{try{let e=jQuery(".wpmProductId:eq(0)").parents().has(jQuery(".wpmProductId:eq(1)").parents()).first();e.length&&l.observe(e[0],{attributes:!0,childList:!0,characterData:!0})}catch(e){console.error(e)}};let l=new MutationObserver((e=>{e.forEach((e=>{let t=e.addedNodes;null!==t&&jQuery(t).each((function(){(jQuery(this).hasClass("type-product")||jQuery(this).hasClass("product-small")||jQuery(this).hasClass("wc-block-grid__product"))&&m(this)&&(jQuery(this).data("ioid",p++),s.observe(this))}))}))})),m=e=>!(!jQuery(e).find(".wpmProductId").length&&!jQuery(e).siblings(".wpmProductId").length);e.setCookie=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:"",a=arguments.length>2&&arguments[2]!==r?arguments[2]:null;if(a){let r=new Date;r.setTime(r.getTime()+24*a*60*60*1e3);let o="expires="+r.toUTCString();document.cookie=e+"="+t+";"+o+";path=/"}else document.cookie=e+"="+t+";path=/"},e.getCookie=e=>{let t=e+"=",r=decodeURIComponent(document.cookie).split(";");for(let e=0;e<r.length;e++){let a=r[e];for(;" "==a.charAt(0);)a=a.substring(1);if(0==a.indexOf(t))return a.substring(t.length,a.length)}return""},e.getWpmSessionData=()=>{if(window.sessionStorage){let e=window.sessionStorage.getItem("_wpm");return null!==e?JSON.parse(e):{}}return{}},e.setWpmSessionData=e=>{window.sessionStorage&&window.sessionStorage.setItem("_wpm",JSON.stringify(e))},e.storeOrderIdOnServer=t=>{try{let r={action:"wpm_purchase_pixels_fired",order_id:t,nonce:e.nonce};jQuery.ajax({type:"post",dataType:"json",url:e.ajax_url,data:r,success:function(e){!1===e.success&&console.log(e)},error:function(e){console.log(e)}})}catch(e){console.error(e)}},e.getProductIdByCartItemKeyUrl=e=>{let t,r=new URLSearchParams(e.search).get("remove_item");return t=0===wpmDataLayer.cartItemKeys[r].variation_id?wpmDataLayer.cartItemKeys[r].product_id:wpmDataLayer.cartItemKeys[r].variation_id,t},e.getAddToCartLinkProductIds=()=>jQuery("a").map((function(){let e=jQuery(this).attr("href");if(e&&e.includes("?add-to-cart=")){let t=e.match(/(add-to-cart=)(\d+)/);if(t)return t[2]}})).get(),e.getProductDetailsFormattedForEvent=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:1,a={id:e.toString(),dyn_r_ids:wpmDataLayer.products[e].dyn_r_ids,name:wpmDataLayer.products[e].name,list_name:wpmDataLayer.shop.list_name,brand:wpmDataLayer.products[e].brand,category:wpmDataLayer.products[e].category,variant:wpmDataLayer.products[e].variant,list_position:wpmDataLayer.products[e].position,quantity:t,price:wpmDataLayer.products[e].price,currency:wpmDataLayer.shop.currency,isVariable:wpmDataLayer.products[e].isVariable,isVariation:wpmDataLayer.products[e].isVariation,parentId:wpmDataLayer.products[e].parentId};return a.isVariation&&(a.parentId_dyn_r_ids=wpmDataLayer.products[e].parentId_dyn_r_ids),a},e.setReferrerToCookie=()=>{e.getCookie("wpmReferrer")||e.setCookie("wpmReferrer",document.referrer)},e.getReferrerFromCookie=()=>e.getCookie("wpmReferrer")?e.getCookie("wpmReferrer"):null,e.getClidFromBrowser=function(){let t,a=arguments.length>0&&arguments[0]!==r?arguments[0]:"gclid";return t={gclid:"_gcl_aw",dclid:"_gcl_dc"},e.getCookie(t[a])?e.getCookie(t[a]).match(/(GCL.[\d]*.)(.*)/)[2]:""},e.getUserAgent=()=>navigator.userAgent,e.getViewPort=()=>({width:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),height:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}),e.version=()=>{console.log(wpmDataLayer.version)},e.loadScriptAndCacheIt=(e,t)=>(t=jQuery.extend(t||{},{dataType:"script",cache:!0,url:e}),jQuery.ajax(t)),e.getOrderItemPrice=e=>(e.total+e.total_tax)/e.quantity,e.hasLoginEventFired=()=>e.getWpmSessionData()?.loginEventFired,e.setLoginEventFired=()=>{let t=e.getWpmSessionData();t.loginEventFired=!0,e.setWpmSessionData(t)},e.wpmDataLayerExists=()=>new Promise((e=>{!function t(){if("undefined"!=typeof wpmDataLayer)return e();setTimeout(t,50)}()})),e.jQueryExists=()=>new Promise((e=>{!function t(){if("undefined"!=typeof jQuery)return e();setTimeout(t,100)}()})),e.pageLoaded=()=>new Promise((e=>{!function t(){if("complete"===document.readyState)return e();setTimeout(t,50)}()})),e.pageReady=()=>new Promise((e=>{!function t(){if("interactive"===document.readyState||"complete"===document.readyState)return e();setTimeout(t,50)}()})),e.isMiniCartActive=()=>{if(window.sessionStorage){for(const[e,t]of Object.entries(window.sessionStorage))if(e.includes("wc_fragments"))return!0;return!1}return!1},e.doesWooCommerceCartExist=()=>document.cookie.includes("woocommerce_items_in_cart"),e.urlHasParameter=e=>new URLSearchParams(window.location.search).has(e),e.hashAsync=(e,t)=>crypto.subtle.digest(e,new TextEncoder("utf-8").encode(t)).then((e=>Array.prototype.map.call(new Uint8Array(e),(e=>("00"+e.toString(16)).slice(-2))).join("")))}(window.wpm=window.wpm||{},jQuery)},3534:(e,t,r)=>{r(9584),r(473)},7207:()=>{wpm.wpmDataLayerExists().then((function(){console.log("Pixel Manager for WooCommerce: "+(wpmDataLayer.version.pro?"Pro":"Free")+" Version "+wpmDataLayer.version.number+" loaded"),jQuery(document).trigger("wpmPreLoadPixels",{})})).then((function(){wpm.pageLoaded().then((function(){jQuery(document).trigger("wpmLoad",{})}))})),wpm.pageReady().then((function(){wpm.wpmDataLayerExists().then((function(){wpm.startIntersectionObserverToWatch(),wpm.startProductsMutationObserverToWatch()}))}))}},t={};function r(a){var o=t[a];if(void 0!==o)return o.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(3534),wpm.jQueryExists().then((function(){r(3299),r(8069),r(5012),r(8787),r(7207)}))})();
2
  //# sourceMappingURL=wpm-public.p1.min.js.map
1
+ (()=>{var e={4749:(e,t,r)=>{var a=r(2856),o=r(7406),n=TypeError;e.exports=function(e){if(a(e))return e;throw n(o(e)+" is not a function")}},1342:(e,t,r)=>{var a=r(1286),o=r(8810),n=r(7872).f,i=a("unscopables"),s=Array.prototype;null==s[i]&&n(s,i,{configurable:!0,value:o(null)}),e.exports=function(e){s[i][e]=!0}},448:(e,t,r)=>{var a=r(6873),o=String,n=TypeError;e.exports=function(e){if(a(e))return e;throw n(o(e)+" is not an object")}},5071:(e,t,r)=>{var a=r(5185),o=r(873),n=r(918),i=function(e){return function(t,r,i){var s,c=a(t),d=n(c),p=o(i,d);if(e&&r!=r){for(;d>p;)if((s=c[p++])!=s)return!0}else for(;d>p;p++)if((e||p in c)&&c[p]===r)return e||p||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},5248:(e,t,r)=>{var a=r(547),o=a({}.toString),n=a("".slice);e.exports=function(e){return n(o(e),8,-1)}},632:(e,t,r)=>{var a=r(3208),o=r(5313),n=r(8688),i=r(7872);e.exports=function(e,t,r){for(var s=o(t),c=i.f,d=n.f,p=0;p<s.length;p++){var u=s[p];a(e,u)||r&&a(r,u)||c(e,u,d(t,u))}}},2357:(e,t,r)=>{var a=r(414),o=r(7872),n=r(6730);e.exports=a?function(e,t,r){return o.f(e,t,n(1,r))}:function(e,t,r){return e[t]=r,e}},6730:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},4279:(e,t,r)=>{var a=r(2856),o=r(2357),n=r(1998),i=r(7942);e.exports=function(e,t,r,s){s||(s={});var c=s.enumerable,d=void 0!==s.name?s.name:t;return a(r)&&n(r,d,s),s.global?c?e[t]=r:i(t,r):(s.unsafe?e[t]&&(c=!0):delete e[t],c?e[t]=r:o(e,t,r)),e}},7942:(e,t,r)=>{var a=r(5433),o=Object.defineProperty;e.exports=function(e,t){try{o(a,e,{value:t,configurable:!0,writable:!0})}catch(r){a[e]=t}return t}},414:(e,t,r)=>{var a=r(2933);e.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},2388:(e,t,r)=>{var a=r(5433),o=r(6873),n=a.document,i=o(n)&&o(n.createElement);e.exports=function(e){return i?n.createElement(e):{}}},5575:(e,t,r)=>{var a=r(1272);e.exports=a("navigator","userAgent")||""},5723:(e,t,r)=>{var a,o,n=r(5433),i=r(5575),s=n.process,c=n.Deno,d=s&&s.versions||c&&c.version,p=d&&d.v8;p&&(o=(a=p.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!o&&i&&(!(a=i.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=i.match(/Chrome\/(\d+)/))&&(o=+a[1]),e.exports=o},5604:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},4429:(e,t,r)=>{var a=r(5433),o=r(8688).f,n=r(2357),i=r(4279),s=r(7942),c=r(632),d=r(1476);e.exports=function(e,t){var r,p,u,l,m,g=e.target,y=e.global,w=e.stat;if(r=y?a:w?a[g]||s(g,{}):(a[g]||{}).prototype)for(p in t){if(l=t[p],u=e.dontCallGetSet?(m=o(r,p))&&m.value:r[p],!d(y?p:g+(w?".":"#")+p,e.forced)&&void 0!==u){if(typeof l==typeof u)continue;c(l,u)}(e.sham||u&&u.sham)&&n(l,"sham",!0),i(r,p,l,e)}}},2933:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},3001:(e,t,r)=>{var a=r(2933);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},3573:(e,t,r)=>{var a=r(3001),o=Function.prototype.call;e.exports=a?o.bind(o):function(){return o.apply(o,arguments)}},4081:(e,t,r)=>{var a=r(414),o=r(3208),n=Function.prototype,i=a&&Object.getOwnPropertyDescriptor,s=o(n,"name"),c=s&&"something"===function(){}.name,d=s&&(!a||a&&i(n,"name").configurable);e.exports={EXISTS:s,PROPER:c,CONFIGURABLE:d}},547:(e,t,r)=>{var a=r(3001),o=Function.prototype,n=o.bind,i=o.call,s=a&&n.bind(i,i);e.exports=a?function(e){return e&&s(e)}:function(e){return e&&function(){return i.apply(e,arguments)}}},1272:(e,t,r)=>{var a=r(5433),o=r(2856),n=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?n(a[e]):a[e]&&a[e][t]}},9345:(e,t,r)=>{var a=r(4749);e.exports=function(e,t){var r=e[t];return null==r?void 0:a(r)}},5433:(e,t,r)=>{var a=function(e){return e&&e.Math==Math&&e};e.exports=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},3208:(e,t,r)=>{var a=r(547),o=r(4021),n=a({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return n(o(e),t)}},7557:e=>{e.exports={}},6383:(e,t,r)=>{var a=r(1272);e.exports=a("document","documentElement")},5841:(e,t,r)=>{var a=r(414),o=r(2933),n=r(2388);e.exports=!a&&!o((function(){return 7!=Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))},8946:(e,t,r)=>{var a=r(547),o=r(2933),n=r(5248),i=Object,s=a("".split);e.exports=o((function(){return!i("z").propertyIsEnumerable(0)}))?function(e){return"String"==n(e)?s(e,""):i(e)}:i},2009:(e,t,r)=>{var a=r(547),o=r(2856),n=r(3479),i=a(Function.toString);o(n.inspectSource)||(n.inspectSource=function(e){return i(e)}),e.exports=n.inspectSource},418:(e,t,r)=>{var a,o,n,i=r(3829),s=r(5433),c=r(547),d=r(6873),p=r(2357),u=r(3208),l=r(3479),m=r(8607),g=r(7557),y="Object already initialized",w=s.TypeError,f=s.WeakMap;if(i||l.state){var _=l.state||(l.state=new f),v=c(_.get),h=c(_.has),L=c(_.set);a=function(e,t){if(h(_,e))throw new w(y);return t.facade=e,L(_,e,t),t},o=function(e){return v(_,e)||{}},n=function(e){return h(_,e)}}else{var D=m("state");g[D]=!0,a=function(e,t){if(u(e,D))throw new w(y);return t.facade=e,p(e,D,t),t},o=function(e){return u(e,D)?e[D]:{}},n=function(e){return u(e,D)}}e.exports={set:a,get:o,has:n,enforce:function(e){return n(e)?o(e):a(e,{})},getterFor:function(e){return function(t){var r;if(!d(t)||(r=o(t)).type!==e)throw w("Incompatible receiver, "+e+" required");return r}}}},2856:e=>{e.exports=function(e){return"function"==typeof e}},1476:(e,t,r)=>{var a=r(2933),o=r(2856),n=/#|\.prototype\./,i=function(e,t){var r=c[s(e)];return r==p||r!=d&&(o(t)?a(t):!!t)},s=i.normalize=function(e){return String(e).replace(n,".").toLowerCase()},c=i.data={},d=i.NATIVE="N",p=i.POLYFILL="P";e.exports=i},6873:(e,t,r)=>{var a=r(2856);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},2390:e=>{e.exports=!1},9650:(e,t,r)=>{var a=r(1272),o=r(2856),n=r(7012),i=r(8951),s=Object;e.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return o(t)&&n(t.prototype,s(e))}},918:(e,t,r)=>{var a=r(9262);e.exports=function(e){return a(e.length)}},1998:(e,t,r)=>{var a=r(2933),o=r(2856),n=r(3208),i=r(414),s=r(4081).CONFIGURABLE,c=r(2009),d=r(418),p=d.enforce,u=d.get,l=Object.defineProperty,m=i&&!a((function(){return 8!==l((function(){}),"length",{value:8}).length})),g=String(String).split("String"),y=e.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!n(e,"name")||s&&e.name!==t)&&l(e,"name",{value:t,configurable:!0}),m&&r&&n(r,"arity")&&e.length!==r.arity&&l(e,"length",{value:r.arity});try{r&&n(r,"constructor")&&r.constructor?i&&l(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=p(e);return n(a,"source")||(a.source=g.join("string"==typeof t?t:"")),e};Function.prototype.toString=y((function(){return o(this)&&u(this).source||c(this)}),"toString")},1190:e=>{var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var a=+e;return(a>0?r:t)(a)}},6634:(e,t,r)=>{var a=r(5723),o=r(2933);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},3829:(e,t,r)=>{var a=r(5433),o=r(2856),n=r(2009),i=a.WeakMap;e.exports=o(i)&&/native code/.test(n(i))},8810:(e,t,r)=>{var a,o=r(448),n=r(21),i=r(5604),s=r(7557),c=r(6383),d=r(2388),p=r(8607)("IE_PROTO"),u=function(){},l=function(e){return"<script>"+e+"<\/script>"},m=function(e){e.write(l("")),e.close();var t=e.parentWindow.Object;return e=null,t},g=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}var e,t;g="undefined"!=typeof document?document.domain&&a?m(a):((t=d("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(l("document.F=Object")),e.close(),e.F):m(a);for(var r=i.length;r--;)delete g.prototype[i[r]];return g()};s[p]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(u.prototype=o(e),r=new u,u.prototype=null,r[p]=e):r=g(),void 0===t?r:n.f(r,t)}},21:(e,t,r)=>{var a=r(414),o=r(8272),n=r(7872),i=r(448),s=r(5185),c=r(8454);t.f=a&&!o?Object.defineProperties:function(e,t){i(e);for(var r,a=s(t),o=c(t),d=o.length,p=0;d>p;)n.f(e,r=o[p++],a[r]);return e}},7872:(e,t,r)=>{var a=r(414),o=r(5841),n=r(8272),i=r(448),s=r(29),c=TypeError,d=Object.defineProperty,p=Object.getOwnPropertyDescriptor;t.f=a?n?function(e,t,r){if(i(e),t=s(t),i(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var a=p(e,t);a&&a.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:a.configurable,enumerable:"enumerable"in r?r.enumerable:a.enumerable,writable:!1})}return d(e,t,r)}:d:function(e,t,r){if(i(e),t=s(t),i(r),o)try{return d(e,t,r)}catch(e){}if("get"in r||"set"in r)throw c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},8688:(e,t,r)=>{var a=r(414),o=r(3573),n=r(4017),i=r(6730),s=r(5185),c=r(29),d=r(3208),p=r(5841),u=Object.getOwnPropertyDescriptor;t.f=a?u:function(e,t){if(e=s(e),t=c(t),p)try{return u(e,t)}catch(e){}if(d(e,t))return i(!o(n.f,e,t),e[t])}},7839:(e,t,r)=>{var a=r(209),o=r(5604).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return a(e,o)}},6824:(e,t)=>{t.f=Object.getOwnPropertySymbols},7012:(e,t,r)=>{var a=r(547);e.exports=a({}.isPrototypeOf)},209:(e,t,r)=>{var a=r(547),o=r(3208),n=r(5185),i=r(5071).indexOf,s=r(7557),c=a([].push);e.exports=function(e,t){var r,a=n(e),d=0,p=[];for(r in a)!o(s,r)&&o(a,r)&&c(p,r);for(;t.length>d;)o(a,r=t[d++])&&(~i(p,r)||c(p,r));return p}},8454:(e,t,r)=>{var a=r(209),o=r(5604);e.exports=Object.keys||function(e){return a(e,o)}},4017:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,o=a&&!r.call({1:2},1);t.f=o?function(e){var t=a(this,e);return!!t&&t.enumerable}:r},542:(e,t,r)=>{var a=r(3573),o=r(2856),n=r(6873),i=TypeError;e.exports=function(e,t){var r,s;if("string"===t&&o(r=e.toString)&&!n(s=a(r,e)))return s;if(o(r=e.valueOf)&&!n(s=a(r,e)))return s;if("string"!==t&&o(r=e.toString)&&!n(s=a(r,e)))return s;throw i("Can't convert object to primitive value")}},5313:(e,t,r)=>{var a=r(1272),o=r(547),n=r(7839),i=r(6824),s=r(448),c=o([].concat);e.exports=a("Reflect","ownKeys")||function(e){var t=n.f(s(e)),r=i.f;return r?c(t,r(e)):t}},4630:e=>{var t=TypeError;e.exports=function(e){if(null==e)throw t("Can't call method on "+e);return e}},8607:(e,t,r)=>{var a=r(3062),o=r(5834),n=a("keys");e.exports=function(e){return n[e]||(n[e]=o(e))}},3479:(e,t,r)=>{var a=r(5433),o=r(7942),n="__core-js_shared__",i=a[n]||o(n,{});e.exports=i},3062:(e,t,r)=>{var a=r(2390),o=r(3479);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.22.8",mode:a?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE",source:"https://github.com/zloirock/core-js"})},873:(e,t,r)=>{var a=r(7219),o=Math.max,n=Math.min;e.exports=function(e,t){var r=a(e);return r<0?o(r+t,0):n(r,t)}},5185:(e,t,r)=>{var a=r(8946),o=r(4630);e.exports=function(e){return a(o(e))}},7219:(e,t,r)=>{var a=r(1190);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},9262:(e,t,r)=>{var a=r(7219),o=Math.min;e.exports=function(e){return e>0?o(a(e),9007199254740991):0}},4021:(e,t,r)=>{var a=r(4630),o=Object;e.exports=function(e){return o(a(e))}},9984:(e,t,r)=>{var a=r(3573),o=r(6873),n=r(9650),i=r(9345),s=r(542),c=r(1286),d=TypeError,p=c("toPrimitive");e.exports=function(e,t){if(!o(e)||n(e))return e;var r,c=i(e,p);if(c){if(void 0===t&&(t="default"),r=a(c,e,t),!o(r)||n(r))return r;throw d("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},29:(e,t,r)=>{var a=r(9984),o=r(9650);e.exports=function(e){var t=a(e,"string");return o(t)?t:t+""}},7406:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},5834:(e,t,r)=>{var a=r(547),o=0,n=Math.random(),i=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+i(++o+n,36)}},8951:(e,t,r)=>{var a=r(6634);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8272:(e,t,r)=>{var a=r(414),o=r(2933);e.exports=a&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},1286:(e,t,r)=>{var a=r(5433),o=r(3062),n=r(3208),i=r(5834),s=r(6634),c=r(8951),d=o("wks"),p=a.Symbol,u=p&&p.for,l=c?p:p&&p.withoutSetter||i;e.exports=function(e){if(!n(d,e)||!s&&"string"!=typeof d[e]){var t="Symbol."+e;s&&n(p,e)?d[e]=p[e]:d[e]=c&&u?u(t):l(t)}return d[e]}},3647:(e,t,r)=>{"use strict";r(3647);var a=r(4429),o=r(5071).includes,n=r(2933),i=r(1342);a({target:"Array",proto:!0,forced:n((function(){return!Array(1).includes()}))},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},164:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.facebook?.pixel_id&&!wpmDataLayer?.pixels?.facebook?.loaded&&wpm.canIFire("ads","facebook-ads")&&wpm.loadFacebookPixel()})),jQuery(document).on("wpmAddToCart",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","AddToCart",{content_type:"product",content_name:t.name,content_ids:t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],value:parseFloat(t.quantity*t.price),currency:t.currency},{eventID:e}),t.currency=wpmDataLayer.shop.currency,jQuery(document).trigger("wpmFbCapiEvent",{event_name:"AddToCart",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:wpm.fbGetProductDataForCapiEvent(t)})}catch(e){console.error(e)}})),jQuery(document).on("wpmBeginCheckout",(e=>{try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId(),t={};wpmDataLayer?.cart&&!jQuery.isEmptyObject(wpmDataLayer.cart)&&(t.content_ids=wpm.fbGetContentIdsFromCart(),t.value=wpm.getCartValue(),t.currency=wpmDataLayer.shop.currency),fbq("track","InitiateCheckout",t,{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"InitiateCheckout",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:t})}catch(e){console.error(e)}})),jQuery(document).on("wpmAddToWishlist",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","AddToWishlist",{content_type:"product",content_name:t.name,content_ids:t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],value:parseFloat(t.quantity*t.price),currency:t.currency},{eventID:e}),t.currency=wpmDataLayer.shop.currency,jQuery(document).trigger("wpmFbCapiEvent",{event_name:"AddToWishlist",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:wpm.fbGetProductDataForCapiEvent(t)})}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItem",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;wpm.fbViewContent(t)}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItemNoProduct",(function(e,t){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","ViewContent",{},{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"ViewContent",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href})}catch(e){console.error(e)}})),jQuery(document).on("wpmSearch",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let e=wpm.getRandomEventId();fbq("track","Search",{},{eventID:e}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:"Search",event_id:e,user_data:wpm.getFbUserData(),event_source_url:window.location.href,custom_data:{search_string:wpm.getSearchTermFromUrl()}})}catch(e){console.error(e)}})),jQuery(document).on("wpmLoadAlways",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;wpm.setFbUserData()}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;fbq("track","Purchase",{content_type:"product",value:wpmDataLayer.order.value_filtered,currency:wpmDataLayer.order.currency,content_ids:wpm.facebookContentIds()},{eventID:wpmDataLayer.order.id})}catch(e){console.error(e)}}))},7746:()=>{!function(e,t,r){let a;e.loadFacebookPixel=()=>{try{wpmDataLayer.pixels.facebook.loaded=!0,t=window,r=document,a="script",t.fbq||(o=t.fbq=function(){o.callMethod?o.callMethod.apply(o,arguments):o.queue.push(arguments)},t._fbq||(t._fbq=o),o.push=o,o.loaded=!0,o.version="2.0",o.queue=[],(n=r.createElement(a)).async=!0,n.src="https://connect.facebook.net/en_US/fbevents.js",(i=r.getElementsByTagName(a)[0]).parentNode.insertBefore(n,i));let s={};e.isFbpSet()&&(s={...e.getUserIdentifiersForFb()}),fbq("init",wpmDataLayer.pixels.facebook.pixel_id,s),fbq("track","PageView")}catch(a){console.error(a)}var t,r,a,o,n,i},e.getUserIdentifiersForFb=()=>{let e={};return wpmDataLayer?.user?.id&&(e.external_id=wpmDataLayer.user.id),wpmDataLayer?.order?.user_id&&(e.external_id=wpmDataLayer.order.user_id),wpmDataLayer?.user?.facebook?.email&&(e.em=wpmDataLayer.user.facebook.email),wpmDataLayer?.order?.billing_email_hashed&&(e.em=wpmDataLayer.order.billing_email_hashed),wpmDataLayer?.user?.facebook?.first_name&&(e.fn=wpmDataLayer.user.facebook.first_name),wpmDataLayer?.order?.billing_first_name&&(e.fn=wpmDataLayer.order.billing_first_name.toLowerCase()),wpmDataLayer?.user?.facebook?.last_name&&(e.ln=wpmDataLayer.user.facebook.last_name),wpmDataLayer?.order?.billing_last_name&&(e.ln=wpmDataLayer.order.billing_last_name.toLowerCase()),wpmDataLayer?.user?.facebook?.phone&&(e.ph=wpmDataLayer.user.facebook.phone),wpmDataLayer?.order?.billing_phone&&(e.ph=wpmDataLayer.order.billing_phone.replace("+","")),wpmDataLayer?.user?.facebook?.city&&(e.ct=wpmDataLayer.user.facebook.city),wpmDataLayer?.order?.billing_city&&(e.ct=wpmDataLayer.order.billing_city.toLowerCase().replace(/ /g,"")),wpmDataLayer?.user?.facebook?.state&&(e.st=wpmDataLayer.user.facebook.state),wpmDataLayer?.order?.billing_state&&(e.st=wpmDataLayer.order.billing_state.toLowerCase().replace(/[a-zA-Z]{2}-/,"")),wpmDataLayer?.user?.facebook?.postcode&&(e.zp=wpmDataLayer.user.facebook.postcode),wpmDataLayer?.order?.billing_postcode&&(e.zp=wpmDataLayer.order.billing_postcode),wpmDataLayer?.user?.facebook?.country&&(e.country=wpmDataLayer.user.facebook.country),wpmDataLayer?.order?.billing_country&&(e.country=wpmDataLayer.order.billing_country.toLowerCase()),e},e.getRandomEventId=()=>(Math.random()+1).toString(36).substring(2),e.getFbUserData=()=>(a={...a,...e.getFbUserDataFromBrowser()},a),e.setFbUserData=()=>{a=e.getFbUserDataFromBrowser()},e.getFbUserDataFromBrowser=()=>{let t={};return e.getCookie("_fbp")&&e.isValidFbp(e.getCookie("_fbp"))&&(t.fbp=e.getCookie("_fbp")),e.getCookie("_fbc")&&e.isValidFbc(e.getCookie("_fbc"))&&(t.fbc=e.getCookie("_fbc")),wpmDataLayer?.user?.id&&(t.external_id=wpmDataLayer.user.id),navigator.userAgent&&(t.client_user_agent=navigator.userAgent),t},e.isFbpSet=()=>!!e.getCookie("_fbp"),e.isValidFbp=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.\d{8,20}$/).test(e),e.isValidFbc=e=>new RegExp(/^fb\.[0-2]\.\d{13}\.[\da-zA-Z_-]{8,}/).test(e),e.fbViewContent=function(){let t=arguments.length>0&&arguments[0]!==r?arguments[0]:null;try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let r=e.getRandomEventId(),a={};t&&(a.content_type="product",a.content_name=t.name,a.content_ids=t.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],a.currency=wpmDataLayer.shop.currency,a.value=t.price),fbq("track","ViewContent",a,{eventID:r});let o={event_name:"ViewContent",event_id:r,user_data:e.getFbUserData(),event_source_url:window.location.href};t&&(t.currency=wpmDataLayer.shop.currency,o.custom_data=e.fbGetProductDataForCapiEvent(t)),jQuery(document).trigger("wpmFbCapiEvent",o)}catch(e){console.error(e)}},e.fbGetProductDataForCapiEvent=e=>({content_type:"product",content_ids:[e.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]],value:e.quantity*e.price,currency:wpmDataLayer.shop.currency}),e.facebookContentIds=()=>{let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items))wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?e.push(String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type])):e.push(String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]));return e},e.trackCustomFacebookEvent=function(t){let a=arguments.length>1&&arguments[1]!==r?arguments[1]:{};try{if(!wpmDataLayer?.pixels?.facebook?.loaded)return;let r=e.getRandomEventId();fbq("trackCustom",t,a,{eventID:r}),jQuery(document).trigger("wpmFbCapiEvent",{event_name:t,event_id:r,user_data:e.getFbUserData(),event_source_url:window.location.href,custom_data:a})}catch(e){console.error(e)}},e.fbGetContentIdsFromCart=()=>{let e=[];for(const t in wpmDataLayer.cart)e.push(wpmDataLayer.products[t].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]);return e}}(window.wpm=window.wpm||{},jQuery)},5012:(e,t,r)=>{r(7746),r(164)},165:()=>{jQuery(document).on("wpmViewItemList",(function(e,t){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;if(wpmDataLayer?.general?.variationsOutput&&t.isVariable&&!1===wpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids)return;if(!t)return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),items:[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_item_list",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmAddToCart",(function(e,t){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),value:t.quantity*t.price,items:[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],quantity:t.quantity,price:t.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","add_to_cart",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmViewItem",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers()};t&&(e.value=(t.quantity?t.quantity:1)*t.price,e.items=[{id:t.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],quantity:t.quantity?t.quantity:1,price:t.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical}]),wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_item",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmSearch",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e=[];for(const[t,r]of Object.entries(wpmDataLayer.products)){if(wpmDataLayer?.general?.variationsOutput&&r.isVariable&&!1===wpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids)return;e.push({id:r.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical})}let t={send_to:wpm.getGoogleAdsConversionIdentifiers(),items:e};wpmDataLayer?.user?.id&&(t.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","view_search_results",t)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers(),value:wpmDataLayer.order.value_filtered,items:wpm.getGoogleAdsDynamicRemarketingOrderItems()};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","purchase",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmLogin",(function(){try{if(jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))return;if(!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status)return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={send_to:wpm.getGoogleAdsConversionIdentifiers()};wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpm.gtagLoaded().then((function(){gtag("event","login",e)}))}catch(e){console.error(e)}})),jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(jQuery.isEmptyObject(wpm.getGoogleAdsConversionIdentifiersWithLabel()))return;if(!wpm.googleConfigConditionsMet("ads"))return;let e={},t={};e={send_to:wpm.getGoogleAdsConversionIdentifiersWithLabel(),transaction_id:wpmDataLayer.order.number,value:wpmDataLayer.order.value_filtered,currency:wpmDataLayer.order.currency,new_customer:wpmDataLayer.order.new_customer},wpmDataLayer?.order?.clv_order_value_filtered&&(e.customer_lifetime_value=wpmDataLayer.order.clv_order_value_filtered),wpmDataLayer?.user?.id&&(e.user_id=wpmDataLayer.user.id),wpmDataLayer?.order?.aw_merchant_id&&(t={discount:wpmDataLayer.order.discount,aw_merchant_id:wpmDataLayer.order.aw_merchant_id,aw_feed_country:wpmDataLayer.order.aw_feed_country,aw_feed_language:wpmDataLayer.order.aw_feed_language,items:wpm.getGoogleAdsRegularOrderItems()}),wpm.gtagLoaded().then((function(){gtag("event","conversion",{...e,...t})}))}catch(e){console.error(e)}}))},9042:()=>{!function(e,t,r){e.getGoogleAdsConversionIdentifiersWithLabel=function(){let e=[];if(wpmDataLayer?.pixels?.google?.ads?.conversionIds)for(const[t,r]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))r&&e.push(t+"/"+r);return e},e.getGoogleAdsConversionIdentifiers=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))e.push(t);return e},e.getGoogleAdsRegularOrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t)):(t.id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t))}return e},e.getGoogleAdsDynamicRemarketingOrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price,google_business_vertical:wpmDataLayer.pixels.google.ads.google_business_vertical},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t)):(t.id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type]),e.push(t))}return e}}(window.wpm=window.wpm||{},jQuery)},5190:(e,t,r)=>{r(9042),r(165)},3625:()=>{jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id)return;if(wpmDataLayer?.pixels?.google?.analytics?.universal?.mp_active)return;if(!wpm.googleConfigConditionsMet("analytics"))return;wpm.gtagLoaded().then((function(){gtag("event","purchase",{send_to:[wpmDataLayer.pixels.google.analytics.universal.property_id],transaction_id:wpmDataLayer.order.number,affiliation:wpmDataLayer.order.affiliation,currency:wpmDataLayer.order.currency,value:wpmDataLayer.order.value_regular,discount:wpmDataLayer.order.discount,tax:wpmDataLayer.order.tax,shipping:wpmDataLayer.order.shipping,coupon:wpmDataLayer.order.coupon,items:wpm.getGAUAOrderItems()})}))}catch(e){console.error(e)}}))},6019:()=>{!function(e,t,r){e.getGAUAOrderItems=function(){let t=[];for(const[r,a]of Object.entries(wpmDataLayer.order.items)){let r;r={quantity:a.quantity,price:a.price,name:a.name,currency:wpmDataLayer.order.currency,category:wpmDataLayer.products[a.id].category.join("/")},wpmDataLayer?.general?.variationsOutput&&0!==a.variation_id?(r.id=String(wpmDataLayer.products[a.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),r.variant=wpmDataLayer.products[a.variation_id].variant_name,r.brand=wpmDataLayer.products[a.variation_id].brand):(r.id=String(wpmDataLayer.products[a.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),r.brand=wpmDataLayer.products[a.id].brand),r=e.ga3AddListNameToProduct(r),t.push(r)}return t},e.ga3AddListNameToProduct=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:null;return e.list_name=wpmDataLayer.shop.list_name,t&&(e.list_position=t),e}}(window.wpm=window.wpm||{},jQuery)},562:(e,t,r)=>{r(6019),r(3625)},7572:()=>{jQuery(document).on("wpmOrderReceivedPage",(function(){try{if(!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id)return;if(wpmDataLayer?.pixels?.google?.analytics?.ga4?.mp_active)return;if(!wpm.googleConfigConditionsMet("analytics"))return;wpm.gtagLoaded().then((function(){gtag("event","purchase",{send_to:[wpmDataLayer.pixels.google.analytics.ga4.measurement_id],transaction_id:wpmDataLayer.order.number,affiliation:wpmDataLayer.order.affiliation,currency:wpmDataLayer.order.currency,value:wpmDataLayer.order.value_regular,discount:wpmDataLayer.order.discount,tax:wpmDataLayer.order.tax,shipping:wpmDataLayer.order.shipping,coupon:wpmDataLayer.order.coupon,items:wpm.getGA4OrderItems()})}))}catch(e){console.error(e)}}))},6228:()=>{!function(e,t,r){e.getGA4OrderItems=function(){let e=[];for(const[t,r]of Object.entries(wpmDataLayer.order.items)){let t;t={quantity:r.quantity,price:r.price,item_name:r.name,currency:wpmDataLayer.order.currency,item_category:wpmDataLayer.products[r.id].category.join("/")},wpmDataLayer?.general?.variationsOutput&&0!==r.variation_id?(t.item_id=String(wpmDataLayer.products[r.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),t.item_variant=wpmDataLayer.products[r.variation_id].variant_name,t.item_brand=wpmDataLayer.products[r.variation_id].brand):(t.item_id=String(wpmDataLayer.products[r.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type]),t.item_brand=wpmDataLayer.products[r.id].brand),e.push(t)}return e}}(window.wpm=window.wpm||{},jQuery)},8522:(e,t,r)=>{r(6228),r(7572)},6774:(e,t,r)=>{r(562),r(8522)},9294:()=>{jQuery(document).on("wpmLoadPixels",(function(){void 0===wpmDataLayer?.pixels?.google?.state&&(wpm.canGoogleLoad()?wpm.loadGoogle():wpm.logPreventedPixelLoading("google","analytics / ads"))}))},9860:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){e.googleConfigConditionsMet=function(t){return!!wpmDataLayer?.pixels?.google?.consent_mode?.active||("category"===e.getConsentValues().mode?!0===e.getConsentValues().categories[t]:"pixel"===e.getConsentValues().mode&&e.getConsentValues().pixels.includes("google-"+t))},e.getVisitorConsentStatusAndUpdateGoogleConsentSettings=function(t){return"category"===e.getConsentValues().mode?(e.getConsentValues().categories.analytics&&(t.analytics_storage="granted"),e.getConsentValues().categories.ads&&(t.ad_storage="granted")):"pixel"===e.getConsentValues().mode&&(t.analytics_storage=e.getConsentValues().pixels.includes("google-analytics")?"granted":"denied",t.ad_storage=e.getConsentValues().pixels.includes("google-ads")?"granted":"denied"),t},e.updateGoogleConsentMode=function(){let e=!(arguments.length>0&&arguments[0]!==r)||arguments[0],t=!(arguments.length>1&&arguments[1]!==r)||arguments[1];try{if(!window.gtag||!wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent)return;gtag("consent","update",{analytics_storage:e?"granted":"denied",ad_storage:t?"granted":"denied"})}catch(e){console.error(e)}},e.fireGtagGoogleAds=function(){try{if(wpmDataLayer.pixels.google.ads.state="loading",wpmDataLayer?.pixels?.google?.ads?.enhanced_conversions?.active)for(const[e,t]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))gtag("config",e,{allow_enhanced_conversions:!0});else for(const[e,t]of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds))gtag("config",e);wpmDataLayer?.pixels?.google?.ads?.conversionIds&&wpmDataLayer?.pixels?.google?.ads?.phone_conversion_label&&wpmDataLayer?.pixels?.google?.ads?.phone_conversion_number&&gtag("config",Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]+"/"+wpmDataLayer.pixels.google.ads.phone_conversion_label,{phone_conversion_number:wpmDataLayer.pixels.google.ads.phone_conversion_number}),wpmDataLayer?.shop?.page_type&&"order_received_page"===wpmDataLayer.shop.page_type&&wpmDataLayer?.order?.google?.ads?.enhanced_conversion_data&&gtag("set","user_data",wpmDataLayer.order.google.ads.enhanced_conversion_data),wpmDataLayer.pixels.google.ads.state="ready"}catch(e){console.error(e)}},e.fireGtagGoogleAnalyticsUA=function(){try{wpmDataLayer.pixels.google.analytics.universal.state="loading",gtag("config",wpmDataLayer.pixels.google.analytics.universal.property_id,wpmDataLayer.pixels.google.analytics.universal.parameters),wpmDataLayer.pixels.google.analytics.universal.state="ready"}catch(e){console.error(e)}},e.fireGtagGoogleAnalyticsGA4=function(){try{wpmDataLayer.pixels.google.analytics.ga4.state="loading";let e=wpmDataLayer.pixels.google.analytics.ga4.parameters;wpmDataLayer?.pixels?.google?.analytics?.ga4?.debug_mode&&(e.debug_mode=!0),gtag("config",wpmDataLayer.pixels.google.analytics.ga4.measurement_id,e),wpmDataLayer.pixels.google.analytics.ga4.state="ready"}catch(e){console.error(e)}},e.isGoogleActive=function(){return!(!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id&&!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id&&jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds))},e.getGoogleGtagId=function(){return wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id?wpmDataLayer.pixels.google.analytics.universal.property_id:wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id?wpmDataLayer.pixels.google.analytics.ga4.measurement_id:Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]},e.loadGoogle=function(){e.isGoogleActive()&&(wpmDataLayer.pixels.google.state="loading",e.loadScriptAndCacheIt("https://www.googletagmanager.com/gtag/js?id="+e.getGoogleGtagId()).done((function(t,r){try{if(window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},wpmDataLayer?.pixels?.google?.consent_mode?.active){let t={ad_storage:wpmDataLayer.pixels.google.consent_mode.ad_storage,analytics_storage:wpmDataLayer.pixels.google.consent_mode.analytics_storage,wait_for_update:wpmDataLayer.pixels.google.consent_mode.wait_for_update};wpmDataLayer?.pixels?.google?.consent_mode?.region&&(t.region=wpmDataLayer.pixels.google.consent_mode.region),t=e.getVisitorConsentStatusAndUpdateGoogleConsentSettings(t),gtag("consent","default",t),gtag("set","ads_data_redaction",wpmDataLayer.pixels.google.consent_mode.ads_data_redaction),gtag("set","url_passthrough",wpmDataLayer.pixels.google.consent_mode.url_passthrough)}wpmDataLayer?.pixels?.google?.linker?.settings&&gtag("set","linker",wpmDataLayer.pixels.google.linker.settings),gtag("js",new Date),jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)||(e.googleConfigConditionsMet("ads")?e.fireGtagGoogleAds():e.logPreventedPixelLoading("google-ads","ads")),wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id&&(e.googleConfigConditionsMet("analytics")?e.fireGtagGoogleAnalyticsUA():e.logPreventedPixelLoading("google-universal-analytics","analytics")),wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id&&(e.googleConfigConditionsMet("analytics")?e.fireGtagGoogleAnalyticsGA4():e.logPreventedPixelLoading("ga4","analytics")),wpmDataLayer.pixels.google.state="ready"}catch(e){console.error(e)}})))},e.canGoogleLoad=function(){return!!wpmDataLayer?.pixels?.google?.consent_mode?.active||("category"===e.getConsentValues().mode?!(!e.getConsentValues().categories.ads&&!e.getConsentValues().categories.analytics):"pixel"===e.getConsentValues().mode?e.getConsentValues().pixels.includes("google-ads")||e.getConsentValues().pixels.includes("google-analytics"):(console.error("Couldn't find a valid load condition for Google mode in wpmConsentValues"),!1))},e.gtagLoaded=function(){return new Promise((function(e,t){void 0===wpmDataLayer?.pixels?.google?.state&&t();let r=0;!function a(){return"ready"===wpmDataLayer?.pixels?.google?.state?e():r>=5e3?t():(r+=200,void setTimeout(a,200))}()}))}}(window.wpm=window.wpm||{},jQuery)},1580:(e,t,r)=>{r(9860),r(9294)},8069:(e,t,r)=>{r(1580),r(5190),r(6774),r(3463)},1945:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.google?.optimize?.container_id&&!wpmDataLayer?.pixels?.google?.optimize?.loaded&&wpm.canIFire("analytics","google-optimize")&&wpm.load_google_optimize_pixel()}))},8962:()=>{!function(e,t,r){e.load_google_optimize_pixel=function(){try{wpmDataLayer.pixels.google.optimize.loaded=!0,e.loadScriptAndCacheIt("https://www.googleoptimize.com/optimize.js?id="+wpmDataLayer.pixels.google.optimize.container_id)}catch(e){console.error(e)}}}(window.wpm=window.wpm||{},jQuery)},3463:(e,t,r)=>{r(8962),r(1945)},2300:()=>{jQuery(document).on("wpmLoadPixels",(function(){wpmDataLayer?.pixels?.hotjar?.site_id&&!wpmDataLayer?.pixels?.hotjar?.loaded&&wpm.canIFire("analytics","hotjar")&&!wpmDataLayer?.pixels?.hotjar?.loaded&&wpm.load_hotjar_pixel()}))},2376:()=>{!function(e,t,r){e.load_hotjar_pixel=function(){try{wpmDataLayer.pixels.hotjar.loaded=!0,e=window,t=document,e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:wpmDataLayer.pixels.hotjar.site_id,hjsv:6},r=t.getElementsByTagName("head")[0],(a=t.createElement("script")).async=1,a.src="https://static.hotjar.com/c/hotjar-"+e._hjSettings.hjid+".js?sv="+e._hjSettings.hjsv,r.appendChild(a)}catch(e){console.error(e)}var e,t,r,a}}(window.wpm=window.wpm||{},jQuery)},8787:(e,t,r)=>{r(2376),r(2300)},473:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){let a=()=>{let t=e.getCookie("cmplz_statistics"),r=e.getCookie("cmplz_marketing");return!(!e.getCookie("cmplz_consent_status")&&!e.getCookie("cmplz_banner-status"))&&{analytics:"allow"===t,ads:"allow"===r,visitorHasChosen:!0}},o=()=>{let t=e.getCookie("cookielawinfo-checkbox-analytics")||e.getCookie("cookielawinfo-checkbox-analytiques"),r=e.getCookie("cookielawinfo-checkbox-advertisement")||e.getCookie("cookielawinfo-checkbox-performance")||e.getCookie("cookielawinfo-checkbox-publicite"),a=e.getCookie("CookieLawInfoConsent");return!(!t&&!r)&&{analytics:"yes"===t,ads:"yes"===r,visitorHasChosen:!!a}},n={categories:{},pixels:[],mode:"category",visitorHasChosen:!1};e.getConsentValues=()=>n,e.setConsentValueCategories=function(){let e=arguments.length>0&&arguments[0]!==r&&arguments[0],t=arguments.length>1&&arguments[1]!==r&&arguments[1];n.categories.analytics=e,n.categories.ads=t},e.updateConsentCookieValues=function(){let t,i=arguments.length>0&&arguments[0]!==r?arguments[0]:null,s=arguments.length>1&&arguments[1]!==r?arguments[1]:null,c=arguments.length>2&&arguments[2]!==r&&arguments[2];i||s?(i&&(n.categories.analytics=!!i),s&&(n.categories.ads=!!s)):(t=e.getCookie("CookieConsent"))?(t=decodeURI(t),n.categories.analytics=t.indexOf("statistics:true")>=0,n.categories.ads=t.indexOf("marketing:true")>=0,n.visitorHasChosen=!0):(t=e.getCookie("CookieScriptConsent"))?(t=JSON.parse(t),"reject"===t.action?(n.categories.analytics=!1,n.categories.ads=!1):2===t.categories.length?(n.categories.analytics=!0,n.categories.ads=!0):(n.categories.analytics=t.categories.indexOf("performance")>=0,n.categories.ads=t.categories.indexOf("targeting")>=0),n.visitorHasChosen=!0):(t=e.getCookie("borlabs-cookie"))?(t=decodeURI(t),t=JSON.parse(t),n.categories.analytics=!!t?.consents?.statistics,n.categories.ads=!!t?.consents?.marketing,n.visitorHasChosen=!0,n.pixels=[...t?.consents?.statistics||[],...t?.consents?.marketing||[]],n.mode="pixel"):(t=a())?(n.categories.analytics=!0===t.analytics,n.categories.ads=!0===t.ads,n.visitorHasChosen=t.visitorHasChosen):(t=e.getCookie("cookie_notice_accepted"))?(n.categories.analytics=!0,n.categories.ads=!0,n.visitorHasChosen=!0):(t=e.getCookie("hu-consent"))?(t=JSON.parse(t),n.categories.analytics=!!t.categories[3],n.categories.ads=!!t.categories[4],n.visitorHasChosen=!0):(t=o())?(n.categories.analytics=!0===t.analytics,n.categories.ads=!0===t.ads,n.visitorHasChosen=!0===t.visitorHasChosen):(t=e.getCookie("moove_gdpr_popup"))?(t=JSON.parse(t),n.categories.analytics="1"===t.thirdparty,n.categories.ads="1"===t.advanced,n.visitorHasChosen=!0):(n.categories.analytics=!c,n.categories.ads=!c)},e.updateConsentCookieValues(),e.setConsentDefaultValuesToExplicit=()=>{n.categories={analytics:!1,ads:!1}},e.canIFire=(t,r)=>{let a;return"category"===n.mode?a=!!n.categories[t]:"pixel"===n.mode?(a=n.pixels.includes(r),!1===a&&"microsoft-ads"===r&&(a=n.pixels.includes("bing-ads"))):(console.error("Couldn't find a valid consent mode in wpmConsentValues"),a=!1),!!a||(e.logPreventedPixelLoading(r,t),!1)},e.logPreventedPixelLoading=(e,t)=>{wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent?console.log('Pixel Manager for WooCommerce: The "'+e+" (category: "+t+')" pixel has not fired because you have not given consent for it yet. (WPM is in explicit consent mode.)'):console.log('Pixel Manager for WooCommerce: The "'+e+" (category: "+t+')" pixel has not fired because you have removed consent for this pixel. (WPM is in implicit consent mode.)')},e.scriptTagObserver=new MutationObserver((r=>{r.forEach((r=>{let{addedNodes:a}=r;[...a].forEach((r=>{t(r).data("wpm-cookie-category")&&(e.shouldScriptBeActive(r)?e.unblockScript(r):e.blockScript(r))}))}))})),e.scriptTagObserver.observe(document.head,{childList:!0,subtree:!0}),jQuery(document).on("DOMContentLoaded",(()=>e.scriptTagObserver.disconnect())),e.shouldScriptBeActive=e=>!((wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent||n.visitorHasChosen)&&("category"!==n.mode||!t(e).data("wpm-cookie-category").split(",").some((e=>n.categories[e])))&&("pixel"!==n.mode||!n.pixels.includes(t(e).data("wpm-pixel-name")))&&("pixel"!==n.mode||"google"!==t(e).data("wpm-pixel-name")||!["google-analytics","google-ads"].some((e=>n.pixels.includes(e))))&&(!wpmDataLayer?.pixels?.google?.consent_mode?.active||"google"!==t(e).data("wpm-pixel-name"))),e.unblockScript=function(e){let a=arguments.length>1&&arguments[1]!==r&&arguments[1];a&&t(e).remove();let o=t(e).data("wpm-src");o&&t(e).attr("src",o),e.type="text/javascript",a&&t(e).appendTo("head"),jQuery(document).trigger("wpmPreLoadPixels",{})},e.blockScript=function(e){let a=arguments.length>1&&arguments[1]!==r&&arguments[1];a&&t(e).remove(),t(e).attr("src")&&t(e).removeAttr("src"),e.type="blocked/javascript",a&&t(e).appendTo("head")},e.unblockAllScripts=function(){jQuery(document).trigger("wpmPreLoadPixels",{})},e.unblockSelectedPixels=()=>{jQuery(document).trigger("wpmPreLoadPixels",{})},jQuery(document).on("borlabs-cookie-consent-saved",(()=>{e.updateConsentCookieValues(),"pixel"===n.mode?(e.unblockSelectedPixels(),e.updateGoogleConsentMode(n.pixels.includes("google-analytics"),n.pixels.includes("google-ads"))):(e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads))})),jQuery(document).on("CookiebotOnAccept",(()=>{Cookiebot.consent.statistics&&(n.categories.analytics=!0),Cookiebot.consent.marketing&&(n.categories.ads=!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)}),!1),jQuery(document).on("CookieScriptAccept",(t=>{t.detail.categories.includes("performance")&&(n.categories.analytics=!0),t.detail.categories.includes("targeting")&&(n.categories.ads=!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)})),jQuery(document).on("CookieScriptAcceptAll",(()=>{e.unblockAllScripts(!0,!0),e.updateGoogleConsentMode(!0,!0)})),e.cmplzStatusChange=t=>{t.detail.categories.includes("statistics")&&e.updateConsentCookieValues(!0,null),t.detail.categories.includes("marketing")&&e.updateConsentCookieValues(null,!0),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)},jQuery(document).on("cmplzStatusChange",e.cmplzStatusChange),jQuery(document).on("cmplz_status_change",e.cmplzStatusChange),jQuery(document).on("setCookieNotice",(()=>{e.updateConsentCookieValues(),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)})),e.huObserver=new MutationObserver((t=>{t.forEach((t=>{let{addedNodes:r}=t;[...r].forEach((t=>{"hu"===t.id&&jQuery(".hu-cookies-save").on("click",(function(){e.updateConsentCookieValues(),e.unblockAllScripts(n.categories.analytics,n.categories.ads),e.updateGoogleConsentMode(n.categories.analytics,n.categories.ads)}))}))}))})),window.hu&&e.huObserver.observe(document.documentElement||document.body,{childList:!0,subtree:!0}),e.explicitConsentStateAlreadySet=()=>{if(n.explicitConsentStateAlreadySet)return!0;n.explicitConsentStateAlreadySet=!0}}(window.wpm=window.wpm||{},jQuery)},3299:(e,t,r)=>{"use strict";r.r(t),r(3647),jQuery(document).on("click",".remove_from_cart_button, .remove",(function(){try{let e=new URL(jQuery(this).attr("href")),t=wpm.getProductIdByCartItemKeyUrl(e);wpm.removeProductFromCart(t)}catch(e){console.error(e)}})),jQuery(document).on("click",".add_to_cart_button:not(.product_type_variable), .ajax_add_to_cart, .single_add_to_cart_button",(function(){try{let e,t=1;e:if("product"===wpmDataLayer.shop.page_type){if(void 0!==jQuery(this).attr("href")&&jQuery(this).attr("href").includes("add-to-cart")){e=jQuery(this).data("product_id");break e}if("simple"===wpmDataLayer.shop.product_type){t=Number(jQuery(".input-text.qty").val()),t||0===t||(t=1),e=jQuery(this).val();break e}if(["variable","variable-subscription"].indexOf(wpmDataLayer.shop.product_type)>=0){t=Number(jQuery(".input-text.qty").val()),t||0===t||(t=1),e=jQuery("[name='variation_id']").val();break e}if("grouped"===wpmDataLayer.shop.product_type){jQuery(".woocommerce-grouped-product-list-item").each((function(){t=Number(jQuery(this).find(".input-text.qty").val()),t||0===t||(t=1);let r=jQuery(this).attr("class");e=wpm.getPostIdFromString(r)}));break e}if("bundle"===wpmDataLayer.shop.product_type){t=Number(jQuery(".input-text.qty").val()),t||0===t||(t=1),e=jQuery("input[name=add-to-cart]").val();break e}}else e=jQuery(this).data("product_id");wpm.addProductToCart(e,t)}catch(e){console.error(e)}})),jQuery(document).one("click","a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)",(function(e){try{if(jQuery(e.target).closest("a").attr("href")){let t=jQuery(e.target).closest("a").attr("href");if(t.includes("add-to-cart=")){let e=t.match(/(add-to-cart=)(\d+)/);e&&wpm.addProductToCart(e[2],1)}}}catch(e){console.error(e)}})),jQuery(document).on("click",".woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product",(function(){try{let e=jQuery(this).nextAll(".wpmProductId:first").data("id");if(e){if(e=wpm.getIdBasedOndVariationsOutputSetting(e),!e)throw Error("Wasn't able to retrieve a productId");if(wpmDataLayer.products&&wpmDataLayer.products[e]){let t=wpm.getProductDetailsFormattedForEvent(e);jQuery(document).trigger("wpmSelectContentGaUa",t),jQuery(document).trigger("wpmSelectItem",t)}}}catch(e){console.error(e)}})),jQuery(document).one("click",[".checkout-button",".cart-checkout-button",".button.checkout",".xoo-wsc-ft-btn-checkout"].join(","),(function(){jQuery(document).trigger("wpmBeginCheckout")})),jQuery(document).on("input","#billing_email",(function(){wpm.isEmail(jQuery(this).val())&&(wpm.fireCheckoutProgress(2),wpm.emailSelected=!0)})),jQuery(document).on("click",".wc_payment_methods",(function(){!1===wpm.paymentMethodSelected&&wpm.fireCheckoutProgress(3),wpm.fireCheckoutOption(3,jQuery("input[name='payment_method']:checked").val()),wpm.paymentMethodSelected=!0})),jQuery(document).one("click","#place_order",(function(){!1===wpm.emailSelected&&wpm.fireCheckoutProgress(2),!1===wpm.paymentMethodSelected&&(wpm.fireCheckoutProgress(3),wpm.fireCheckoutOption(3,jQuery("input[name='payment_method']:checked").val())),wpm.fireCheckoutProgress(4)})),jQuery(document).on("click","[name='update_cart']",(function(){try{jQuery(".cart_item").each((function(){let e=new URL(jQuery(this).find(".product-remove").find("a").attr("href")),t=wpm.getProductIdByCartItemKeyUrl(e),r=jQuery(this).find(".qty").val();0===r?wpm.removeProductFromCart(t):r<wpmDataLayer.cart[t].quantity?wpm.removeProductFromCart(t,wpmDataLayer.cart[t].quantity-r):r>wpmDataLayer.cart[t].quantity&&wpm.addProductToCart(t,r-wpmDataLayer.cart[t].quantity)}))}catch(e){console.error(e),wpm.getCartItemsFromBackend()}})),jQuery(document).on("click",".add_to_wishlist, .wl-add-to",(function(){try{let e;if(jQuery(this).data("productid")?e=jQuery(this).data("productid"):jQuery(this).data("product-id")&&(e=jQuery(this).data("product-id")),!e)throw Error("Wasn't able to retrieve a productId");let t=wpm.getProductDetailsFormattedForEvent(e);jQuery(document).trigger("wpmAddToWishlist",t)}catch(e){console.error(e)}})),jQuery(document).on("updated_cart_totals",(function(){jQuery(document).trigger("wpmViewCart")})),jQuery((function(){jQuery(".single_variation_wrap").on("show_variation",(function(e,t){try{let e=wpm.getIdBasedOndVariationsOutputSetting(t.variation_id);if(!e)throw Error("Wasn't able to retrieve a productId");wpm.triggerViewItemEventPrep(e)}catch(e){console.error(e)}}))})),jQuery(document).on("wpmLoad",(function(){try{wpm.doesWooCommerceCartExist()&&wpm.getCartItems()}catch(e){console.error(e)}})),jQuery(document).on("wpmLoad",(function(){wpmDataLayer.products=wpmDataLayer.products||{};let e=wpm.getAddToCartLinkProductIds();wpm.getProductsFromBackend(e)})),jQuery(document).on("wpmLoad",(function(){if(!wpm.getCookie("wpmReferrer")&&document.referrer){let e=new URL(document.referrer).hostname;e!==window.location.host&&wpm.setCookie("wpmReferrer",e)}})),jQuery(document).on("wpmLoad",(function(){try{if("undefined"!=typeof wpmDataLayer&&!wpmDataLayer?.wpmLoadFired){if(jQuery(document).trigger("wpmLoadAlways"),wpmDataLayer?.shop)if("product"===wpmDataLayer.shop.page_type&&"variable"!==wpmDataLayer.shop.product_type&&wpm.getMainProductIdFromProductPage()){let e=wpm.getProductDataForViewItemEvent(wpm.getMainProductIdFromProductPage());jQuery(document).trigger("wpmViewItem",e)}else"product_category"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmCategory"):"search"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmSearch"):"cart"===wpmDataLayer.shop.page_type?jQuery(document).trigger("wpmViewCart"):"order_received_page"===wpmDataLayer.shop.page_type&&wpmDataLayer.order?wpm.isOrderIdStored(wpmDataLayer.order.id)||(jQuery(document).trigger("wpmOrderReceivedPage"),wpm.writeOrderIdToStorage(wpmDataLayer.order.id)):jQuery(document).trigger("wpmEverywhereElse");else jQuery(document).trigger("wpmEverywhereElse");wpmDataLayer?.user?.id&&!wpm.hasLoginEventFired()&&(jQuery(document).trigger("wpmLogin"),wpm.setLoginEventFired()),wpmDataLayer.wpmLoadFired=!0}}catch(e){console.error(e)}})),jQuery(document).on("wpmPreLoadPixels",(function(){wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent&&!wpm.explicitConsentStateAlreadySet()&&wpm.updateConsentCookieValues(null,null,!0),jQuery(document).trigger("wpmLoadPixels",{})}))},9584:(e,t,r)=>{"use strict";r.r(t),r(3647),function(e,t,r){const a="_wpm_order_ids",o="_wpm_endpoint_available",n="/wp-json/";function i(){return""!==e.getCookie(a)}e.emailSelected=!1,e.paymentMethodSelected=!1,e.useRestEndpoint=()=>e.isSessionStorageAvailable()&&e.isRestEndpointAvailable()&&e.isBelowRestErrorThreshold(),e.isBelowRestErrorThreshold=()=>window.sessionStorage.getItem(0)<=10,e.isRestEndpointAvailable=()=>{if(window.sessionStorage.getItem(o))return JSON.parse(window.sessionStorage.getItem(o));e.testEndpoint()},e.isSessionStorageAvailable=()=>!!window.sessionStorage,e.testEndpoint=function(){let e=arguments.length>0&&arguments[0]!==r?arguments[0]:location.protocol+"//"+location.host+n,t=arguments.length>1&&arguments[1]!==r?arguments[1]:o;jQuery.ajax(e,{type:"HEAD",timeout:1e3,statusCode:{200:function(e){window.sessionStorage.setItem(t,JSON.stringify(!0))},404:function(e){window.sessionStorage.setItem(t,JSON.stringify(!1))},0:function(e){window.sessionStorage.setItem(t,JSON.stringify(!1))}}}).then((e=>{}))},e.isWpmRestEndpointAvailable=function(){let t=arguments.length>0&&arguments[0]!==r?arguments[0]:o;return!!e.getCookie(t)},e.writeOrderIdToStorage=function(t){if(window.Storage)if(null===localStorage.getItem(a)){let e=[];e.push(t),window.localStorage.setItem(a,JSON.stringify(e))}else{let e=JSON.parse(localStorage.getItem(a));e.includes(t)||(e.push(t),window.localStorage.setItem(a,JSON.stringify(e)))}else{let r=new Date;r.setDate(r.getDate()+365);let o=[];i()&&(o=JSON.parse(e.getCookie(a))),o.includes(t)||(o.push(t),document.cookie="_wpm_order_ids="+JSON.stringify(o)+";expires="+r.toUTCString())}"function"==typeof e.storeOrderIdOnServer&&wpmDataLayer.orderDeduplication&&e.storeOrderIdOnServer(t)},e.isOrderIdStored=t=>wpmDataLayer.orderDeduplication?window.Storage?null!==localStorage.getItem(a)&&JSON.parse(localStorage.getItem(a)).includes(t):!!i()&&JSON.parse(e.getCookie(a)).includes(t):(console.log("order duplication prevention: off"),!1),e.isEmail=e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),e.removeProductFromCart=function(t){let a=arguments.length>1&&arguments[1]!==r?arguments[1]:null;try{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");let r;if(r=null==a?wpmDataLayer.cart[t].quantity:a,wpmDataLayer.cart[t]){let o=e.getProductDetailsFormattedForEvent(t,r);jQuery(document).trigger("wpmRemoveFromCart",o),null==a||wpmDataLayer.cart[t].quantity===a?(delete wpmDataLayer.cart[t],sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart))):(wpmDataLayer.cart[t].quantity=wpmDataLayer.cart[t].quantity-r,sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart)))}}catch(e){console.error(e)}},e.getIdBasedOndVariationsOutputSetting=e=>{try{return wpmDataLayer?.general?.variationsOutput?e:wpmDataLayer.products[e].isVariation?wpmDataLayer.products[e].parentId:e}catch(e){console.error(e)}},e.addProductToCart=(t,r)=>{try{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");if(wpmDataLayer?.products[t]){let a=e.getProductDetailsFormattedForEvent(t,r);jQuery(document).trigger("wpmAddToCart",a),wpmDataLayer?.cart[t]?wpmDataLayer.cart[t].quantity=wpmDataLayer.cart[t].quantity+r:("cart"in wpmDataLayer||(wpmDataLayer.cart={}),wpmDataLayer.cart[t]=e.getProductDetailsFormattedForEvent(t,r)),sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(wpmDataLayer.cart))}}catch(t){console.error(t),e.getCartItemsFromBackend()}},e.getCartItems=()=>{sessionStorage?sessionStorage.getItem("wpmDataLayerCart")&&"order_received_page"!==wpmDataLayer.shop.page_type?e.saveCartObjectToDataLayer(JSON.parse(sessionStorage.getItem("wpmDataLayerCart"))):sessionStorage.setItem("wpmDataLayerCart",JSON.stringify({})):e.getCartItemsFromBackend()},e.getCartItemsFromBackend=()=>{try{let t={action:"wpm_get_cart_items"};jQuery.ajax({type:"get",dataType:"json",url:e.ajax_url,data:t,success:function(t){t.cart||(t.cart={}),e.saveCartObjectToDataLayer(t.cart),sessionStorage&&sessionStorage.setItem("wpmDataLayerCart",JSON.stringify(t.cart))}})}catch(e){console.error(e)}},e.getProductsFromBackend=t=>{if(wpmDataLayer?.products&&(t=t.filter((e=>!wpmDataLayer.products.hasOwnProperty(e)))),t&&0!==t.length)try{let r={action:"wpm_get_product_ids",productIds:t};return jQuery.ajax({type:"get",dataType:"json",url:e.ajax_url,data:r,success:function(e){wpmDataLayer.products=Object.assign({},wpmDataLayer.products,e)},error:function(e){console.log(e)}})}catch(e){console.error(e)}},e.saveCartObjectToDataLayer=e=>{wpmDataLayer.cart=e,wpmDataLayer.products=Object.assign({},wpmDataLayer.products,e)},e.triggerViewItemEventPrep=t=>{wpmDataLayer.products&&wpmDataLayer.products[t]?e.triggerViewItemEvent(t):e.getProductsFromBackend([t]).then((()=>{e.triggerViewItemEvent(t)}))},e.triggerViewItemEvent=t=>{let r=e.getProductDetailsFormattedForEvent(t);jQuery(document).trigger("wpmViewItem",r)},e.triggerViewItemEventNoProduct=()=>{jQuery(document).trigger("wpmViewItemNoProduct")},e.fireCheckoutOption=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:null,a=arguments.length>2&&arguments[2]!==r?arguments[2]:null,o={step:e,checkout_option:t,value:a};jQuery(document).trigger("wpmFireCheckoutOption",o)},e.fireCheckoutProgress=e=>{let t={step:e};jQuery(document).trigger("wpmFireCheckoutProgress",t)},e.getPostIdFromString=e=>{try{return e.match(/(post-)(\d+)/)[2]}catch(e){console.error(e)}},e.triggerViewItemList=t=>{if(!t)throw Error("Wasn't able to retrieve a productId");if(!(t=e.getIdBasedOndVariationsOutputSetting(t)))throw Error("Wasn't able to retrieve a productId");jQuery(document).trigger("wpmViewItemList",e.getProductDataForViewItemEvent(t))},e.getProductDataForViewItemEvent=t=>{if(!t)throw Error("Wasn't able to retrieve a productId");try{if(wpmDataLayer.products[t])return e.getProductDetailsFormattedForEvent(t)}catch(e){console.error(e)}},e.getMainProductIdFromProductPage=()=>{try{return["simple","variable","grouped","composite","bundle"].indexOf(wpmDataLayer.shop.product_type)>=0&&jQuery(".wpmProductId:first").data("id")}catch(e){console.error(e)}},e.viewItemListTriggerTestMode=e=>{jQuery(e).css({position:"relative"}),jQuery(e).append('<div id="viewItemListTriggerOverlay"></div>'),jQuery(e).find("#viewItemListTriggerOverlay").css({"z-index":"10",display:"block",position:"absolute",height:"100%",top:"0",left:"0",right:"0",opacity:wpmDataLayer.viewItemListTrigger.opacity,"background-color":wpmDataLayer.viewItemListTrigger.backgroundColor})},e.getSearchTermFromUrl=()=>{try{return new URLSearchParams(window.location.search).get("s")}catch(e){console.error(e)}};let s,c={};e.observerCallback=(t,r)=>{t.forEach((t=>{try{let a,o=jQuery(t.target).data("ioid");if(a=jQuery(t.target).next(".wpmProductId").length?jQuery(t.target).next(".wpmProductId").data("id"):jQuery(t.target).find(".wpmProductId").data("id"),!a)throw Error("wpmProductId element not found");t.isIntersecting?c[o]=setTimeout((()=>{e.triggerViewItemList(a),wpmDataLayer.viewItemListTrigger.testMode&&e.viewItemListTriggerTestMode(t.target),!1===wpmDataLayer.viewItemListTrigger.repeat&&r.unobserve(t.target)}),wpmDataLayer.viewItemListTrigger.timeout):(clearTimeout(c[o]),wpmDataLayer.viewItemListTrigger.testMode&&jQuery(t.target).find("#viewItemListTriggerOverlay").remove())}catch(e){console.error(e)}}))};let d,p=0,u=()=>{d=jQuery(".wpmProductId").map((function(e,t){return jQuery(t).parent().hasClass("type-product")||jQuery(t).parent().hasClass("product")||jQuery(t).parent().hasClass("product-item-inner")?jQuery(t).parent():jQuery(t).prev().hasClass("wc-block-grid__product")||jQuery(t).prev().hasClass("product")||jQuery(t).prev().hasClass("product-small")||jQuery(t).prev().hasClass("woocommerce-LoopProduct-link")?jQuery(this).prev():jQuery(t).closest(".product").length?jQuery(t).closest(".product"):void 0}))};e.startIntersectionObserverToWatch=()=>{try{e.urlHasParameter("vildemomode")&&(wpmDataLayer.viewItemListTrigger.testMode=!0),s=new IntersectionObserver(e.observerCallback,{threshold:wpmDataLayer.viewItemListTrigger.threshold}),u(),d.each(((e,t)=>{jQuery(t[0]).data("ioid",p++),s.observe(t[0])}))}catch(e){console.error(e)}},e.startProductsMutationObserverToWatch=()=>{try{let e=jQuery(".wpmProductId:eq(0)").parents().has(jQuery(".wpmProductId:eq(1)").parents()).first();e.length&&l.observe(e[0],{attributes:!0,childList:!0,characterData:!0})}catch(e){console.error(e)}};let l=new MutationObserver((e=>{e.forEach((e=>{let t=e.addedNodes;null!==t&&jQuery(t).each((function(){(jQuery(this).hasClass("type-product")||jQuery(this).hasClass("product-small")||jQuery(this).hasClass("wc-block-grid__product"))&&m(this)&&(jQuery(this).data("ioid",p++),s.observe(this))}))}))})),m=e=>!(!jQuery(e).find(".wpmProductId").length&&!jQuery(e).siblings(".wpmProductId").length);e.setCookie=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:"",a=arguments.length>2&&arguments[2]!==r?arguments[2]:null;if(a){let r=new Date;r.setTime(r.getTime()+24*a*60*60*1e3);let o="expires="+r.toUTCString();document.cookie=e+"="+t+";"+o+";path=/"}else document.cookie=e+"="+t+";path=/"},e.getCookie=e=>{let t=e+"=",r=decodeURIComponent(document.cookie).split(";");for(let e=0;e<r.length;e++){let a=r[e];for(;" "==a.charAt(0);)a=a.substring(1);if(0==a.indexOf(t))return a.substring(t.length,a.length)}return""},e.getWpmSessionData=()=>{if(window.sessionStorage){let e=window.sessionStorage.getItem("_wpm");return null!==e?JSON.parse(e):{}}return{}},e.setWpmSessionData=e=>{window.sessionStorage&&window.sessionStorage.setItem("_wpm",JSON.stringify(e))},e.storeOrderIdOnServer=t=>{try{let r={action:"wpm_purchase_pixels_fired",order_id:t,nonce:e.nonce};jQuery.ajax({type:"post",dataType:"json",url:e.ajax_url,data:r,success:function(e){!1===e.success&&console.log(e)},error:function(e){console.log(e)}})}catch(e){console.error(e)}},e.getProductIdByCartItemKeyUrl=e=>{let t,r=new URLSearchParams(e.search).get("remove_item");return t=0===wpmDataLayer.cartItemKeys[r].variation_id?wpmDataLayer.cartItemKeys[r].product_id:wpmDataLayer.cartItemKeys[r].variation_id,t},e.getAddToCartLinkProductIds=()=>jQuery("a").map((function(){let e=jQuery(this).attr("href");if(e&&e.includes("?add-to-cart=")){let t=e.match(/(add-to-cart=)(\d+)/);if(t)return t[2]}})).get(),e.getProductDetailsFormattedForEvent=function(e){let t=arguments.length>1&&arguments[1]!==r?arguments[1]:1,a={id:e.toString(),dyn_r_ids:wpmDataLayer.products[e].dyn_r_ids,name:wpmDataLayer.products[e].name,list_name:wpmDataLayer.shop.list_name,brand:wpmDataLayer.products[e].brand,category:wpmDataLayer.products[e].category,variant:wpmDataLayer.products[e].variant,list_position:wpmDataLayer.products[e].position,quantity:t,price:wpmDataLayer.products[e].price,currency:wpmDataLayer.shop.currency,isVariable:wpmDataLayer.products[e].isVariable,isVariation:wpmDataLayer.products[e].isVariation,parentId:wpmDataLayer.products[e].parentId};return a.isVariation&&(a.parentId_dyn_r_ids=wpmDataLayer.products[e].parentId_dyn_r_ids),a},e.setReferrerToCookie=()=>{e.getCookie("wpmReferrer")||e.setCookie("wpmReferrer",document.referrer)},e.getReferrerFromCookie=()=>e.getCookie("wpmReferrer")?e.getCookie("wpmReferrer"):null,e.getClidFromBrowser=function(){let t,a=arguments.length>0&&arguments[0]!==r?arguments[0]:"gclid";return t={gclid:"_gcl_aw",dclid:"_gcl_dc"},e.getCookie(t[a])?e.getCookie(t[a]).match(/(GCL.[\d]*.)(.*)/)[2]:""},e.getUserAgent=()=>navigator.userAgent,e.getViewPort=()=>({width:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),height:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}),e.version=()=>{console.log(wpmDataLayer.version)},e.loadScriptAndCacheIt=(e,t)=>(t=jQuery.extend(t||{},{dataType:"script",cache:!0,url:e}),jQuery.ajax(t)),e.getOrderItemPrice=e=>(e.total+e.total_tax)/e.quantity,e.hasLoginEventFired=()=>e.getWpmSessionData()?.loginEventFired,e.setLoginEventFired=()=>{let t=e.getWpmSessionData();t.loginEventFired=!0,e.setWpmSessionData(t)},e.wpmDataLayerExists=()=>new Promise((e=>{!function t(){if("undefined"!=typeof wpmDataLayer)return e();setTimeout(t,50)}()})),e.jQueryExists=()=>new Promise((e=>{!function t(){if("undefined"!=typeof jQuery)return e();setTimeout(t,100)}()})),e.pageLoaded=()=>new Promise((e=>{!function t(){if("complete"===document.readyState)return e();setTimeout(t,50)}()})),e.pageReady=()=>new Promise((e=>{!function t(){if("interactive"===document.readyState||"complete"===document.readyState)return e();setTimeout(t,50)}()})),e.isMiniCartActive=()=>{if(window.sessionStorage){for(const[e,t]of Object.entries(window.sessionStorage))if(e.includes("wc_fragments"))return!0;return!1}return!1},e.doesWooCommerceCartExist=()=>document.cookie.includes("woocommerce_items_in_cart"),e.urlHasParameter=e=>new URLSearchParams(window.location.search).has(e),e.hashAsync=(e,t)=>crypto.subtle.digest(e,new TextEncoder("utf-8").encode(t)).then((e=>Array.prototype.map.call(new Uint8Array(e),(e=>("00"+e.toString(16)).slice(-2))).join(""))),e.getCartValue=()=>{let e=0;if(wpmDataLayer?.cart)for(const t in wpmDataLayer.cart){let r=wpmDataLayer.cart[t];e+=r.quantity*r.price}return e}}(window.wpm=window.wpm||{},jQuery)},3534:(e,t,r)=>{r(9584),r(473)},7207:()=>{wpm.wpmDataLayerExists().then((function(){console.log("Pixel Manager for WooCommerce: "+(wpmDataLayer.version.pro?"Pro":"Free")+" Version "+wpmDataLayer.version.number+" loaded"),jQuery(document).trigger("wpmPreLoadPixels",{})})).then((function(){wpm.pageLoaded().then((function(){jQuery(document).trigger("wpmLoad")}))})),wpm.pageReady().then((function(){wpm.wpmDataLayerExists().then((function(){wpm.startIntersectionObserverToWatch(),wpm.startProductsMutationObserverToWatch()}))}))}},t={};function r(a){var o=t[a];if(void 0!==o)return o.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,r),n.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(3534),wpm.jQueryExists().then((function(){r(3299),r(8069),r(5012),r(8787),r(7207)}))})();
2
  //# sourceMappingURL=wpm-public.p1.min.js.map
js/public/wpm-public.p1.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wpm-public.p1.min.js","mappings":"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","sources":["webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/a-callable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/add-to-unscopables.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/an-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/array-includes.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/classof-raw.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/create-property-descriptor.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/define-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/define-global-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/descriptors.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/document-create-element.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/engine-user-agent.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/engine-v8-version.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/enum-bug-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/export.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/fails.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-bind-native.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-call.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-name.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-uncurry-this.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/get-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/get-method.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/global.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/has-own-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/hidden-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/html.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/ie8-dom-define.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/indexed-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/inspect-source.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/internal-state.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-callable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-forced.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-pure.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/length-of-array-like.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/make-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/math-trunc.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/native-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/native-weak-map.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-create.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-define-properties.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-define-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-keys-internal.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/own-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/require-object-coercible.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared-key.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared-store.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-absolute-index.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-indexed-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-length.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-primitive.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-property-key.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/try-to-string.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/uid.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/well-known-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/modules/es.array.includes.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/cookie_consent.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/functions_loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/init.js","webpack://Pixel-Manager-for-WooCommerce/webpack/bootstrap","webpack://Pixel-Manager-for-WooCommerce/webpack/runtime/global","webpack://Pixel-Manager-for-WooCommerce/webpack/runtime/make namespace object","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/main.js"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.8',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","/**\n * All event listeners\n *\n * https://developers.facebook.com/docs/meta-pixel/reference\n * */\n\n// Load pixel event\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.facebook?.pixel_id && !wpmDataLayer?.pixels?.facebook?.loaded) {\n\t\tif (wpm.canIFire(\"ads\", \"facebook-ads\")) wpm.loadFacebookPixel()\n\t}\n})\n\n// AddToCart event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmAddToCart\", function (event, product) {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"AddToCart\", {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_name: product.name,\n\t\t\tcontent_ids : product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\tvalue : parseFloat(product.quantity * product.price),\n\t\t\tcurrency : product.currency,\n\t\t}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\n\t\t// console.log(product)\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"AddToCart\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : wpm.fbGetProductDataForCapiEvent(product),\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// InitiateCheckout event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmBeginCheckout\", function (event) {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"InitiateCheckout\", {}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"InitiateCheckout\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// AddToWishlist event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmAddToWishlist\", function (event, product) {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"AddToWishlist\", {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_name: product.name,\n\t\t\tcontent_ids : product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\tvalue : parseFloat(product.quantity * product.price),\n\t\t\tcurrency : product.currency,\n\t\t}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"AddToWishlist\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : wpm.fbGetProductDataForCapiEvent(product),\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// ViewContent event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmViewItem\", (event, product = null) => {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\twpm.fbViewContent(product)\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// ViewContent event with no product\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmViewItemNoProduct\", function (event, product) {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"ViewContent\", {}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"ViewContent\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n\n// view search event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmSearch\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"Search\", {}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"Search\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : {\n\t\t\t\tsearch_string: wpm.getSearchTermFromUrl(),\n\t\t\t},\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// load always event\njQuery(document).on(\"wpmLoadAlways\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\twpm.setFbUserData()\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// view order received page event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tfbq(\"track\", \"Purchase\",\n\t\t\t{\n\t\t\t\tcontent_type: \"product\",\n\t\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tcontent_ids : wpm.facebookContentIds(),\n\t\t\t},\n\t\t\t{eventID : wpmDataLayer.order.id},\n\t\t)\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Add functions for Facebook\n * */\n\n(function (wpm, $, undefined) {\n\n\tlet fbUserData\n\n\twpm.loadFacebookPixel = () => {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.facebook.loaded = true\n\n\t\t\t// @formatter:off\n\t\t\t!function(f,b,e,v,n,t,s)\n\t\t\t{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n\t\t\t\tn.callMethod.apply(n,arguments):n.queue.push(arguments)};\n\t\t\t\tif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n\t\t\t\tn.queue=[];t=b.createElement(e);t.async=!0;\n\t\t\t\tt.src=v;s=b.getElementsByTagName(e)[0];\n\t\t\t\ts.parentNode.insertBefore(t,s)}(window, document,'script',\n\t\t\t\t'https://connect.facebook.net/en_US/fbevents.js');\n\t\t\t// @formatter:on\n\n\t\t\tlet data = {}\n\n\t\t\t// Add user identifiers to data,\n\t\t\t// and only if fbp was set\n\t\t\tif (wpm.isFbpSet()) {\n\t\t\t\tdata = {...wpm.getUserIdentifiersForFb()}\n\t\t\t}\n\n\t\t\tfbq(\"init\", wpmDataLayer.pixels.facebook.pixel_id, data)\n\t\t\tfbq(\"track\", \"PageView\")\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// https://developers.facebook.com/docs/meta-pixel/advanced/advanced-matching\n\twpm.getUserIdentifiersForFb = () => {\n\n\t\tlet data = {}\n\n\t\t// external ID\n\t\tif (wpmDataLayer?.user?.id) data.external_id = wpmDataLayer.user.id\n\t\tif (wpmDataLayer?.order?.user_id) data.external_id = wpmDataLayer.order.user_id\n\n\t\t// email\n\t\tif (wpmDataLayer?.user?.facebook?.email) data.em = wpmDataLayer.user.facebook.email\n\t\tif (wpmDataLayer?.order?.billing_email_hashed) data.em = wpmDataLayer.order.billing_email_hashed\n\n\t\t// first name\n\t\tif (wpmDataLayer?.user?.facebook?.first_name) data.fn = wpmDataLayer.user.facebook.first_name\n\t\tif (wpmDataLayer?.order?.billing_first_name) data.fn = wpmDataLayer.order.billing_first_name.toLowerCase()\n\n\t\t// last name\n\t\tif (wpmDataLayer?.user?.facebook?.last_name) data.ln = wpmDataLayer.user.facebook.last_name\n\t\tif (wpmDataLayer?.order?.billing_last_name) data.ln = wpmDataLayer.order.billing_last_name.toLowerCase()\n\n\t\t// phone\n\t\tif (wpmDataLayer?.user?.facebook?.phone) data.ph = wpmDataLayer.user.facebook.phone\n\t\tif (wpmDataLayer?.order?.billing_phone) data.ph = wpmDataLayer.order.billing_phone.replace(\"+\", \"\")\n\n\t\t// city\n\t\tif (wpmDataLayer?.user?.facebook?.city) data.ct = wpmDataLayer.user.facebook.city\n\t\tif (wpmDataLayer?.order?.billing_city) data.ct = wpmDataLayer.order.billing_city.toLowerCase().replace(/ /g, \"\")\n\n\t\t// state\n\t\tif (wpmDataLayer?.user?.facebook?.state) data.st = wpmDataLayer.user.facebook.state\n\t\tif (wpmDataLayer?.order?.billing_state) data.st = wpmDataLayer.order.billing_state.toLowerCase().replace(/[a-zA-Z]{2}-/, \"\")\n\n\t\t// postcode\n\t\tif (wpmDataLayer?.user?.facebook?.postcode) data.zp = wpmDataLayer.user.facebook.postcode\n\t\tif (wpmDataLayer?.order?.billing_postcode) data.zp = wpmDataLayer.order.billing_postcode\n\n\t\t// country\n\t\tif (wpmDataLayer?.user?.facebook?.country) data.country = wpmDataLayer.user.facebook.country\n\t\tif (wpmDataLayer?.order?.billing_country) data.country = wpmDataLayer.order.billing_country.toLowerCase()\n\n\t\treturn data\n\t}\n\n\twpm.getRandomEventId = () => (Math.random() + 1).toString(36).substring(2)\n\n\twpm.getFbUserData = () => {\n\n\t\t/**\n\t\t * We need to cache the FB user data for InitiateCheckout\n\t\t * where getting the user data from the browser is too slow\n\t\t * using wpm.getCookie().\n\t\t *\n\t\t * And we need the object merge because the ViewContent hit happens too fast\n\t\t * after adding a variation to the cart because the function to cache\n\t\t * the user data is too slow.\n\t\t *\n\t\t * But we can get the user_data using wpm.getCookie()\n\t\t * because we don't move away from the page and can wait for the browser\n\t\t * to get it.\n\t\t *\n\t\t * Also, the merge ensures that new data will be added to fbUserData if new\n\t\t * data is being added later, like user ID, or fbc.\n\t\t */\n\n\t\tfbUserData = {...fbUserData, ...wpm.getFbUserDataFromBrowser()}\n\n\t\treturn fbUserData\n\t}\n\n\twpm.setFbUserData = () => {\n\t\tfbUserData = wpm.getFbUserDataFromBrowser()\n\t}\n\n\twpm.getFbUserDataFromBrowser = () => {\n\n\t\tlet\n\t\t\tdata = {}\n\n\t\tif (wpm.getCookie(\"_fbp\") && wpm.isValidFbp(wpm.getCookie(\"_fbp\"))) {\n\t\t\tdata.fbp = wpm.getCookie(\"_fbp\")\n\t\t}\n\n\t\tif (wpm.getCookie(\"_fbc\") && wpm.isValidFbc(wpm.getCookie(\"_fbc\"))) {\n\t\t\tdata.fbc = wpm.getCookie(\"_fbc\")\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.external_id = wpmDataLayer.user.id\n\t\t}\n\n\t\tif (navigator.userAgent) {\n\t\t\tdata.client_user_agent = navigator.userAgent\n\t\t}\n\n\t\treturn data\n\t}\n\n\twpm.isFbpSet = () => {\n\t\treturn !!wpm.getCookie(\"_fbp\")\n\t}\n\n\t// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc/\n\twpm.isValidFbp = fbp => {\n\n\t\tlet re = new RegExp(/^fb\\.[0-2]\\.\\d{13}\\.\\d{8,20}$/)\n\n\t\treturn re.test(fbp)\n\t}\n\n\t// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc/\n\twpm.isValidFbc = fbc => {\n\n\t\tlet re = new RegExp(/^fb\\.[0-2]\\.\\d{13}\\.[\\da-zA-Z_-]{8,}/)\n\n\t\treturn re.test(fbc)\n\t}\n\n\twpm.fbViewContent = (product = null) => {\n\n\t\ttry {\n\t\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\t\tlet eventId = wpm.getRandomEventId()\n\n\t\t\tlet data = {}\n\n\t\t\tif (product) {\n\t\t\t\tdata.content_type = \"product\"\n\t\t\t\tdata.content_name = product.name\n\t\t\t\t// data.content_category = product.category\n\t\t\t\tdata.content_ids = product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]\n\t\t\t\tdata.currency = wpmDataLayer.shop.currency\n\t\t\t\tdata.value = product.price\n\t\t\t}\n\n\t\t\tfbq(\"track\", \"ViewContent\", data, {\n\t\t\t\teventID: eventId,\n\t\t\t})\n\n\t\t\tlet capiData = {\n\t\t\t\tevent_name : \"ViewContent\",\n\t\t\t\tevent_id : eventId,\n\t\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\t\tevent_source_url: window.location.href,\n\t\t\t}\n\n\t\t\tif (product) {\n\t\t\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\t\t\t\tcapiData.custom_data = wpm.fbGetProductDataForCapiEvent(product)\n\t\t\t}\n\n\t\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", capiData)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fbGetProductDataForCapiEvent = product => {\n\t\treturn {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_ids : [\n\t\t\t\tproduct.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\t],\n\t\t\tvalue : product.quantity * product.price,\n\t\t\tcurrency : wpmDataLayer.shop.currency,\n\t\t}\n\t}\n\n\twpm.facebookContentIds = () => {\n\t\tlet prodIds = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\t\t\t\tprodIds.push(String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]))\n\t\t\t} else {\n\t\t\t\tprodIds.push(String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]))\n\t\t\t}\n\t\t}\n\n\t\treturn prodIds\n\t}\n\n\twpm.trackCustomFacebookEvent = (eventName, customData = {}) => {\n\t\ttry {\n\t\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\t\tlet eventId = wpm.getRandomEventId()\n\n\t\t\tfbq(\"trackCustom\", eventName, customData, {\n\t\t\t\teventID: eventId,\n\t\t\t})\n\n\t\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\t\tevent_name : eventName,\n\t\t\t\tevent_id : eventId,\n\t\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\t\tevent_source_url: window.location.href,\n\t\t\t\tcustom_data : customData,\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Facebook loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n\n","/**\n * Load Google Ads event listeners\n * */\n\n// view_item_list event\njQuery(document).on(\"wpmViewItemList\", function (event, product) {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\n\t\tif (\n\t\t\twpmDataLayer?.general?.variationsOutput &&\n\t\t\tproduct.isVariable &&\n\t\t\twpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids === false\n\t\t) return\n\n\t\t// try to prevent that WC sends cached hits to Google\n\t\tif (!product) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\titems : [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}],\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_item_list\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// add_to_cart event\njQuery(document).on(\"wpmAddToCart\", function (event, product) {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\tvalue : product.quantity * product.price,\n\t\t\titems : [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tquantity : product.quantity,\n\t\t\t\tprice : product.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}],\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"add_to_cart\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// view_item event\njQuery(document).on(\"wpmViewItem\", (event, product = null) => {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t}\n\n\t\tif (product) {\n\t\t\tdata.value = (product.quantity ? product.quantity : 1) * product.price\n\t\t\tdata.items = [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tquantity : (product.quantity ? product.quantity : 1),\n\t\t\t\tprice : product.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}]\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_item\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// view search event\njQuery(document).on(\"wpmSearch\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\n\t\tlet products = []\n\n\t\tfor (const [key, product] of Object.entries(wpmDataLayer.products)) {\n\n\t\t\tif (\n\t\t\t\twpmDataLayer?.general?.variationsOutput &&\n\t\t\t\tproduct.isVariable &&\n\t\t\t\twpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids === false\n\t\t\t) return\n\n\t\t\tproducts.push({\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t})\n\t\t}\n\n\t\t// console.log(products);\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\t// value : 1 * product.price,\n\t\t\titems: products,\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_search_results\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// view order received page event\n// TODO distinguish with or without cart data active\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\titems : wpm.getGoogleAdsDynamicRemarketingOrderItems(),\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", data)\n\t\t})\n\n\t\t// console.log(wpm.getGoogleAdsDynamicRemarketingOrderItems())\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// user log in event\njQuery(document).on(\"wpmLogin\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"login\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// conversion event\n// new_customer parameter: https://support.google.com/google-ads/answer/9917012\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpm.getGoogleAdsConversionIdentifiersWithLabel())) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data_basic = {}\n\t\tlet data_with_cart = {}\n\n\t\tdata_basic = {\n\t\t\tsend_to : wpm.getGoogleAdsConversionIdentifiersWithLabel(),\n\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\tnew_customer : wpmDataLayer.order.new_customer,\n\t\t}\n\n\t\tif (wpmDataLayer?.order?.clv_order_value_filtered) {\n\t\t\tdata_basic.customer_lifetime_value = wpmDataLayer.order.clv_order_value_filtered\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata_basic.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\tif (wpmDataLayer?.order?.aw_merchant_id) {\n\t\t\tdata_with_cart = {\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\taw_merchant_id : wpmDataLayer.order.aw_merchant_id,\n\t\t\t\taw_feed_country : wpmDataLayer.order.aw_feed_country,\n\t\t\t\taw_feed_language: wpmDataLayer.order.aw_feed_language,\n\t\t\t\titems : wpm.getGoogleAdsRegularOrderItems(),\n\t\t\t}\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"conversion\", {...data_basic, ...data_with_cart})\n\t\t})\n\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Load Google Ads functions\n * */\n\n(function (wpm, $, undefined) {\n\n\n\twpm.getGoogleAdsConversionIdentifiersWithLabel = function () {\n\n\t\tlet conversionIdentifiers = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\tif (item) {\n\t\t\t\tconversionIdentifiers.push(key + \"/\" + item)\n\t\t\t}\n\t\t}\n\n\t\treturn conversionIdentifiers\n\t}\n\n\twpm.getGoogleAdsConversionIdentifiers = function () {\n\n\t\tlet conversionIdentifiers = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\tconversionIdentifiers.push(key)\n\t\t}\n\n\t\treturn conversionIdentifiers\n\t}\n\n\twpm.getGoogleAdsRegularOrderItems = function () {\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity: item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t}\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n\twpm.getGoogleAdsDynamicRemarketingOrderItems = function () {\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity : item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t}\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load Google Ads\n */\n\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Load Google Universal Analytics (GA3) event listeners\n * */\n\n\n// view order received page event\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) return\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.mp_active) return\n\t\tif (!wpm.googleConfigConditionsMet(\"analytics\")) return\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", {\n\t\t\t\tsend_to : [wpmDataLayer.pixels.google.analytics.universal.property_id],\n\t\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\t\taffiliation : wpmDataLayer.order.affiliation,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tvalue : wpmDataLayer.order.value_regular,\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\ttax : wpmDataLayer.order.tax,\n\t\t\t\tshipping : wpmDataLayer.order.shipping,\n\t\t\t\tcoupon : wpmDataLayer.order.coupon,\n\t\t\t\titems : wpm.getGAUAOrderItems(),\n\t\t\t})\n\t\t})\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Add functions for Google Analytics Universal\n * */\n\n(function (wpm, $, undefined) {\n\n\twpm.getGAUAOrderItems = function () {\n\n\t\t// \"id\" : \"34\",\n\t\t// \"name\" : \"Hoodie\",\n\t\t// \"brand\" : \"\",\n\t\t// \"category\" : \"Hoodies\",\n\t\t// \"list_position\": 1,\n\t\t// \"price\" : 45,\n\t\t// \"quantity\" : 1,\n\t\t// \"variant\" : \"Color: blue | Logo: yes\"\n\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity: item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\tname : item.name,\n\t\t\t\tcurrency: wpmDataLayer.order.currency,\n\t\t\t\tcategory: wpmDataLayer.products[item.id].category.join(\"/\"),\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.variant = wpmDataLayer.products[item.variation_id].variant_name\n\t\t\t\torderItem.brand = wpmDataLayer.products[item.variation_id].brand\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.brand = wpmDataLayer.products[item.id].brand\n\t\t\t}\n\n\t\t\torderItem = wpm.ga3AddListNameToProduct(orderItem)\n\n\t\t\torderItems.push(orderItem)\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n\twpm.ga3AddListNameToProduct = function (item_data, productPosition = null) {\n\n\t\t// if (wpm.ga3CanProductListBeSet(item_data.id)) {\n\t\t// \titem_data.listname = wpmDataLayer.shop.list_name\n\t\t//\n\t\t// \tif (productPosition) {\n\t\t// \t\titem_data.list_position = productPosition\n\t\t// \t}\n\t\t// }\n\n\t\titem_data.list_name = wpmDataLayer.shop.list_name\n\n\t\tif (productPosition) {\n\t\t\titem_data.list_position = productPosition\n\t\t}\n\n\t\treturn item_data\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Google Universal Analytics (GA3) loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Load GA4 event listeners\n * */\n\n\n// view order received page event\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) return\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.mp_active) return\n\t\tif (!wpm.googleConfigConditionsMet(\"analytics\")) return\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", {\n\t\t\t\tsend_to : [wpmDataLayer.pixels.google.analytics.ga4.measurement_id],\n\t\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\t\taffiliation : wpmDataLayer.order.affiliation,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tvalue : wpmDataLayer.order.value_regular,\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\ttax : wpmDataLayer.order.tax,\n\t\t\t\tshipping : wpmDataLayer.order.shipping,\n\t\t\t\tcoupon : wpmDataLayer.order.coupon,\n\t\t\t\titems : wpm.getGA4OrderItems(),\n\t\t\t})\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Load GA4 functions\n * */\n\n(function (wpm, $, undefined) {\n\n\twpm.getGA4OrderItems = function () {\n\n\t\t// \"item_id\" : \"34\",\n\t\t// \"item_name\" : \"Hoodie\",\n\t\t// \"quantity\" : 1,\n\t\t// \"item_brand\" : \"\",\n\t\t// \"item_variant\" : \"Color: blue | Logo: yes\",\n\t\t// \"price\" : 45,\n\t\t// \"currency\" : \"CHF\",\n\t\t// \"item_category\": \"Hoodies\"\n\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity : item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\titem_name : item.name,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\titem_category: wpmDataLayer.products[item.id].category.join(\"/\"),\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.item_id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.item_variant = wpmDataLayer.products[item.variation_id].variant_name\n\t\t\t\torderItem.item_brand = wpmDataLayer.products[item.variation_id].brand\n\t\t\t} else {\n\n\t\t\t\torderItem.item_id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.item_brand = wpmDataLayer.products[item.id].brand\n\t\t\t}\n\n\t\t\torderItems.push(orderItem)\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * GA4 loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Google Analytics loader\n */\n\nrequire(\"./ga3/loader\")\nrequire(\"./ga4/loader\")\n","/**\n * Load Google base event listeners\n */\n\n// Pixel load event listener\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (typeof wpmDataLayer?.pixels?.google?.state === \"undefined\") {\n\t\tif (wpm.canGoogleLoad()) {\n\t\t\twpm.loadGoogle()\n\t\t} else {\n\t\t\twpm.logPreventedPixelLoading(\"google\", \"analytics / ads\")\n\t\t}\n\t}\n})\n","/**\n * Load Google base functions\n */\n\n(function (wpm, $, undefined) {\n\n\twpm.googleConfigConditionsMet = function (type) {\n\n\t\t// always returns true if Google Consent Mode is active\n\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\t\t\treturn true\n\t\t} else if (wpm.getConsentValues().mode === \"category\") {\n\t\t\treturn wpm.getConsentValues().categories[type] === true\n\t\t} else if (wpm.getConsentValues().mode === \"pixel\") {\n\t\t\treturn wpm.getConsentValues().pixels.includes(\"google-\" + type)\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.getVisitorConsentStatusAndUpdateGoogleConsentSettings = function (google_consent_settings) {\n\n\t\tif (wpm.getConsentValues().mode === \"category\") {\n\n\t\t\tif (wpm.getConsentValues().categories.analytics) google_consent_settings.analytics_storage = \"granted\"\n\t\t\tif (wpm.getConsentValues().categories.ads) google_consent_settings.ad_storage = \"granted\"\n\t\t} else if ((wpm.getConsentValues().mode === \"pixel\")) {\n\n\t\t\tgoogle_consent_settings.analytics_storage = wpm.getConsentValues().pixels.includes(\"google-analytics\") ? \"granted\" : \"denied\"\n\t\t\tgoogle_consent_settings.ad_storage = wpm.getConsentValues().pixels.includes(\"google-ads\") ? \"granted\" : \"denied\"\n\t\t}\n\n\t\treturn google_consent_settings\n\t}\n\n\twpm.updateGoogleConsentMode = function (analytics = true, ads = true) {\n\n\t\ttry {\n\t\t\tif (\n\t\t\t\t!window.gtag ||\n\t\t\t\t!wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent\n\t\t\t) return\n\n\t\t\tgtag(\"consent\", \"update\", {\n\t\t\t\tanalytics_storage: analytics ? \"granted\" : \"denied\",\n\t\t\t\tad_storage : ads ? \"granted\" : \"denied\",\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAds = function () {\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.ads.state = \"loading\"\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.ads?.enhanced_conversions?.active) {\n\t\t\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\t\t\tgtag(\"config\", key, {\"allow_enhanced_conversions\": true})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\t\t\tgtag(\"config\", key)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.ads?.conversionIds && wpmDataLayer?.pixels?.google?.ads?.phone_conversion_label && wpmDataLayer?.pixels?.google?.ads?.phone_conversion_number) {\n\t\t\t\tgtag(\"config\", Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0] + \"/\" + wpmDataLayer.pixels.google.ads.phone_conversion_label, {\n\t\t\t\t\tphone_conversion_number: wpmDataLayer.pixels.google.ads.phone_conversion_number,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// ! enhanced_conversion_data needs to set on the window object\n\t\t\t// https://support.google.com/google-ads/answer/9888145#zippy=%2Cvalidate-your-implementation-using-chrome-developer-tools\n\t\t\tif (wpmDataLayer?.shop?.page_type && \"order_received_page\" === wpmDataLayer.shop.page_type && wpmDataLayer?.order?.google?.ads?.enhanced_conversion_data) {\n\t\t\t\twindow.enhanced_conversion_data = wpmDataLayer.order.google.ads.enhanced_conversion_data\n\t\t\t}\n\n\t\t\twpmDataLayer.pixels.google.ads.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAnalyticsUA = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.analytics.universal.state = \"loading\"\n\n\t\t\tgtag(\"config\", wpmDataLayer.pixels.google.analytics.universal.property_id, wpmDataLayer.pixels.google.analytics.universal.parameters)\n\t\t\twpmDataLayer.pixels.google.analytics.universal.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAnalyticsGA4 = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.analytics.ga4.state = \"loading\"\n\n\t\t\tlet parameters = wpmDataLayer.pixels.google.analytics.ga4.parameters\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.debug_mode) {\n\t\t\t\tparameters.debug_mode = true\n\t\t\t}\n\n\t\t\tgtag(\"config\", wpmDataLayer.pixels.google.analytics.ga4.measurement_id, parameters)\n\n\t\t\twpmDataLayer.pixels.google.analytics.ga4.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.isGoogleActive = function () {\n\n\t\tif (\n\t\t\twpmDataLayer?.pixels?.google?.analytics?.universal?.property_id ||\n\t\t\twpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id ||\n\t\t\t!jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)\n\t\t) {\n\t\t\treturn true\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.getGoogleGtagId = function () {\n\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) {\n\t\t\treturn wpmDataLayer.pixels.google.analytics.universal.property_id\n\t\t} else if (wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) {\n\t\t\treturn wpmDataLayer.pixels.google.analytics.ga4.measurement_id\n\t\t} else {\n\t\t\treturn Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]\n\t\t}\n\t}\n\n\twpm.loadGoogle = function () {\n\n\t\tif (wpm.isGoogleActive()) {\n\n\t\t\twpmDataLayer.pixels.google.state = \"loading\"\n\n\t\t\twpm.loadScriptAndCacheIt(\"https://www.googletagmanager.com/gtag/js?id=\" + wpm.getGoogleGtagId())\n\t\t\t\t.done(function (script, textStatus) {\n\n\t\t\t\t\ttry {\n\n\t\t\t\t\t\t// Initiate Google dataLayer and gtag\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || []\n\t\t\t\t\t\twindow.gtag = function gtag() {\n\t\t\t\t\t\t\tdataLayer.push(arguments)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Google Consent Mode\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\n\t\t\t\t\t\t\tlet google_consent_settings = {\n\t\t\t\t\t\t\t\t\"ad_storage\" : wpmDataLayer.pixels.google.consent_mode.ad_storage,\n\t\t\t\t\t\t\t\t\"analytics_storage\": wpmDataLayer.pixels.google.consent_mode.analytics_storage,\n\t\t\t\t\t\t\t\t\"wait_for_update\" : wpmDataLayer.pixels.google.consent_mode.wait_for_update,\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.region) {\n\t\t\t\t\t\t\t\tgoogle_consent_settings.region = wpmDataLayer.pixels.google.consent_mode.region\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tgoogle_consent_settings = wpm.getVisitorConsentStatusAndUpdateGoogleConsentSettings(google_consent_settings)\n\n\t\t\t\t\t\t\tgtag(\"consent\", \"default\", google_consent_settings)\n\t\t\t\t\t\t\tgtag(\"set\", \"ads_data_redaction\", wpmDataLayer.pixels.google.consent_mode.ads_data_redaction)\n\t\t\t\t\t\t\tgtag(\"set\", \"url_passthrough\", wpmDataLayer.pixels.google.consent_mode.url_passthrough)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Google Linker\n\t\t\t\t\t\t// https://developers.google.com/gtagjs/devguide/linker\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.linker?.settings) {\n\t\t\t\t\t\t\tgtag(\"set\", \"linker\", wpmDataLayer.pixels.google.linker.settings)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgtag(\"js\", new Date())\n\n\t\t\t\t\t\t// Google Ads loader\n\t\t\t\t\t\tif (!jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) { // Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"ads\")) { \t\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAds()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"google-ads\", \"ads\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t// Google Universal Analytics loader\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) { \t\t// Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"analytics\")) {\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAnalyticsUA()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"google-universal-analytics\", \"analytics\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// GA4 loader\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) { \t\t\t// Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"analytics\")) {\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAnalyticsGA4()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"ga4\", \"analytics\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twpmDataLayer.pixels.google.state = \"ready\"\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.error(e)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\twpm.canGoogleLoad = function () {\n\n\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\t\t\treturn true\n\t\t} else if (\"category\" === wpm.getConsentValues().mode) {\n\t\t\treturn !!(wpm.getConsentValues().categories[\"ads\"] || wpm.getConsentValues().categories[\"analytics\"])\n\t\t} else if (\"pixel\" === wpm.getConsentValues().mode) {\n\t\t\treturn wpm.getConsentValues().pixels.includes(\"google-ads\") || wpm.getConsentValues().pixels.includes(\"google-analytics\")\n\t\t} else {\n\t\t\tconsole.error(\"Couldn't find a valid load condition for Google mode in wpmConsentValues\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.gtagLoaded = function () {\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tif (typeof wpmDataLayer?.pixels?.google?.state === \"undefined\") reject()\n\n\t\t\tlet startTime = 0\n\t\t\tlet timeout = 5000\n\t\t\tlet frequency = 200;\n\n\t\t\t(function wait() {\n\t\t\t\tif (wpmDataLayer?.pixels?.google?.state === \"ready\") return resolve()\n\t\t\t\tif (startTime >= timeout) return reject()\n\t\t\t\tstartTime += frequency\n\t\t\t\tsetTimeout(wait, frequency)\n\t\t\t})()\n\t\t})\n\t}\n\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load Google base\n */\n\n// Load base\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Load Google\n */\n\n// Load base\nrequire(\"./base/loader\")\n\n//Load additional Google libraries\nrequire(\"./ads/loader\")\nrequire(\"./analytics/loader\")\nrequire(\"./optimize/loader\")\n\n\n","/**\n * Load Google Optimize event listeners\n */\n\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.google?.optimize?.container_id && !wpmDataLayer?.pixels?.google?.optimize?.loaded) {\n\t\tif (wpm.canIFire(\"analytics\", \"google-optimize\")) wpm.load_google_optimize_pixel()\n\t}\n})\n","/**\n * Load Google Optimize functions\n */\n\n\n(function (wpm, $, undefined) {\n\n\twpm.load_google_optimize_pixel = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.optimize.loaded = true\n\n\t\t\twpm.loadScriptAndCacheIt(\"https://www.googleoptimize.com/optimize.js?id=\" + wpmDataLayer.pixels.google.optimize.container_id)\n\t\t\t// .done(function (script, textStatus) {\n\t\t\t// \t\tconsole.log('Google Optimize loaded')\n\t\t\t// });\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Load Google Optimize\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Load Hotjar event listeners\n */\n\n// Pixel load event listener\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.hotjar?.site_id && !wpmDataLayer?.pixels?.hotjar?.loaded) {\n\t\tif (wpm.canIFire(\"analytics\", \"hotjar\") && !wpmDataLayer?.pixels?.hotjar?.loaded) wpm.load_hotjar_pixel()\n\t}\n})\n","/**\n * Load Hotjar functions\n */\n\n(function (wpm, $, undefined) {\n\n\twpm.load_hotjar_pixel = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.hotjar.loaded = true;\n\n\t\t\t// @formatter:off\n\t\t\t(function(h,o,t,j,a,r){\n\t\t\t\th.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n\t\t\t\th._hjSettings={hjid:wpmDataLayer.pixels.hotjar.site_id,hjsv:6};\n\t\t\t\ta=o.getElementsByTagName('head')[0];\n\t\t\t\tr=o.createElement('script');r.async=1;\n\t\t\t\tr.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n\t\t\t\ta.appendChild(r);\n\t\t\t})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n\t\t\t// @formatter:on\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Hotjar loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Consent Mode functions\n */\n\n(function (wpm, $, undefined) {\n\n\n\t/**\n\t * Handle Cookie Management Platforms\n\t */\n\n\tlet getComplianzCookies = () => {\n\n\t\tlet cmplz_statistics = wpm.getCookie(\"cmplz_statistics\")\n\t\tlet cmplz_marketing = wpm.getCookie(\"cmplz_marketing\")\n\t\tlet cmplz_consent_status = wpm.getCookie(\"cmplz_consent_status\") || wpm.getCookie(\"cmplz_banner-status\")\n\n\t\tif (cmplz_consent_status) {\n\t\t\treturn {\n\t\t\t\tanalytics : cmplz_statistics === \"allow\",\n\t\t\t\tads : cmplz_marketing === \"allow\",\n\t\t\t\tvisitorHasChosen: true,\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tlet getCookieLawInfoCookies = () => {\n\n\t\tlet analyticsCookie = wpm.getCookie(\"cookielawinfo-checkbox-analytics\") || wpm.getCookie(\"cookielawinfo-checkbox-analytiques\")\n\t\tlet adsCookie = wpm.getCookie(\"cookielawinfo-checkbox-advertisement\") || wpm.getCookie(\"cookielawinfo-checkbox-performance\") || wpm.getCookie(\"cookielawinfo-checkbox-publicite\")\n\t\tlet visitorHasChosen = wpm.getCookie(\"CookieLawInfoConsent\")\n\n\t\tif (analyticsCookie || adsCookie) {\n\n\t\t\treturn {\n\t\t\t\tanalytics : analyticsCookie === \"yes\",\n\t\t\t\tads : adsCookie === \"yes\",\n\t\t\t\tvisitorHasChosen: !!visitorHasChosen,\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\n\tlet\n\t\twpmConsentValues = {}\n\twpmConsentValues.categories = {}\n\twpmConsentValues.pixels = []\n\twpmConsentValues.mode = \"category\"\n\twpmConsentValues.visitorHasChosen = false\n\n\twpm.getConsentValues = () => wpmConsentValues\n\n\twpm.setConsentValueCategories = (analytics = false, ads = false) => {\n\t\twpmConsentValues.categories.analytics = analytics\n\t\twpmConsentValues.categories.ads = ads\n\t}\n\n\twpm.updateConsentCookieValues = (analytics = null, ads = null, explicitConsent = false) => {\n\n\t\t// ad_storage\n\t\t// analytics_storage\n\t\t// functionality_storage\n\t\t// personalization_storage\n\t\t// security_storage\n\n\t\tlet cookie\n\n\t\tif (analytics || ads) {\n\n\t\t\tif (analytics) {\n\t\t\t\twpmConsentValues.categories.analytics = !!analytics\n\t\t\t}\n\t\t\tif (ads) {\n\t\t\t\twpmConsentValues.categories.ads = !!ads\n\t\t\t}\n\n\t\t} else if (cookie = wpm.getCookie(\"CookieConsent\")) {\n\n\t\t\t// Cookiebot\n\t\t\t// https://wordpress.org/plugins/cookiebot/\n\t\t\tcookie = decodeURI(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = cookie.indexOf(\"statistics:true\") >= 0\n\t\t\twpmConsentValues.categories.ads = cookie.indexOf(\"marketing:true\") >= 0\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"CookieScriptConsent\")) {\n\n\t\t\t// Cookie Script\n\t\t\t// https://wordpress.org/plugins/cookie-script-com/\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\tif (cookie.action === \"reject\") {\n\t\t\t\twpmConsentValues.categories.analytics = false\n\t\t\t\twpmConsentValues.categories.ads = false\n\t\t\t} else if (cookie.categories.length === 2) {\n\t\t\t\twpmConsentValues.categories.analytics = true\n\t\t\t\twpmConsentValues.categories.ads = true\n\t\t\t} else {\n\t\t\t\twpmConsentValues.categories.analytics = cookie.categories.indexOf(\"performance\") >= 0\n\t\t\t\twpmConsentValues.categories.ads = cookie.categories.indexOf(\"targeting\") >= 0\n\t\t\t}\n\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"borlabs-cookie\")) {\n\n\t\t\t// Borlabs Cookie\n\t\t\t// https://borlabs.io/borlabs-cookie/\n\n\t\t\tcookie = decodeURI(cookie)\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = !!cookie?.consents?.statistics\n\t\t\twpmConsentValues.categories.ads = !!cookie?.consents?.marketing\n\t\t\twpmConsentValues.visitorHasChosen = true\n\t\t\twpmConsentValues.pixels = [...cookie?.consents?.statistics || [], ...cookie?.consents?.marketing || []]\n\t\t\twpmConsentValues.mode = \"pixel\"\n\n\t\t} else if (cookie = getComplianzCookies()) {\n\n\t\t\t// Complianz Cookie\n\t\t\t// https://wordpress.org/plugins/complianz-gdpr/\n\n\t\t\twpmConsentValues.categories.analytics = cookie.analytics === true\n\t\t\twpmConsentValues.categories.ads = cookie.ads === true\n\t\t\twpmConsentValues.visitorHasChosen = cookie.visitorHasChosen\n\n\t\t} else if (cookie = wpm.getCookie(\"cookie_notice_accepted\")) {\n\n\t\t\t// Cookie Compliance (free version)\n\t\t\t// https://wordpress.org/plugins/cookie-notice/\n\n\t\t\twpmConsentValues.categories.analytics = true\n\t\t\twpmConsentValues.categories.ads = true\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"hu-consent\")) {\n\n\t\t\t// Cookie Compliance (pro version)\n\t\t\t// https://wordpress.org/plugins/cookie-notice/\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = !!cookie.categories[\"3\"]\n\t\t\twpmConsentValues.categories.ads = !!cookie.categories[\"4\"]\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = getCookieLawInfoCookies()) {\n\n\t\t\t// CookieYes, GDPR Cookie Consent (Cookie Law Info)\n\t\t\t// https://wordpress.org/plugins/cookie-law-info/\n\n\t\t\twpmConsentValues.categories.analytics = cookie.analytics === true\n\t\t\twpmConsentValues.categories.ads = cookie.ads === true\n\t\t\twpmConsentValues.visitorHasChosen = cookie.visitorHasChosen === true\n\n\t\t} else if (cookie = wpm.getCookie(\"moove_gdpr_popup\")) {\n\n\t\t\t// GDPR Cookie Compliance Plugin by Moove Agency\n\t\t\t// https://wordpress.org/plugins/gdpr-cookie-compliance/\n\t\t\t// TODO write documentation on how to set up the plugin in order for this to work properly\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = cookie.thirdparty === \"1\"\n\t\t\twpmConsentValues.categories.ads = cookie.advanced === \"1\"\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else {\n\t\t\t// consentValues.categories.analytics = true\n\t\t\t// consentValues.categories.ads = true\n\n\t\t\twpmConsentValues.categories.analytics = !explicitConsent\n\t\t\twpmConsentValues.categories.ads = !explicitConsent\n\t\t}\n\t}\n\n\twpm.updateConsentCookieValues()\n\n\twpm.setConsentDefaultValuesToExplicit = () => {\n\t\twpmConsentValues.categories = {\n\t\t\tanalytics: false,\n\t\t\tads : false,\n\t\t}\n\t}\n\n\twpm.canIFire = (category, pixelName) => {\n\n\t\tlet canIFireMode\n\n\t\tif (\"category\" === wpmConsentValues.mode) {\n\t\t\tcanIFireMode = !!wpmConsentValues.categories[category]\n\t\t} else if (\"pixel\" === wpmConsentValues.mode) {\n\t\t\tcanIFireMode = wpmConsentValues.pixels.includes(pixelName)\n\n\t\t\t// If a user sets \"bing-ads\" in Borlabs Cookie instead of\n\t\t\t// \"microsoft-ads\" in the Borlabs settings, we need to check\n\t\t\t// for that too.\n\t\t\tif (false === canIFireMode && \"microsoft-ads\" === pixelName) {\n\t\t\t\tcanIFireMode = wpmConsentValues.pixels.includes(\"bing-ads\")\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error(\"Couldn't find a valid consent mode in wpmConsentValues\")\n\t\t\tcanIFireMode = false\n\t\t}\n\n\t\tif (canIFireMode) {\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (true || wpm.urlHasParameter(\"debugConsentMode\")) {\n\t\t\t\twpm.logPreventedPixelLoading(pixelName, category)\n\t\t\t}\n\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.logPreventedPixelLoading = (pixelName, category) => {\n\n\t\tif (wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent) {\n\t\t\tconsole.log(\"Pixel Manager for WooCommerce: The \\\"\" + pixelName + \" (category: \" + category + \")\\\" pixel has not fired because you have not given consent for it yet. (WPM is in explicit consent mode.)\")\n\t\t} else {\n\t\t\tconsole.log(\"Pixel Manager for WooCommerce: The \\\"\" + pixelName + \" (category: \" + category + \")\\\" pixel has not fired because you have removed consent for this pixel. (WPM is in implicit consent mode.)\")\n\t\t}\n\t}\n\n\t/**\n\t * Runs through each script in <head> and blocks / unblocks it according to the plugin settings\n\t * and user consent.\n\t */\n\n\t// https://stackoverflow.com/q/65453565/4688612\n\twpm.scriptTagObserver = new MutationObserver((mutations) => {\n\t\tmutations.forEach(({addedNodes}) => {\n\t\t\t[...addedNodes]\n\t\t\t\t.forEach(node => {\n\n\t\t\t\t\tif ($(node).data(\"wpm-cookie-category\")) {\n\n\t\t\t\t\t\t// If the pixel category has been approved > unblock\n\t\t\t\t\t\t// If the pixel belongs to more than one category, then unblock if one of the categories has been approved\n\t\t\t\t\t\t// If no category has been approved, but the Google Consent Mode is active, then only unblock the Google scripts\n\n\t\t\t\t\t\tif (wpm.shouldScriptBeActive(node)) {\n\t\t\t\t\t\t\twpm.unblockScript(node)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twpm.blockScript(node)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t})\n\t})\n\n\twpm.scriptTagObserver.observe(document.head, {childList: true, subtree: true})\n\tjQuery(document).on(\"DOMContentLoaded\", () => wpm.scriptTagObserver.disconnect())\n\n\twpm.shouldScriptBeActive = node => {\n\n\t\tif (\n\t\t\twpmDataLayer.shop.cookie_consent_mgmt.explicit_consent ||\n\t\t\twpmConsentValues.visitorHasChosen\n\t\t) {\n\n\t\t\tif (wpmConsentValues.mode === \"category\" && $(node).data(\"wpm-cookie-category\").split(\",\").some(element => wpmConsentValues.categories[element])) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmConsentValues.mode === \"pixel\" && wpmConsentValues.pixels.includes($(node).data(\"wpm-pixel-name\"))) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmConsentValues.mode === \"pixel\" && $(node).data(\"wpm-pixel-name\") === \"google\" && [\"google-analytics\", \"google-ads\"].some(element => wpmConsentValues.pixels.includes(element))) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmDataLayer?.pixels?.google?.consent_mode?.active && $(node).data(\"wpm-pixel-name\") === \"google\") {\n\t\t\t\treturn true\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\n\twpm.unblockScript = (scriptNode, removeAttach = false) => {\n\n\t\tif (removeAttach) $(scriptNode).remove()\n\n\t\tlet wpmSrc = $(scriptNode).data(\"wpm-src\")\n\t\tif (wpmSrc) $(scriptNode).attr(\"src\", wpmSrc)\n\n\t\tscriptNode.type = \"text/javascript\"\n\n\t\tif (removeAttach) $(scriptNode).appendTo(\"head\")\n\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\twpm.blockScript = (scriptNode, removeAttach = false) => {\n\n\t\tif (removeAttach) $(scriptNode).remove()\n\n\t\tif ($(scriptNode).attr(\"src\")) $(scriptNode).removeAttr(\"src\")\n\t\tscriptNode.type = \"blocked/javascript\"\n\n\t\tif (removeAttach) $(scriptNode).appendTo(\"head\")\n\t}\n\n\twpm.unblockAllScripts = (analytics = true, ads = true) => {\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\twpm.unblockSelectedPixels = () => {\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\n\t/**\n\t * Block or unblock scripts for each CMP immediately after cookie consent has been updated\n\t * by the visitor.\n\t */\n\n\t// Borlabs Cookie\n\t// If visitor accepts cookies in Borlabs Cookie unblock the scripts\n\tjQuery(document).on(\"borlabs-cookie-consent-saved\", () => {\n\n\t\twpm.updateConsentCookieValues()\n\n\t\tif (wpmConsentValues.mode === \"pixel\") {\n\n\t\t\twpm.unblockSelectedPixels()\n\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.pixels.includes(\"google-analytics\"), wpmConsentValues.pixels.includes(\"google-ads\"))\n\t\t} else {\n\n\t\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t}\n\t})\n\n\t// Cookiebot\n\t// If visitor accepts cookies in Cookiebot unblock the scripts\n\t// https://www.cookiebot.com/en/developer/\n\tjQuery(document).on(\"CookiebotOnAccept\", () => {\n\n\t\tif (Cookiebot.consent.statistics) wpmConsentValues.categories.analytics = true\n\t\tif (Cookiebot.consent.marketing) wpmConsentValues.categories.ads = true\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\n\t}, false)\n\n\t/**\n\t * Cookie Script\n\t * If visitor accepts cookies in Cookie Script unblock the scripts\n\t * https://support.cookie-script.com/article/20-custom-events\n\t */\n\tjQuery(document).on(\"CookieScriptAccept\", e => {\n\n\t\tif (e.detail.categories.includes(\"performance\")) wpmConsentValues.categories.analytics = true\n\t\tif (e.detail.categories.includes(\"targeting\")) wpmConsentValues.categories.ads = true\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t})\n\n\t/**\n\t * Cookie Script\n\t * If visitor accepts cookies in Cookie Script unblock the scripts\n\t * https://support.cookie-script.com/\n\t */\n\tjQuery(document).on(\"CookieScriptAcceptAll\", () => {\n\n\t\twpm.unblockAllScripts(true, true)\n\t\twpm.updateGoogleConsentMode(true, true)\n\t})\n\n\t/**\n\t * Complianz Cookie\n\t *\n\t * If visitor accepts cookies in Complianz unblock the scripts\n\t */\n\n\twpm.cmplzStatusChange = (cmplzConsentData) => {\n\n\t\tif (cmplzConsentData.detail.categories.includes(\"statistics\")) wpm.updateConsentCookieValues(true, null)\n\t\tif (cmplzConsentData.detail.categories.includes(\"marketing\")) wpm.updateConsentCookieValues(null, true)\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t}\n\n\tjQuery(document).on(\"cmplzStatusChange\", wpm.cmplzStatusChange)\n\tjQuery(document).on(\"cmplz_status_change\", wpm.cmplzStatusChange)\n\n\n\t// Cookie Compliance by hu-manity.co (free and pro)\n\t// If visitor accepts cookies in Cookie Notice by hu-manity.co unblock the scripts (free version)\n\t// https://wordpress.org/support/topic/events-on-consent-change/#post-15202792\n\tjQuery(document).on(\"setCookieNotice\", () => {\n\n\t\twpm.updateConsentCookieValues()\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t})\n\n\t/**\n\t * Cookie Compliance by hu-manity.co (free and pro)\n\t * If visitor accepts cookies in Cookie Notice by hu-manity.co unblock the scripts (pro version)\n\t * https://wordpress.org/support/topic/events-on-consent-change/#post-15202792\n\t * Because Cookie Notice has no documented API or event that is being triggered on consent save or update\n\t * we have to solve this by using a mutation observer.\n\t *\n\t * @type {MutationObserver}\n\t */\n\n\twpm.huObserver = new MutationObserver(mutations => {\n\t\tmutations.forEach(({addedNodes}) => {\n\t\t\t[...addedNodes]\n\t\t\t\t.forEach(node => {\n\n\t\t\t\t\tif (node.id === \"hu\") {\n\n\t\t\t\t\t\tjQuery(\".hu-cookies-save\").on(\"click\", function () {\n\t\t\t\t\t\t\twpm.updateConsentCookieValues()\n\t\t\t\t\t\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\t\t\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t})\n\t})\n\n\tif (window.hu) {\n\t\twpm.huObserver.observe(document.documentElement || document.body, {childList: true, subtree: true})\n\t}\n\n\twpm.explicitConsentStateAlreadySet = () => {\n\n\t\tif (wpmConsentValues.explicitConsentStateAlreadySet) {\n\t\t\treturn true\n\t\t} else {\n\t\t\twpmConsentValues.explicitConsentStateAlreadySet = true\n\t\t}\n\t}\n\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Register event listeners\n */\n\n// remove_from_cart event\n// jQuery('.remove_from_cart_button, .remove').on('click', function (e) {\njQuery(document).on(\"click\", \".remove_from_cart_button, .remove\", function () {\n\n\ttry {\n\n\t\tlet url = new URL(jQuery(this).attr(\"href\"))\n\t\tlet productId = wpm.getProductIdByCartItemKeyUrl(url)\n\n\t\twpm.removeProductFromCart(productId)\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// add_to_cart event\n// jQuery('.add_to_cart_button:not(.product_type_variable), .ajax_add_to_cart, .js-ajax-add-to-cart, .single_add_to_cart_button, .btn_color-2').on('click', function (e) {\njQuery(document).on(\"click\", \".add_to_cart_button:not(.product_type_variable), .ajax_add_to_cart, .single_add_to_cart_button\", function () {\n\n\ttry {\n\n\t\tif (wpmDataLayer.shop.page_type === \"product\") {\n\n\t\t\t// First process related and upsell products\n\t\t\tif (typeof jQuery(this).attr(\"href\") !== \"undefined\" && jQuery(this).attr(\"href\").includes(\"add-to-cart\")) {\n\n\t\t\t\tlet quantity = 1\n\t\t\t\tlet productId = jQuery(this).data(\"product_id\")\n\n\t\t\t\twpm.addProductToCart(productId, quantity)\n\t\t\t} else {\n\n\t\t\t\tif (wpmDataLayer.shop.product_type === \"simple\") {\n\n\t\t\t\t\tlet quantity = Number(jQuery(\".input-text.qty\").val())\n\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tlet productId = jQuery(this).val()\n\n\t\t\t\t\twpm.addProductToCart(productId, quantity)\n\n\t\t\t\t} else if (wpmDataLayer.shop.product_type === \"variable\") {\n\n\t\t\t\t\tlet quantity = Number(jQuery(\".input-text.qty\").val())\n\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tlet productId = jQuery(\"[name='variation_id']\").val()\n\n\t\t\t\t\twpm.addProductToCart(productId, quantity)\n\n\t\t\t\t} else if (wpmDataLayer.shop.product_type === \"grouped\") {\n\n\t\t\t\t\tjQuery(\".woocommerce-grouped-product-list-item\").each(function () {\n\n\t\t\t\t\t\tlet quantity = Number(jQuery(this).find(\".input-text.qty\").val())\n\n\t\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\t\tlet classes = jQuery(this).attr(\"class\")\n\t\t\t\t\t\tlet productId = wpm.getPostIdFromString(classes)\n\n\t\t\t\t\t\twpm.addProductToCart(productId, quantity)\n\t\t\t\t\t})\n\t\t\t\t} else if (wpmDataLayer.shop.product_type === \"bundle\") {\n\n\t\t\t\t\tlet quantity = Number(jQuery(\".input-text.qty\").val())\n\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tlet productId = jQuery(\"input[name=add-to-cart]\").val()\n\n\t\t\t\t\twpm.addProductToCart(productId, quantity)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\n\t\t\tlet quantity = 1\n\t\t\tlet productId = jQuery(this).data(\"product_id\")\n\n\t\t\twpm.addProductToCart(productId, quantity)\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n/**\n * If someone clicks anywhere on a custom /?add-to-cart=123 link\n * trigger the add to cart event\n */\n// jQuery('a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)').one('click', function (event) {\njQuery(document).one(\"click\", \"a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)\", function (event) {\n\n\ttry {\n\t\tif (jQuery(event.target).closest(\"a\").attr(\"href\")) {\n\n\t\t\tlet href = jQuery(event.target).closest(\"a\").attr(\"href\")\n\n\t\t\tif (href.includes(\"add-to-cart=\")) {\n\n\t\t\t\tlet matches = href.match(/(add-to-cart=)(\\d+)/)\n\t\t\t\tif (matches) wpm.addProductToCart(matches[2], 1)\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// select_content GA UA event\n// select_item GA 4 event\n// jQuery(document).on('click', '.woocommerce-LoopProduct-link, .wc-block-grid__product, .product-small.box', function (e) {\n// jQuery('.woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product').on('click', function (e) {\njQuery(document).on(\"click\", \".woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product\", function () {\n\n\ttry {\n\n\t\t/**\n\t\t * On some pages the event fires multiple times, and on product pages\n\t\t * even on page load. Using e.stopPropagation helps to prevent this,\n\t\t * but I don't know why. We don't even have to use this, since only a real\n\t\t * product click yields a valid productId. So we filter the invalid click\n\t\t * events out later down in the code. I'll keep it that way because this is\n\t\t * the most compatible way across shops.\n\t\t *\n\t\t * e.stopPropagation();\n\t\t * */\n\n\t\tlet productId = jQuery(this).nextAll(\".wpmProductId:first\").data(\"id\")\n\n\t\t/**\n\t\t * On product pages, for some reason, the click event is triggered on the main product on page load.\n\t\t * In that case no ID is found. But we can discard it, since we only want to trigger the event on\n\t\t * related products, which are found below.\n\t\t */\n\n\t\tif (productId) {\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tif (wpmDataLayer.products && wpmDataLayer.products[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\t\t\tjQuery(document).trigger(\"wpmSelectContentGaUa\", product)\n\t\t\t\tjQuery(document).trigger(\"wpmSelectItem\", product)\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// begin_checkout event\nlet checkoutButtonClasses = [\n\t\".checkout-button\",\n\t\".cart-checkout-button\",\n\t\".button.checkout\",\n\t\".xoo-wsc-ft-btn-checkout\", // https://xootix.com/side-cart-for-woocommerce/\n]\n\njQuery(document).one(\"click\", checkoutButtonClasses.join(\",\"), function () {\n\tjQuery(document).trigger(\"wpmBeginCheckout\")\n})\n\n\n// checkout_progress event\n// track checkout option event: entered valid billing email\njQuery(document).on(\"input\", \"#billing_email\", function () {\n\n\tif (wpm.isEmail(jQuery(this).val())) {\n\t\t// wpm.fireCheckoutOption(2);\n\t\twpm.fireCheckoutProgress(2)\n\t\twpm.emailSelected = true\n\t}\n})\n\n// track checkout option event: purchase click\njQuery(document).on(\"click\", \".wc_payment_methods\", function () {\n\n\tif (false === wpm.paymentMethodSelected) {\n\t\twpm.fireCheckoutProgress(3)\n\t}\n\n\twpm.fireCheckoutOption(3, jQuery(\"input[name='payment_method']:checked\").val())\n\twpm.paymentMethodSelected = true\n})\n\n// track checkout option event: purchase click\n// jQuery('#place_order').one('click', function () {\njQuery(document).one(\"click\", \"#place_order\", function () {\n\n\tif (false === wpm.emailSelected) {\n\t\twpm.fireCheckoutProgress(2)\n\t}\n\n\tif (false === wpm.paymentMethodSelected) {\n\t\twpm.fireCheckoutProgress(3)\n\t\twpm.fireCheckoutOption(3, jQuery(\"input[name='payment_method']:checked\").val())\n\t}\n\n\twpm.fireCheckoutProgress(4)\n})\n\n// update cart event\n// jQuery(\"[name='update_cart']\").on('click', function (e) {\njQuery(document).on(\"click\", \"[name='update_cart']\", function () {\n\n\ttry {\n\t\tjQuery(\".cart_item\").each(function () {\n\n\t\t\tlet url = new URL(jQuery(this).find(\".product-remove\").find(\"a\").attr(\"href\"))\n\t\t\tlet productId = wpm.getProductIdByCartItemKeyUrl(url)\n\n\n\t\t\tlet quantity = jQuery(this).find(\".qty\").val()\n\n\t\t\tif (quantity === 0) {\n\t\t\t\twpm.removeProductFromCart(productId)\n\t\t\t} else if (quantity < wpmDataLayer.cart[productId].quantity) {\n\t\t\t\twpm.removeProductFromCart(productId, wpmDataLayer.cart[productId].quantity - quantity)\n\t\t\t} else if (quantity > wpmDataLayer.cart[productId].quantity) {\n\t\t\t\twpm.addProductToCart(productId, quantity - wpmDataLayer.cart[productId].quantity)\n\t\t\t}\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t\twpm.getCartItemsFromBackend()\n\t}\n})\n\n\n// add_to_wishlist\njQuery(document).on(\"click\", \".add_to_wishlist, .wl-add-to\", function () {\n\n\ttry {\n\n\t\tlet productId\n\n\t\tif (jQuery(this).data(\"productid\")) { // for the WooCommerce wishlist plugin\n\n\t\t\tproductId = jQuery(this).data(\"productid\")\n\t\t} else if (jQuery(this).data(\"product-id\")) { // for the YITH wishlist plugin\n\n\t\t\tproductId = jQuery(this).data(\"product-id\")\n\t\t}\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\tjQuery(document).trigger(\"wpmAddToWishlist\", product)\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\njQuery(document).on(\"updated_cart_totals\", function () {\n\tjQuery(document).trigger(\"wpmViewCart\")\n})\n\n\n/**\n * Called when the user selects all the required dropdowns / attributes\n *\n * Has to be hooked after document ready !\n *\n * https://stackoverflow.com/a/27849208/4688612\n * https://stackoverflow.com/a/65065335/4688612\n */\n\njQuery(function () {\n\n\tjQuery(\".single_variation_wrap\").on(\"show_variation\", function (event, variation) {\n\n\t\ttry {\n\t\t\tlet productId = wpm.getIdBasedOndVariationsOutputSetting(variation.variation_id)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\twpm.triggerViewItemEventPrep(productId)\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t})\n})\n\n\n/**\n * Called on variable products when no selection has been done yet\n * or when the visitor deselects his choice.\n *\n * Has to be hooked after document ready !\n */\n\n// jQuery(function () {\n//\n// \tjQuery(\".single_variation_wrap\").on(\"hide_variation\", function () {\n//\n// \t\ttry {\n// \t\t\tlet classes = jQuery(\"body\").attr(\"class\")\n// \t\t\tlet productId = classes.match(/(postid-)(\\d+)/)[2]\n//\n// \t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n//\n// \t\t\t/**\n// \t\t\t * If we have a variable product with no preset,\n// \t\t\t * and variations output is enabled,\n// \t\t\t * then we send a viewItem event with the first\n// \t\t\t * variation we find for the parent.\n// \t\t\t * If variations output is disabled,\n// \t\t\t * we just send the parent ID.\n// \t\t\t *\n// \t\t\t * And if Facebook microdata is active, use the\n// \t\t\t * microdata product ID.\n// \t\t\t */\n//\n// \t\t\tif (\n// \t\t\t\t\"variable\" === wpmDataLayer.shop.product_type &&\n// \t\t\t\twpmDataLayer?.general?.variationsOutput\n// \t\t\t) {\n// \t\t\t\tfor (const [key, product] of Object.entries(wpmDataLayer.products)) {\n// \t\t\t\t\tif (\"parentId\" in product) {\n//\n// \t\t\t\t\t\tproductId = product.id\n// \t\t\t\t\t\tbreak\n// \t\t\t\t\t}\n// \t\t\t\t}\n//\n// \t\t\t\tif (wpmDataLayer?.pixels?.facebook?.microdata_product_id) {\n// \t\t\t\t\tproductId = wpmDataLayer.pixels.facebook.microdata_product_id\n// \t\t\t\t}\n// \t\t\t}\n//\n// \t\t\t// console.log(\"hmm\")\n// \t\t\twpm.triggerViewItemEventPrep(productId)\n//\n// \t\t} catch (e) {\n// \t\t\tconsole.error(e)\n// \t\t}\n// \t})\n// })\n\n// jQuery(function () {\n//\n// \tjQuery(\".single_variation_wrap\").on(\"hide_variation\", function () {\n// \t\tjQuery(document).trigger(\"wpmViewItem\")\n// \t})\n// })\n\n\n/**\n * Set up wpm events\n */\n\n// populate the wpmDataLayer with the cart items\njQuery(window).on(\"wpmLoad\", function () {\n\n\ttry {\n\t\t// When a new session is initiated there are no items in the cart,\n\t\t// so we can save the call to get the cart items\n\t\tif (wpm.doesWooCommerceCartExist()) wpm.getCartItems()\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// get all add-to-cart= products from backend\njQuery(window).on(\"wpmLoad\", function () {\n\n\twpmDataLayer.products = wpmDataLayer.products || {}\n\n\t// scan page for add-to-cart= links\n\tlet productIds = wpm.getAddToCartLinkProductIds()\n\n\twpm.getProductsFromBackend(productIds)\n})\n\n/**\n * Save the referrer into a cookie\n */\n\njQuery(window).on(\"wpmLoad\", function () {\n\n\t// can't use session storage as we can't read it from the server\n\tif (!wpm.getCookie(\"wpmReferrer\")) {\n\n\t\tif (document.referrer) {\n\t\t\tlet referrerUrl = new URL(document.referrer)\n\t\t\tlet referrerHostname = referrerUrl.hostname\n\n\t\t\tif (referrerHostname !== window.location.host) {\n\t\t\t\twpm.setCookie(\"wpmReferrer\", referrerHostname)\n\t\t\t}\n\t\t}\n\t}\n})\n\n\n/**\n * Create our own load event in order to better handle script flow execution when JS \"optimizers\" shuffle the code.\n */\n\njQuery(window).on(\"wpmLoad\", function () {\n\ttry {\n\t\tif (typeof wpmDataLayer != \"undefined\" && !wpmDataLayer?.wpmLoadFired) {\n\n\t\t\tjQuery(document).trigger(\"wpmLoadAlways\")\n\n\t\t\tif (wpmDataLayer?.shop) {\n\t\t\t\tif (\n\t\t\t\t\t\"product\" === wpmDataLayer.shop.page_type &&\n\t\t\t\t\t\"variable\" !== wpmDataLayer.shop.product_type &&\n\t\t\t\t\twpm.getMainProductIdFromProductPage()\n\t\t\t\t) {\n\t\t\t\t\tlet product = wpm.getProductDataForViewItemEvent(wpm.getMainProductIdFromProductPage())\n\t\t\t\t\tjQuery(document).trigger(\"wpmViewItem\", product)\n\t\t\t\t} else if (\"product_category\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmCategory\")\n\t\t\t\t} else if (\"search\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmSearch\")\n\t\t\t\t} else if (\"cart\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmViewCart\")\n\t\t\t\t} else if (\"order_received_page\" === wpmDataLayer.shop.page_type && wpmDataLayer.order) {\n\t\t\t\t\tif (!wpm.isOrderIdStored(wpmDataLayer.order.id)) {\n\t\t\t\t\t\tjQuery(document).trigger(\"wpmOrderReceivedPage\")\n\t\t\t\t\t\twpm.writeOrderIdToStorage(wpmDataLayer.order.id)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tjQuery(document).trigger(\"wpmEverywhereElse\")\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery(document).trigger(\"wpmEverywhereElse\")\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.user?.id && !wpm.hasLoginEventFired()) {\n\t\t\t\tjQuery(document).trigger(\"wpmLogin\")\n\t\t\t\twpm.setLoginEventFired()\n\t\t\t}\n\n\t\t\t// /**\n\t\t\t// * Load mini cart fragments into a wpm session storage key,\n\t\t\t// * after the document load event.\n\t\t\t// */\n\t\t\t// jQuery(document).ajaxSend(function (event, jqxhr, settings) {\n\t\t\t// \t// console.log('settings.url: ' + settings.url);\n\t\t\t//\n\t\t\t// \tif (settings.url.includes(\"get_refreshed_fragments\") && sessionStorage) {\n\t\t\t// \t\tif (!sessionStorage.getItem(\"wpmMiniCartActive\")) {\n\t\t\t// \t\t\tsessionStorage.setItem(\"wpmMiniCartActive\", JSON.stringify(true))\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// })\n\n\t\t\twpmDataLayer.wpmLoadFired = true\n\t\t}\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n/**\n * Load all pixels\n */\njQuery(window).on(\"wpmPreLoadPixels\", function () {\n\n\tif (wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent && !wpm.explicitConsentStateAlreadySet()) {\n\t\twpm.updateConsentCookieValues(null, null, true)\n\t}\n\n\tjQuery(document).trigger(\"wpmLoadPixels\", {})\n})\n","/**\n * Create a wpm namespace under which all functions are declared\n */\n\n// https://stackoverflow.com/a/5947280/4688612\n\n(function (wpm, $, undefined) {\n\n\tconst wpmDeduper = {\n\t\tkeyName : \"_wpm_order_ids\",\n\t\tcookieExpiresDays: 365,\n\t}\n\n\tconst wpmRestSettings = {\n\t\t// cookiesAvailable : '_wpm_cookies_are_available',\n\t\tcookieWpmRestEndpointAvailable: \"_wpm_endpoint_available\",\n\t\trestEndpoint : \"/wp-json/\",\n\t\trestFails : 0,\n\t\trestFailsThreshold : 10,\n\t}\n\n\twpm.emailSelected = false\n\twpm.paymentMethodSelected = false\n\n\t// wpm.checkIfCookiesAvailable = function () {\n\t//\n\t// // read the cookie if previously set, if it is return true, otherwise continue\n\t// if (wpm.getCookie(wpmRestSettings.cookiesAvailable)) {\n\t// return true;\n\t// }\n\t//\n\t// // set the cookie for the session\n\t// Cookies.set(wpmRestSettings.cookiesAvailable, true);\n\t//\n\t// // read cookie, true if ok, false if not ok\n\t// return !!wpm.getCookie(wpmRestSettings.cookiesAvailable);\n\t// }\n\n\twpm.useRestEndpoint = () => {\n\n\t\t// only if sessionStorage is available\n\n\t\t// only if REST API endpoint is generally accessible\n\t\t// check in sessionStorage if we checked before and return answer\n\t\t// otherwise check if the endpoint is available, save answer in sessionStorage and return answer\n\n\t\t// only if not too many REST API errors happened\n\n\t\treturn wpm.isSessionStorageAvailable() &&\n\t\t\twpm.isRestEndpointAvailable() &&\n\t\t\twpm.isBelowRestErrorThreshold()\n\t}\n\n\twpm.isBelowRestErrorThreshold = () => window.sessionStorage.getItem(wpmRestSettings.restFails) <= wpmRestSettings.restFailsThreshold\n\n\twpm.isRestEndpointAvailable = () => {\n\n\t\tif (window.sessionStorage.getItem(wpmRestSettings.cookieWpmRestEndpointAvailable)) {\n\t\t\treturn JSON.parse(window.sessionStorage.getItem(wpmRestSettings.cookieWpmRestEndpointAvailable))\n\t\t} else {\n\t\t\t// return wpm.testEndpoint();\n\t\t\t// just set the value whenever possible in order not to wait or block the main thread\n\t\t\twpm.testEndpoint()\n\t\t}\n\t}\n\n\twpm.isSessionStorageAvailable = () => !!window.sessionStorage\n\n\twpm.testEndpoint = (\n\t\turl = location.protocol + \"//\" + location.host + wpmRestSettings.restEndpoint,\n\t\tcookieName = wpmRestSettings.cookieWpmRestEndpointAvailable,\n\t) => {\n\t\t// console.log('testing endpoint');\n\n\t\tjQuery.ajax(url, {\n\t\t\ttype : \"HEAD\",\n\t\t\ttimeout: 1000,\n\t\t\t// async: false,\n\t\t\tstatusCode: {\n\t\t\t\t200: function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, true);\n\t\t\t\t\t// console.log('endpoint works');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(true))\n\t\t\t\t},\n\t\t\t\t404: function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, false);\n\t\t\t\t\t// console.log('endpoint doesn\\'t work');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(false))\n\t\t\t\t},\n\t\t\t\t0 : function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, false);\n\t\t\t\t\t// console.log('endpoint doesn\\'t work');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(false))\n\t\t\t\t},\n\t\t\t},\n\t\t}).then(response => {\n\t\t\t// console.log('test done')\n\t\t\t// console.log('result: ' + JSON.parse(window.sessionStorage.getItem(cookieName)));\n\t\t\t// return JSON.parse(window.sessionStorage.getItem(cookieName));\n\t\t})\n\t}\n\n\twpm.isWpmRestEndpointAvailable = (cookieName = wpmRestSettings.cookieWpmRestEndpointAvailable) => !!wpm.getCookie(cookieName)\n\n\twpm.writeOrderIdToStorage = (orderId, expireDays = 365) => {\n\n\t\t// save the order ID in the browser storage\n\n\t\tif (!window.Storage) {\n\t\t\tlet expiresDate = new Date()\n\t\t\texpiresDate.setDate(expiresDate.getDate() + wpmDeduper.cookieExpiresDays)\n\n\t\t\tlet ids = []\n\t\t\tif (checkCookie()) {\n\t\t\t\tids = JSON.parse(wpm.getCookie(wpmDeduper.keyName))\n\t\t\t}\n\n\t\t\tif (!ids.includes(orderId)) {\n\t\t\t\tids.push(orderId)\n\t\t\t\tdocument.cookie = wpmDeduper.keyName + \"=\" + JSON.stringify(ids) + \";expires=\" + expiresDate.toUTCString()\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (localStorage.getItem(wpmDeduper.keyName) === null) {\n\t\t\t\tlet ids = []\n\t\t\t\tids.push(orderId)\n\t\t\t\twindow.localStorage.setItem(wpmDeduper.keyName, JSON.stringify(ids))\n\n\t\t\t} else {\n\t\t\t\tlet ids = JSON.parse(localStorage.getItem(wpmDeduper.keyName))\n\t\t\t\tif (!ids.includes(orderId)) {\n\t\t\t\t\tids.push(orderId)\n\t\t\t\t\twindow.localStorage.setItem(wpmDeduper.keyName, JSON.stringify(ids))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (typeof wpm.storeOrderIdOnServer === \"function\" && wpmDataLayer.orderDeduplication) {\n\t\t\twpm.storeOrderIdOnServer(orderId)\n\t\t}\n\t}\n\n\tfunction checkCookie() {\n\t\tlet key = wpm.getCookie(wpmDeduper.keyName)\n\t\treturn key !== \"\"\n\t}\n\n\twpm.isOrderIdStored = orderId => {\n\n\t\tif (wpmDataLayer.orderDeduplication) {\n\n\t\t\tif (!window.Storage) {\n\n\t\t\t\tif (checkCookie()) {\n\t\t\t\t\tlet ids = JSON.parse(wpm.getCookie(wpmDeduper.keyName))\n\t\t\t\t\treturn ids.includes(orderId)\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (localStorage.getItem(wpmDeduper.keyName) !== null) {\n\t\t\t\t\tlet ids = JSON.parse(localStorage.getItem(wpmDeduper.keyName))\n\t\t\t\t\treturn ids.includes(orderId)\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.log(\"order duplication prevention: off\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.isEmail = email => {\n\n\t\t// https://emailregex.com/\n\n\t\tlet regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\n\t\treturn regex.test(email)\n\t}\n\n\twpm.removeProductFromCart = (productId, quantityToRemove = null) => {\n\n\t\ttry {\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tlet quantity\n\n\t\t\tif (quantityToRemove == null) {\n\t\t\t\tquantity = wpmDataLayer.cart[productId].quantity\n\t\t\t} else {\n\t\t\t\tquantity = quantityToRemove\n\t\t\t}\n\n\t\t\tif (wpmDataLayer.cart[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\n\t\t\t\tjQuery(document).trigger(\"wpmRemoveFromCart\", product)\n\n\t\t\t\tif (quantityToRemove == null || wpmDataLayer.cart[productId].quantity === quantityToRemove) {\n\n\t\t\t\t\tdelete wpmDataLayer.cart[productId]\n\n\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t\t} else {\n\n\t\t\t\t\twpmDataLayer.cart[productId].quantity = wpmDataLayer.cart[productId].quantity - quantity\n\n\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\t// console.log('getting cart from back end');\n\t\t\t// wpm.getCartItemsFromBackend();\n\t\t\t// console.log('getting cart from back end done');\n\t\t}\n\t}\n\n\twpm.getIdBasedOndVariationsOutputSetting = productId => {\n\n\t\ttry {\n\t\t\tif (wpmDataLayer?.general?.variationsOutput) {\n\n\t\t\t\treturn productId\n\t\t\t} else {\n\t\t\t\tif (wpmDataLayer.products[productId].isVariation) {\n\n\t\t\t\t\treturn wpmDataLayer.products[productId].parentId\n\t\t\t\t} else {\n\n\t\t\t\t\treturn productId\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// add_to_cart\n\twpm.addProductToCart = (productId, quantity) => {\n\n\t\ttry {\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tif (wpmDataLayer?.products[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\n\t\t\t\tjQuery(document).trigger(\"wpmAddToCart\", product)\n\n\t\t\t\t// add product to cart wpmDataLayer['cart']\n\n\t\t\t\t// if the product already exists in the object, only add the additional quantity\n\t\t\t\t// otherwise create that product object in the wpmDataLayer['cart']\n\t\t\t\tif (wpmDataLayer?.cart[productId]) {\n\n\t\t\t\t\twpmDataLayer.cart[productId].quantity = wpmDataLayer.cart[productId].quantity + quantity\n\t\t\t\t} else {\n\n\t\t\t\t\tif (!(\"cart\" in wpmDataLayer)) wpmDataLayer.cart = {}\n\n\t\t\t\t\twpmDataLayer.cart[productId] = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\t\t\t\t}\n\n\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\n\t\t\t// fallback if wpmDataLayer.cart and wpmDataLayer.products got out of sync in case cart caching has an issue\n\t\t\twpm.getCartItemsFromBackend()\n\t\t}\n\t}\n\n\twpm.getCartItems = () => {\n\n\t\tif (sessionStorage) {\n\t\t\tif (!sessionStorage.getItem(\"wpmDataLayerCart\") || wpmDataLayer.shop.page_type === \"order_received_page\") {\n\t\t\t\tsessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify({}))\n\t\t\t} else {\n\t\t\t\twpm.saveCartObjectToDataLayer(JSON.parse(sessionStorage.getItem(\"wpmDataLayerCart\")))\n\t\t\t}\n\t\t} else {\n\t\t\twpm.getCartItemsFromBackend()\n\t\t}\n\t}\n\n\t// get all cart items from the backend\n\twpm.getCartItemsFromBackend = () => {\n\t\ttry {\n\t\t\tlet data = {\n\t\t\t\taction: \"wpm_get_cart_items\",\n\t\t\t}\n\n\t\t\tjQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"get\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (cartItems) {\n\n\t\t\t\t\t\t// save all cart items into wpmDataLayer\n\n\t\t\t\t\t\tif (!cartItems[\"cart\"]) cartItems[\"cart\"] = {}\n\n\t\t\t\t\t\twpm.saveCartObjectToDataLayer(cartItems[\"cart\"])\n\n\t\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(cartItems[\"cart\"]))\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// get productIds from the backend\n\twpm.getProductsFromBackend = productIds => {\n\n\t\tif (wpmDataLayer?.products) {\n\t\t\t// reduce productIds by products already in the dataLayer\n\t\t\tproductIds = productIds.filter(item => !wpmDataLayer.products.hasOwnProperty(item))\n\t\t}\n\n\t\t// if no products IDs are in the object, don't try to get anything from the server\n\t\tif (!productIds || productIds.length === 0) return\n\n\t\ttry {\n\t\t\tlet data = {\n\t\t\t\taction : \"wpm_get_product_ids\",\n\t\t\t\tproductIds: productIds,\n\t\t\t}\n\n\t\t\treturn jQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"get\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (products) {\n\n\t\t\t\t\t\t// merge products into wpmDataLayer.products\n\t\t\t\t\t\twpmDataLayer.products = Object.assign({}, wpmDataLayer.products, products)\n\t\t\t\t\t},\n\t\t\t\t\terror : function (response) {\n\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.saveCartObjectToDataLayer = cartObject => {\n\n\t\twpmDataLayer.cart = cartObject\n\t\twpmDataLayer.products = Object.assign({}, wpmDataLayer.products, cartObject)\n\t}\n\n\twpm.triggerViewItemEventPrep = productId => {\n\n\t\tif (wpmDataLayer.products && wpmDataLayer.products[productId]) {\n\n\t\t\twpm.triggerViewItemEvent(productId)\n\t\t} else {\n\t\t\twpm.getProductsFromBackend([productId]).then(() => {\n\n\t\t\t\twpm.triggerViewItemEvent(productId)\n\t\t\t})\n\t\t}\n\t}\n\n\twpm.triggerViewItemEvent = productId => {\n\n\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\tjQuery(document).trigger(\"wpmViewItem\", product)\n\t}\n\n\twpm.triggerViewItemEventNoProduct = () => {\n\t\tjQuery(document).trigger(\"wpmViewItemNoProduct\")\n\t}\n\n\twpm.fireCheckoutOption = (step, checkout_option = null, value = null) => {\n\n\t\tlet data = {\n\t\t\tstep : step,\n\t\t\tcheckout_option: checkout_option,\n\t\t\tvalue : value,\n\t\t}\n\n\t\tjQuery(document).trigger(\"wpmFireCheckoutOption\", data)\n\t}\n\n\twpm.fireCheckoutProgress = step => {\n\n\t\tlet data = {\n\t\t\tstep: step,\n\t\t}\n\n\t\tjQuery(document).trigger(\"wpmFireCheckoutProgress\", data)\n\t}\n\n\twpm.getPostIdFromString = string => {\n\n\t\ttry {\n\t\t\treturn string.match(/(post-)(\\d+)/)[2]\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.triggerViewItemList = productId => {\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tjQuery(document).trigger(\"wpmViewItemList\", wpm.getProductDataForViewItemEvent(productId))\n\t}\n\n\twpm.getProductDataForViewItemEvent = productId => {\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\ttry {\n\t\t\tif (wpmDataLayer.products[productId]) {\n\n\t\t\t\treturn wpm.getProductDetailsFormattedForEvent(productId)\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.getMainProductIdFromProductPage = () => {\n\n\t\ttry {\n\t\t\tif ([\"simple\", \"variable\", \"grouped\", \"composite\", \"bundle\"].indexOf(wpmDataLayer.shop.product_type) >= 0) {\n\t\t\t\treturn jQuery(\".wpmProductId:first\").data(\"id\")\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.viewItemListTriggerTestMode = target => {\n\n\t\tjQuery(target).css({\"position\": \"relative\"})\n\t\tjQuery(target).append(\"<div id=\\\"viewItemListTriggerOverlay\\\"></div>\")\n\t\tjQuery(target).find(\"#viewItemListTriggerOverlay\").css({\n\t\t\t\"z-index\" : \"10\",\n\t\t\t\"display\" : \"block\",\n\t\t\t\"position\" : \"absolute\",\n\t\t\t\"height\" : \"100%\",\n\t\t\t\"top\" : \"0\",\n\t\t\t\"left\" : \"0\",\n\t\t\t\"right\" : \"0\",\n\t\t\t\"opacity\" : wpmDataLayer.viewItemListTrigger.opacity,\n\t\t\t\"background-color\": wpmDataLayer.viewItemListTrigger.backgroundColor,\n\t\t})\n\t}\n\n\twpm.getSearchTermFromUrl = () => {\n\n\t\ttry {\n\t\t\tlet urlParameters = new URLSearchParams(window.location.search)\n\t\t\treturn urlParameters.get(\"s\")\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// we need this to track timeouts for intersection observers\n\tlet ioTimeouts = {}\n\n\twpm.observerCallback = (entries, observer) => {\n\n\t\tentries.forEach((entry) => {\n\n\t\t\ttry {\n\t\t\t\tlet productId\n\n\t\t\t\tlet elementId = jQuery(entry.target).data(\"ioid\")\n\n\t\t\t\t// Get the productId from next element, if wpmProductId is a sibling, like in Gutenberg blocks\n\t\t\t\t// otherwise go search in children, like in regular WC loop items\n\t\t\t\tif (jQuery(entry.target).next(\".wpmProductId\").length) {\n\t\t\t\t\t// console.log('test 1');\n\t\t\t\t\tproductId = jQuery(entry.target).next(\".wpmProductId\").data(\"id\")\n\t\t\t\t} else {\n\t\t\t\t\tproductId = jQuery(entry.target).find(\".wpmProductId\").data(\"id\")\n\t\t\t\t}\n\n\n\t\t\t\tif (!productId) throw Error(\"wpmProductId element not found\")\n\n\t\t\t\tif (entry.isIntersecting) {\n\n\t\t\t\t\tioTimeouts[elementId] = setTimeout(() => {\n\n\t\t\t\t\t\twpm.triggerViewItemList(productId)\n\t\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.testMode) wpm.viewItemListTriggerTestMode(entry.target)\n\t\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.repeat === false) observer.unobserve(entry.target)\n\t\t\t\t\t}, wpmDataLayer.viewItemListTrigger.timeout)\n\n\t\t\t\t} else {\n\n\t\t\t\t\tclearTimeout(ioTimeouts[elementId])\n\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.testMode) jQuery(entry.target).find(\"#viewItemListTriggerOverlay\").remove()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t})\n\t}\n\n\t// fire view_item_list only on products that have become visible\n\tlet io\n\tlet ioid = 0\n\tlet allIoElementsToWatch\n\n\tlet getAllElementsToWatch = () => {\n\n\t\tallIoElementsToWatch = jQuery(\".wpmProductId\")\n\t\t\t.map(function (i, elem) {\n\n\t\t\t\tif (\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"type-product\") ||\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"product\") ||\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"product-item-inner\")\n\t\t\t\t) {\n\t\t\t\t\treturn jQuery(elem).parent()\n\t\t\t\t} else if (\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"wc-block-grid__product\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"product\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"product-small\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"woocommerce-LoopProduct-link\")\n\t\t\t\t) {\n\t\t\t\t\treturn jQuery(this).prev()\n\t\t\t\t} else if (jQuery(elem).closest(\".product\").length) {\n\t\t\t\t\treturn jQuery(elem).closest(\".product\")\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\twpm.startIntersectionObserverToWatch = () => {\n\n\t\ttry {\n\t\t\t// enable view_item_list test mode from browser\n\t\t\tif (wpm.urlHasParameter(\"vildemomode\")) wpmDataLayer.viewItemListTrigger.testMode = true\n\n\t\t\t// set up intersection observer\n\t\t\tio = new IntersectionObserver(wpm.observerCallback, {\n\t\t\t\tthreshold: wpmDataLayer.viewItemListTrigger.threshold,\n\t\t\t})\n\n\t\t\tgetAllElementsToWatch()\n\n\t\t\tallIoElementsToWatch.each((i, elem) => {\n\n\t\t\t\tjQuery(elem[0]).data(\"ioid\", ioid++)\n\n\t\t\t\tio.observe(elem[0])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// watch DOM for new lazy loaded products and add them to the intersection observer\n\twpm.startProductsMutationObserverToWatch = () => {\n\n\t\ttry {\n\t\t\t// Pass in the target node, as well as the observer options\n\n\t\t\t// selects the most common parent node\n\t\t\t// https://stackoverflow.com/a/7648323/4688612\n\t\t\tlet productsNode = jQuery(\".wpmProductId:eq(0)\").parents().has(jQuery(\".wpmProductId:eq(1)\").parents()).first()\n\n\t\t\tif (productsNode.length) {\n\t\t\t\tproductsMutationObserver.observe(productsNode[0], {\n\t\t\t\t\tattributes : true,\n\t\t\t\t\tchildList : true,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// Create an observer instance\n\tlet productsMutationObserver = new MutationObserver(mutations => {\n\n\t\tmutations.forEach(mutation => {\n\t\t\tlet newNodes = mutation.addedNodes // DOM NodeList\n\t\t\tif (newNodes !== null) { // If there are new nodes added\n\t\t\t\tlet nodes = jQuery(newNodes) // jQuery set\n\t\t\t\tnodes.each(function () {\n\t\t\t\t\tif (\n\t\t\t\t\t\tjQuery(this).hasClass(\"type-product\") ||\n\t\t\t\t\t\tjQuery(this).hasClass(\"product-small\") ||\n\t\t\t\t\t\tjQuery(this).hasClass(\"wc-block-grid__product\")\n\t\t\t\t\t) {\n\t\t\t\t\t\t// check if the node has a child or sibling wpmProductId\n\t\t\t\t\t\t// if yes add it to the intersectionObserver\n\t\t\t\t\t\tif (hasWpmProductIdElement(this)) {\n\t\t\t\t\t\t\tjQuery(this).data(\"ioid\", ioid++)\n\t\t\t\t\t\t\tio.observe(this)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})\n\n\tlet hasWpmProductIdElement = elem =>\n\t\t!!(jQuery(elem).find(\".wpmProductId\").length ||\n\t\t\tjQuery(elem).siblings(\".wpmProductId\").length)\n\n\twpm.setCookie = (cookieName, cookieValue = \"\", expiryDays = null) => {\n\n\t\tif (expiryDays) {\n\n\t\t\tlet d = new Date()\n\t\t\td.setTime(d.getTime() + (expiryDays * 24 * 60 * 60 * 1000))\n\t\t\tlet expires = \"expires=\" + d.toUTCString()\n\t\t\tdocument.cookie = cookieName + \"=\" + cookieValue + \";\" + expires + \";path=/\"\n\t\t} else {\n\t\t\tdocument.cookie = cookieName + \"=\" + cookieValue + \";path=/\"\n\t\t}\n\t}\n\n\twpm.getCookie = cookieName => {\n\n\t\tlet name = cookieName + \"=\"\n\t\tlet decodedCookie = decodeURIComponent(document.cookie)\n\t\tlet ca = decodedCookie.split(\";\")\n\n\t\tfor (let i = 0; i < ca.length; i++) {\n\n\t\t\tlet c = ca[i]\n\n\t\t\twhile (c.charAt(0) == \" \") {\n\t\t\t\tc = c.substring(1)\n\t\t\t}\n\n\t\t\tif (c.indexOf(name) == 0) {\n\t\t\t\treturn c.substring(name.length, c.length)\n\t\t\t}\n\t\t}\n\n\t\treturn \"\"\n\t}\n\n\twpm.getWpmSessionData = () => {\n\n\t\tif (window.sessionStorage) {\n\n\t\t\tlet data = window.sessionStorage.getItem(\"_wpm\")\n\n\t\t\tif (data !== null) {\n\t\t\t\treturn JSON.parse(data)\n\t\t\t} else {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t} else {\n\t\t\treturn {}\n\t\t}\n\t}\n\n\twpm.setWpmSessionData = data => {\n\t\tif (window.sessionStorage) {\n\t\t\twindow.sessionStorage.setItem(\"_wpm\", JSON.stringify(data))\n\t\t}\n\t}\n\n\twpm.storeOrderIdOnServer = orderId => {\n\n\t\ttry {\n\t\t\t// save the state in the database\n\t\t\tlet data = {\n\t\t\t\taction : \"wpm_purchase_pixels_fired\",\n\t\t\t\torder_id: orderId,\n\t\t\t\t// nonce : ajax_object.nonce,\n\t\t\t\tnonce: wpm.nonce,\n\t\t\t}\n\n\t\t\tjQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"post\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (response) {\n\t\t\t\t\t\tif (response.success === false) {\n\t\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\terror : function (response) {\n\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.getProductIdByCartItemKeyUrl = url => {\n\n\t\tlet searchParams = new URLSearchParams(url.search)\n\t\tlet cartItemKey = searchParams.get(\"remove_item\")\n\n\t\tlet productId\n\n\t\tif (wpmDataLayer.cartItemKeys[cartItemKey][\"variation_id\"] === 0) {\n\t\t\tproductId = wpmDataLayer.cartItemKeys[cartItemKey][\"product_id\"]\n\t\t} else {\n\t\t\tproductId = wpmDataLayer.cartItemKeys[cartItemKey][\"variation_id\"]\n\t\t}\n\n\t\treturn productId\n\t}\n\n\twpm.getAddToCartLinkProductIds = () =>\n\t\tjQuery(\"a\").map(function () {\n\t\t\tlet href = jQuery(this).attr(\"href\")\n\n\t\t\tif (href && href.includes(\"?add-to-cart=\")) {\n\t\t\t\tlet matches = href.match(/(add-to-cart=)(\\d+)/)\n\t\t\t\tif (matches) return matches[2]\n\t\t\t}\n\t\t}).get()\n\n\twpm.getProductDetailsFormattedForEvent = (productId, quantity = 1) => {\n\n\t\tlet product = {\n\t\t\tid : productId.toString(),\n\t\t\tdyn_r_ids : wpmDataLayer.products[productId].dyn_r_ids,\n\t\t\tname : wpmDataLayer.products[productId].name,\n\t\t\tlist_name : wpmDataLayer.shop.list_name,\n\t\t\tbrand : wpmDataLayer.products[productId].brand,\n\t\t\tcategory : wpmDataLayer.products[productId].category,\n\t\t\tvariant : wpmDataLayer.products[productId].variant,\n\t\t\tlist_position: wpmDataLayer.products[productId].position,\n\t\t\tquantity : quantity,\n\t\t\tprice : wpmDataLayer.products[productId].price,\n\t\t\tcurrency : wpmDataLayer.shop.currency,\n\t\t\tisVariable : wpmDataLayer.products[productId].isVariable,\n\t\t\tisVariation : wpmDataLayer.products[productId].isVariation,\n\t\t\tparentId : wpmDataLayer.products[productId].parentId,\n\t\t}\n\n\t\tif (product.isVariation) product[\"parentId_dyn_r_ids\"] = wpmDataLayer.products[productId].parentId_dyn_r_ids\n\n\t\treturn product\n\t}\n\n\twpm.setReferrerToCookie = () => {\n\n\t\t// can't use session storage as we can't read it from the server\n\t\tif (!wpm.getCookie(\"wpmReferrer\")) {\n\t\t\twpm.setCookie(\"wpmReferrer\", document.referrer)\n\t\t}\n\t}\n\n\twpm.getReferrerFromCookie = () => {\n\n\t\tif (wpm.getCookie(\"wpmReferrer\")) {\n\t\t\treturn wpm.getCookie(\"wpmReferrer\")\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\twpm.getClidFromBrowser = (clidId = \"gclid\") => {\n\n\t\tlet clidCookieId\n\n\t\tclidCookieId = {\n\t\t\tgclid: \"_gcl_aw\",\n\t\t\tdclid: \"_gcl_dc\",\n\t\t}\n\n\t\tif (wpm.getCookie(clidCookieId[clidId])) {\n\n\t\t\tlet clidCookie = wpm.getCookie(clidCookieId[clidId])\n\t\t\tlet matches = clidCookie.match(/(GCL.[\\d]*.)(.*)/)\n\t\t\treturn matches[2]\n\t\t} else {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\n\twpm.getUserAgent = () => navigator.userAgent\n\n\twpm.getViewPort = () => ({\n\t\twidth : Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),\n\t\theight: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0),\n\t})\n\n\n\twpm.version = () => {\n\t\tconsole.log(wpmDataLayer.version)\n\t}\n\n\t// https://api.jquery.com/jquery.getscript/\n\twpm.loadScriptAndCacheIt = (url, options) => {\n\n\t\t// Allow user to set any option except for dataType, cache, and url\n\t\toptions = jQuery.extend(options || {}, {\n\t\t\tdataType: \"script\",\n\t\t\tcache : true,\n\t\t\turl : url,\n\t\t})\n\n\t\t// Use $.ajax() since it is more flexible than $.getScript\n\t\t// Return the jqXHR object so we can chain callbacks\n\t\treturn jQuery.ajax(options)\n\t}\n\n\twpm.getOrderItemPrice = orderItem => (orderItem.total + orderItem.total_tax) / orderItem.quantity\n\n\twpm.hasLoginEventFired = () => {\n\t\tlet data = wpm.getWpmSessionData()\n\t\treturn data?.loginEventFired\n\t}\n\n\twpm.setLoginEventFired = () => {\n\t\tlet data = wpm.getWpmSessionData()\n\t\tdata[\"loginEventFired\"] = true\n\t\twpm.setWpmSessionData(data)\n\t}\n\n\twpm.wpmDataLayerExists = () => new Promise(resolve => {\n\t\t(function waitForVar() {\n\t\t\tif (typeof wpmDataLayer !== \"undefined\") return resolve()\n\t\t\tsetTimeout(waitForVar, 50)\n\t\t})()\n\t})\n\n\twpm.jQueryExists = () => new Promise(resolve => {\n\t\t(function waitForjQuery() {\n\t\t\tif (typeof jQuery !== \"undefined\") return resolve()\n\t\t\tsetTimeout(waitForjQuery, 100)\n\t\t})()\n\t})\n\n\twpm.pageLoaded = () => new Promise(resolve => {\n\t\t(function waitForVar() {\n\t\t\tif (\"complete\" === document.readyState) return resolve()\n\t\t\tsetTimeout(waitForVar, 50)\n\t\t})()\n\t})\n\n\twpm.pageReady = () => {\n\t\treturn new Promise(resolve => {\n\t\t\t(function waitForVar() {\n\t\t\t\tif (\"interactive\" === document.readyState || \"complete\" === document.readyState) return resolve()\n\t\t\t\tsetTimeout(waitForVar, 50)\n\t\t\t})()\n\t\t})\n\t}\n\n\twpm.isMiniCartActive = () => {\n\t\tif (window.sessionStorage) {\n\t\t\tfor (const [key, value] of Object.entries(window.sessionStorage)) {\n\t\t\t\tif (key.includes(\"wc_fragments\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.doesWooCommerceCartExist = () => document.cookie.includes(\"woocommerce_items_in_cart\")\n\n\twpm.urlHasParameter = parameter => {\n\t\tlet urlParams = new URLSearchParams(window.location.search)\n\t\treturn urlParams.has(parameter)\n\t}\n\n\t// https://stackoverflow.com/a/60606893/4688612\n\twpm.hashAsync = (algo, str) => {\n\t\treturn crypto.subtle.digest(algo, new TextEncoder(\"utf-8\").encode(str)).then(buf => {\n\t\t\treturn Array.prototype.map.call(new Uint8Array(buf), x => ((\"00\" + x.toString(16)).slice(-2))).join(\"\")\n\t\t})\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load all WPM functions\n *\n * Ignore event listeners. They need to be loaded after\n * we made sure that jQuery has been loaded.\n */\n\nrequire(\"./functions\")\nrequire(\"./cookie_consent\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// #endif\n","/**\n * After WPM is loaded\n * we first check if wpmDataLayer is loaded,\n * and as soon as it is, we load the pixels,\n * and as soon as the page load is complete,\n * we fire the wpmLoad event.\n *\n * @param {{pro:bool}} wpmDataLayer.version\n *\n * https://stackoverflow.com/a/25868457/4688612\n * https://stackoverflow.com/a/44093516/4688612\n */\n\nwpm.wpmDataLayerExists()\n\t.then(function () {\n\t\tconsole.log(\"Pixel Manager for WooCommerce: \" + (wpmDataLayer.version.pro ? \"Pro\" : \"Free\") +\" Version \" + wpmDataLayer.version.number + \" loaded\")\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t})\n\t.then(function () {\n\t\twpm.pageLoaded().then(function () {\n\t\t\tjQuery(document).trigger(\"wpmLoad\", {})\n\t\t})\n\t})\n\n\n\n/**\n * Run when page is ready\n *\n */\n\nwpm.pageReady().then(function () {\n\n\t/**\n\t * Run as soon as wpm namespace is loaded\n\t */\n\n\twpm.wpmDataLayerExists()\n\t\t.then(function () {\n\t\t\t// watch for products visible in viewport\n\t\t\twpm.startIntersectionObserverToWatch()\n\n\t\t\t// watch for lazy loaded products\n\t\t\twpm.startProductsMutationObserverToWatch()\n\t\t})\n})\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Load all essential scripts first\n */\n\nrequire(\"./wpm/functions_loader\")\n\n// Only load the event listeners after jQuery has been loaded for sure\nwpm.jQueryExists().then(function () {\n\n\trequire(\"./wpm/event_listeners\")\n\n\trequire(\"./google/loader\")\n\trequire(\"./facebook/loader\")\n\trequire(\"./hotjar/loader\")\n\n\t/**\n\t * Load all premium scripts\n\t */\n\n\t// #if process.env.TIER === 'premium'\n// \trequire(\"./microsoft-ads/loader\")\n// \trequire(\"./pinterest/loader\")\n// \trequire(\"./snapchat/loader\")\n// \trequire(\"./tiktok/loader\")\n// \trequire(\"./twitter/loader\")\n\t// #endif\n\n\n\t/**\n\t * Initiate WPM.\n\t *\n\t * It makes sure that the script flow gets executed correctly,\n\t * no matter how JS \"optimizers\" shuffle the code.\n\t */\n\n\trequire(\"./wpm/init\")\n})\n\n"],"names":["isCallable","require","tryToString","$TypeError","TypeError","module","exports","argument","wellKnownSymbol","create","defineProperty","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","configurable","value","key","isObject","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","length","index","includes","indexOf","uncurryThis","toString","stringSlice","slice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","getOwnPropertyDescriptor","i","DESCRIPTORS","createPropertyDescriptor","object","bitmap","enumerable","writable","createNonEnumerableProperty","makeBuiltIn","defineGlobalProperty","options","simple","name","global","unsafe","Object","error","fails","get","document","EXISTS","createElement","getBuiltIn","match","version","userAgent","process","Deno","versions","v8","split","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","exec","test","bind","hasOwnProperty","NATIVE_BIND","call","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","fn","aFunction","namespace","method","aCallable","V","P","func","check","Math","globalThis","window","self","this","toObject","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","type","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","constructor","join","ceil","floor","trunc","x","n","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","style","display","appendChild","src","contentWindow","open","F","Properties","result","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","concat","getOwnPropertyNames","push","names","$propertyIsEnumerable","NASHORN_BUG","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","number","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","$","$includes","addToUnscopables","proto","jQuery","on","wpmDataLayer","pixels","facebook","pixel_id","loaded","wpm","canIFire","loadFacebookPixel","event","product","eventId","getRandomEventId","fbq","content_type","content_name","content_ids","dyn_r_ids","dynamic_remarketing","id_type","parseFloat","quantity","price","currency","eventID","shop","trigger","event_name","event_id","user_data","getFbUserData","event_source_url","location","href","custom_data","fbGetProductDataForCapiEvent","e","console","fbViewContent","search_string","getSearchTermFromUrl","setFbUserData","order","value_filtered","facebookContentIds","fbUserData","b","callMethod","queue","_fbq","t","async","s","getElementsByTagName","parentNode","insertBefore","isFbpSet","getUserIdentifiersForFb","user","external_id","user_id","email","em","billing_email_hashed","first_name","billing_first_name","last_name","ln","billing_last_name","phone","ph","billing_phone","city","ct","billing_city","st","billing_state","postcode","zp","billing_postcode","country","billing_country","substring","getFbUserDataFromBrowser","getCookie","isValidFbp","fbp","isValidFbc","fbc","navigator","client_user_agent","RegExp","capiData","prodIds","item","entries","items","general","variationsOutput","variation_id","products","trackCustomFacebookEvent","eventName","customData","isEmptyObject","google","ads","conversionIds","status","googleConfigConditionsMet","isVariable","send_events_with_parent_ids","send_to","getGoogleAdsConversionIdentifiers","google_business_vertical","gtagLoaded","then","gtag","getGoogleAdsDynamicRemarketingOrderItems","getGoogleAdsConversionIdentifiersWithLabel","data_basic","data_with_cart","transaction_id","new_customer","clv_order_value_filtered","customer_lifetime_value","aw_merchant_id","discount","aw_feed_country","aw_feed_language","getGoogleAdsRegularOrderItems","conversionIdentifiers","orderItems","orderItem","analytics","universal","property_id","mp_active","affiliation","value_regular","tax","shipping","coupon","getGAUAOrderItems","category","variant","variant_name","brand","ga3AddListNameToProduct","item_data","productPosition","list_name","list_position","ga4","measurement_id","getGA4OrderItems","item_name","item_category","item_id","item_variant","item_brand","canGoogleLoad","loadGoogle","logPreventedPixelLoading","consent_mode","active","getConsentValues","categories","getVisitorConsentStatusAndUpdateGoogleConsentSettings","google_consent_settings","analytics_storage","ad_storage","updateGoogleConsentMode","cookie_consent_mgmt","explicit_consent","fireGtagGoogleAds","enhanced_conversions","phone_conversion_label","phone_conversion_number","page_type","enhanced_conversion_data","fireGtagGoogleAnalyticsUA","parameters","fireGtagGoogleAnalyticsGA4","debug_mode","isGoogleActive","getGoogleGtagId","loadScriptAndCacheIt","done","script","textStatus","dataLayer","wait_for_update","region","ads_data_redaction","url_passthrough","linker","settings","Date","Promise","resolve","reject","startTime","wait","setTimeout","optimize","container_id","load_google_optimize_pixel","hotjar","site_id","load_hotjar_pixel","h","o","hj","q","_hjSettings","hjid","hjsv","r","getComplianzCookies","cmplz_statistics","cmplz_marketing","visitorHasChosen","getCookieLawInfoCookies","analyticsCookie","adsCookie","wpmConsentValues","setConsentValueCategories","updateConsentCookieValues","cookie","explicitConsent","decodeURI","JSON","parse","action","consents","statistics","marketing","thirdparty","advanced","setConsentDefaultValuesToExplicit","pixelName","canIFireMode","log","scriptTagObserver","MutationObserver","mutations","forEach","addedNodes","node","shouldScriptBeActive","unblockScript","blockScript","observe","head","childList","subtree","disconnect","some","element","scriptNode","removeAttach","remove","wpmSrc","attr","appendTo","removeAttr","unblockAllScripts","unblockSelectedPixels","Cookiebot","consent","detail","cmplzStatusChange","cmplzConsentData","huObserver","hu","documentElement","body","explicitConsentStateAlreadySet","url","URL","productId","getProductIdByCartItemKeyUrl","removeProductFromCart","addProductToCart","product_type","Number","each","find","classes","getPostIdFromString","one","closest","matches","nextAll","getIdBasedOndVariationsOutputSetting","Error","getProductDetailsFormattedForEvent","isEmail","fireCheckoutProgress","emailSelected","paymentMethodSelected","fireCheckoutOption","cart","getCartItemsFromBackend","variation","triggerViewItemEventPrep","doesWooCommerceCartExist","getCartItems","productIds","getAddToCartLinkProductIds","getProductsFromBackend","referrer","referrerHostname","hostname","host","setCookie","wpmLoadFired","getMainProductIdFromProductPage","getProductDataForViewItemEvent","isOrderIdStored","writeOrderIdToStorage","hasLoginEventFired","setLoginEventFired","wpmDeduper","wpmRestSettings","checkCookie","useRestEndpoint","isSessionStorageAvailable","isRestEndpointAvailable","isBelowRestErrorThreshold","sessionStorage","getItem","testEndpoint","protocol","cookieName","ajax","timeout","statusCode","response","setItem","stringify","isWpmRestEndpointAvailable","orderId","Storage","localStorage","ids","expiresDate","setDate","getDate","toUTCString","storeOrderIdOnServer","orderDeduplication","quantityToRemove","isVariation","parentId","saveCartObjectToDataLayer","dataType","ajax_url","success","cartItems","filter","assign","cartObject","triggerViewItemEvent","triggerViewItemEventNoProduct","step","checkout_option","triggerViewItemList","viewItemListTriggerTestMode","css","append","viewItemListTrigger","opacity","backgroundColor","URLSearchParams","search","io","ioTimeouts","observerCallback","observer","entry","elementId","next","isIntersecting","testMode","repeat","unobserve","clearTimeout","allIoElementsToWatch","ioid","getAllElementsToWatch","map","elem","parent","hasClass","prev","startIntersectionObserverToWatch","urlHasParameter","IntersectionObserver","threshold","startProductsMutationObserverToWatch","productsNode","parents","first","productsMutationObserver","attributes","characterData","mutation","newNodes","hasWpmProductIdElement","siblings","cookieValue","expiryDays","d","setTime","getTime","expires","ca","decodeURIComponent","c","charAt","getWpmSessionData","setWpmSessionData","order_id","nonce","cartItemKey","cartItemKeys","position","parentId_dyn_r_ids","setReferrerToCookie","getReferrerFromCookie","getClidFromBrowser","clidCookieId","clidId","gclid","dclid","getUserAgent","getViewPort","width","clientWidth","innerWidth","height","clientHeight","innerHeight","extend","cache","getOrderItemPrice","total","total_tax","loginEventFired","wpmDataLayerExists","waitForVar","jQueryExists","waitForjQuery","pageLoaded","readyState","pageReady","isMiniCartActive","parameter","hashAsync","algo","str","crypto","subtle","digest","TextEncoder","encode","buf","Uint8Array","pro","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","g","toStringTag"],"sourceRoot":""}
1
+ {"version":3,"file":"wpm-public.p1.min.js","mappings":"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","sources":["webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/a-callable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/add-to-unscopables.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/an-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/array-includes.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/classof-raw.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/create-property-descriptor.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/define-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/define-global-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/descriptors.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/document-create-element.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/engine-user-agent.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/engine-v8-version.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/enum-bug-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/export.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/fails.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-bind-native.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-call.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-name.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/function-uncurry-this.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/get-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/get-method.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/global.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/has-own-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/hidden-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/html.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/ie8-dom-define.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/indexed-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/inspect-source.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/internal-state.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-callable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-forced.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-pure.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/is-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/length-of-array-like.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/make-built-in.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/math-trunc.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/native-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/native-weak-map.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-create.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-define-properties.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-define-property.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-keys-internal.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/own-keys.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/require-object-coercible.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared-key.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared-store.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/shared.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-absolute-index.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-indexed-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-length.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-object.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-primitive.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/to-property-key.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/try-to-string.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/uid.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/internals/well-known-symbol.js","webpack://Pixel-Manager-for-WooCommerce/./node_modules/core-js/modules/es.array.includes.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/facebook/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/ads/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga3/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/ga4/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/analytics/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/base/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/google/optimize/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/hotjar/loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/cookie_consent.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/event_listeners.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/functions.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/functions_loader.js","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/wpm/init.js","webpack://Pixel-Manager-for-WooCommerce/webpack/bootstrap","webpack://Pixel-Manager-for-WooCommerce/webpack/runtime/global","webpack://Pixel-Manager-for-WooCommerce/webpack/runtime/make namespace object","webpack://Pixel-Manager-for-WooCommerce/./src/js/public/main.js"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.8',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","/**\n * All event listeners\n *\n * https://developers.facebook.com/docs/meta-pixel/reference\n * */\n\n// Load pixel event\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.facebook?.pixel_id && !wpmDataLayer?.pixels?.facebook?.loaded) {\n\t\tif (wpm.canIFire(\"ads\", \"facebook-ads\")) wpm.loadFacebookPixel()\n\t}\n})\n\n// AddToCart event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmAddToCart\", function (event, product) {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"AddToCart\", {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_name: product.name,\n\t\t\tcontent_ids : product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\tvalue : parseFloat(product.quantity * product.price),\n\t\t\tcurrency : product.currency,\n\t\t}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"AddToCart\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : wpm.fbGetProductDataForCapiEvent(product),\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// InitiateCheckout event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmBeginCheckout\", (event) => {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tlet data = {}\n\n\t\tif (wpmDataLayer?.cart && !jQuery.isEmptyObject(wpmDataLayer.cart)) {\n\t\t\tdata.content_ids = wpm.fbGetContentIdsFromCart()\n\t\t\tdata.value = wpm.getCartValue()\n\t\t\tdata.currency = wpmDataLayer.shop.currency\n\t\t}\n\n\t\tfbq(\"track\", \"InitiateCheckout\", data, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"InitiateCheckout\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : data,\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// AddToWishlist event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmAddToWishlist\", function (event, product) {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"AddToWishlist\", {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_name: product.name,\n\t\t\tcontent_ids : product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\tvalue : parseFloat(product.quantity * product.price),\n\t\t\tcurrency : product.currency,\n\t\t}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"AddToWishlist\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : wpm.fbGetProductDataForCapiEvent(product),\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// ViewContent event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmViewItem\", (event, product = null) => {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\twpm.fbViewContent(product)\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// ViewContent event with no product\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmViewItemNoProduct\", function (event, product) {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"ViewContent\", {}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"ViewContent\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// view search event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmSearch\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tlet eventId = wpm.getRandomEventId()\n\n\t\tfbq(\"track\", \"Search\", {}, {\n\t\t\teventID: eventId,\n\t\t})\n\n\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\tevent_name : \"Search\",\n\t\t\tevent_id : eventId,\n\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\tevent_source_url: window.location.href,\n\t\t\tcustom_data : {\n\t\t\t\tsearch_string: wpm.getSearchTermFromUrl(),\n\t\t\t},\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// load always event\njQuery(document).on(\"wpmLoadAlways\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\twpm.setFbUserData()\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// view order received page event\n// https://developers.facebook.com/docs/meta-pixel/reference\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\n\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\tfbq(\"track\", \"Purchase\",\n\t\t\t{\n\t\t\t\tcontent_type: \"product\",\n\t\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tcontent_ids : wpm.facebookContentIds(),\n\t\t\t},\n\t\t\t{eventID: wpmDataLayer.order.id},\n\t\t)\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Add functions for Facebook\n * */\n\n(function (wpm, $, undefined) {\n\n\tlet fbUserData\n\n\twpm.loadFacebookPixel = () => {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.facebook.loaded = true\n\n\t\t\t// @formatter:off\n\t\t\t!function(f,b,e,v,n,t,s)\n\t\t\t{if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n\t\t\t\tn.callMethod.apply(n,arguments):n.queue.push(arguments)};\n\t\t\t\tif(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n\t\t\t\tn.queue=[];t=b.createElement(e);t.async=!0;\n\t\t\t\tt.src=v;s=b.getElementsByTagName(e)[0];\n\t\t\t\ts.parentNode.insertBefore(t,s)}(window, document,'script',\n\t\t\t\t'https://connect.facebook.net/en_US/fbevents.js');\n\t\t\t// @formatter:on\n\n\t\t\tlet data = {}\n\n\t\t\t// Add user identifiers to data,\n\t\t\t// and only if fbp was set\n\t\t\tif (wpm.isFbpSet()) {\n\t\t\t\tdata = {...wpm.getUserIdentifiersForFb()}\n\t\t\t}\n\n\t\t\tfbq(\"init\", wpmDataLayer.pixels.facebook.pixel_id, data)\n\t\t\tfbq(\"track\", \"PageView\")\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// https://developers.facebook.com/docs/meta-pixel/advanced/advanced-matching\n\twpm.getUserIdentifiersForFb = () => {\n\n\t\tlet data = {}\n\n\t\t// external ID\n\t\tif (wpmDataLayer?.user?.id) data.external_id = wpmDataLayer.user.id\n\t\tif (wpmDataLayer?.order?.user_id) data.external_id = wpmDataLayer.order.user_id\n\n\t\t// email\n\t\tif (wpmDataLayer?.user?.facebook?.email) data.em = wpmDataLayer.user.facebook.email\n\t\tif (wpmDataLayer?.order?.billing_email_hashed) data.em = wpmDataLayer.order.billing_email_hashed\n\n\t\t// first name\n\t\tif (wpmDataLayer?.user?.facebook?.first_name) data.fn = wpmDataLayer.user.facebook.first_name\n\t\tif (wpmDataLayer?.order?.billing_first_name) data.fn = wpmDataLayer.order.billing_first_name.toLowerCase()\n\n\t\t// last name\n\t\tif (wpmDataLayer?.user?.facebook?.last_name) data.ln = wpmDataLayer.user.facebook.last_name\n\t\tif (wpmDataLayer?.order?.billing_last_name) data.ln = wpmDataLayer.order.billing_last_name.toLowerCase()\n\n\t\t// phone\n\t\tif (wpmDataLayer?.user?.facebook?.phone) data.ph = wpmDataLayer.user.facebook.phone\n\t\tif (wpmDataLayer?.order?.billing_phone) data.ph = wpmDataLayer.order.billing_phone.replace(\"+\", \"\")\n\n\t\t// city\n\t\tif (wpmDataLayer?.user?.facebook?.city) data.ct = wpmDataLayer.user.facebook.city\n\t\tif (wpmDataLayer?.order?.billing_city) data.ct = wpmDataLayer.order.billing_city.toLowerCase().replace(/ /g, \"\")\n\n\t\t// state\n\t\tif (wpmDataLayer?.user?.facebook?.state) data.st = wpmDataLayer.user.facebook.state\n\t\tif (wpmDataLayer?.order?.billing_state) data.st = wpmDataLayer.order.billing_state.toLowerCase().replace(/[a-zA-Z]{2}-/, \"\")\n\n\t\t// postcode\n\t\tif (wpmDataLayer?.user?.facebook?.postcode) data.zp = wpmDataLayer.user.facebook.postcode\n\t\tif (wpmDataLayer?.order?.billing_postcode) data.zp = wpmDataLayer.order.billing_postcode\n\n\t\t// country\n\t\tif (wpmDataLayer?.user?.facebook?.country) data.country = wpmDataLayer.user.facebook.country\n\t\tif (wpmDataLayer?.order?.billing_country) data.country = wpmDataLayer.order.billing_country.toLowerCase()\n\n\t\treturn data\n\t}\n\n\twpm.getRandomEventId = () => (Math.random() + 1).toString(36).substring(2)\n\n\twpm.getFbUserData = () => {\n\n\t\t/**\n\t\t * We need to cache the FB user data for InitiateCheckout\n\t\t * where getting the user data from the browser is too slow\n\t\t * using wpm.getCookie().\n\t\t *\n\t\t * And we need the object merge because the ViewContent hit happens too fast\n\t\t * after adding a variation to the cart because the function to cache\n\t\t * the user data is too slow.\n\t\t *\n\t\t * But we can get the user_data using wpm.getCookie()\n\t\t * because we don't move away from the page and can wait for the browser\n\t\t * to get it.\n\t\t *\n\t\t * Also, the merge ensures that new data will be added to fbUserData if new\n\t\t * data is being added later, like user ID, or fbc.\n\t\t */\n\n\t\tfbUserData = {...fbUserData, ...wpm.getFbUserDataFromBrowser()}\n\n\t\treturn fbUserData\n\t}\n\n\twpm.setFbUserData = () => {\n\t\tfbUserData = wpm.getFbUserDataFromBrowser()\n\t}\n\n\twpm.getFbUserDataFromBrowser = () => {\n\n\t\tlet\n\t\t\tdata = {}\n\n\t\tif (wpm.getCookie(\"_fbp\") && wpm.isValidFbp(wpm.getCookie(\"_fbp\"))) {\n\t\t\tdata.fbp = wpm.getCookie(\"_fbp\")\n\t\t}\n\n\t\tif (wpm.getCookie(\"_fbc\") && wpm.isValidFbc(wpm.getCookie(\"_fbc\"))) {\n\t\t\tdata.fbc = wpm.getCookie(\"_fbc\")\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.external_id = wpmDataLayer.user.id\n\t\t}\n\n\t\tif (navigator.userAgent) {\n\t\t\tdata.client_user_agent = navigator.userAgent\n\t\t}\n\n\t\treturn data\n\t}\n\n\twpm.isFbpSet = () => {\n\t\treturn !!wpm.getCookie(\"_fbp\")\n\t}\n\n\t// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc/\n\twpm.isValidFbp = fbp => {\n\n\t\tlet re = new RegExp(/^fb\\.[0-2]\\.\\d{13}\\.\\d{8,20}$/)\n\n\t\treturn re.test(fbp)\n\t}\n\n\t// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc/\n\twpm.isValidFbc = fbc => {\n\n\t\tlet re = new RegExp(/^fb\\.[0-2]\\.\\d{13}\\.[\\da-zA-Z_-]{8,}/)\n\n\t\treturn re.test(fbc)\n\t}\n\n\twpm.fbViewContent = (product = null) => {\n\n\t\ttry {\n\t\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\t\tlet eventId = wpm.getRandomEventId()\n\n\t\t\tlet data = {}\n\n\t\t\tif (product) {\n\t\t\t\tdata.content_type = \"product\"\n\t\t\t\tdata.content_name = product.name\n\t\t\t\t// data.content_category = product.category\n\t\t\t\tdata.content_ids = product.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]\n\t\t\t\tdata.currency = wpmDataLayer.shop.currency\n\t\t\t\tdata.value = product.price\n\t\t\t}\n\n\t\t\tfbq(\"track\", \"ViewContent\", data, {\n\t\t\t\teventID: eventId,\n\t\t\t})\n\n\t\t\tlet capiData = {\n\t\t\t\tevent_name : \"ViewContent\",\n\t\t\t\tevent_id : eventId,\n\t\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\t\tevent_source_url: window.location.href,\n\t\t\t}\n\n\t\t\tif (product) {\n\t\t\t\tproduct[\"currency\"] = wpmDataLayer.shop.currency\n\t\t\t\tcapiData.custom_data = wpm.fbGetProductDataForCapiEvent(product)\n\t\t\t}\n\n\t\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", capiData)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fbGetProductDataForCapiEvent = product => {\n\t\treturn {\n\t\t\tcontent_type: \"product\",\n\t\t\tcontent_ids : [\n\t\t\t\tproduct.dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type],\n\t\t\t],\n\t\t\tvalue : product.quantity * product.price,\n\t\t\tcurrency : wpmDataLayer.shop.currency,\n\t\t}\n\t}\n\n\twpm.facebookContentIds = () => {\n\t\tlet prodIds = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\t\t\t\tprodIds.push(String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]))\n\t\t\t} else {\n\t\t\t\tprodIds.push(String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type]))\n\t\t\t}\n\t\t}\n\n\t\treturn prodIds\n\t}\n\n\twpm.trackCustomFacebookEvent = (eventName, customData = {}) => {\n\t\ttry {\n\t\t\tif (!wpmDataLayer?.pixels?.facebook?.loaded) return\n\n\t\t\tlet eventId = wpm.getRandomEventId()\n\n\t\t\tfbq(\"trackCustom\", eventName, customData, {\n\t\t\t\teventID: eventId,\n\t\t\t})\n\n\t\t\tjQuery(document).trigger(\"wpmFbCapiEvent\", {\n\t\t\t\tevent_name : eventName,\n\t\t\t\tevent_id : eventId,\n\t\t\t\tuser_data : wpm.getFbUserData(),\n\t\t\t\tevent_source_url: window.location.href,\n\t\t\t\tcustom_data : customData,\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fbGetContentIdsFromCart = () => {\n\n\t\tlet content_ids = []\n\n\t\tfor(const key in wpmDataLayer.cart){\n\t\t\tcontent_ids.push(wpmDataLayer.products[key].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type])\n\t\t}\n\t\t\n\t\treturn content_ids\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Facebook loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n\n","/**\n * Load Google Ads event listeners\n * */\n\n// view_item_list event\njQuery(document).on(\"wpmViewItemList\", function (event, product) {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\n\t\tif (\n\t\t\twpmDataLayer?.general?.variationsOutput &&\n\t\t\tproduct.isVariable &&\n\t\t\twpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids === false\n\t\t) return\n\n\t\t// try to prevent that WC sends cached hits to Google\n\t\tif (!product) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\titems : [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}],\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_item_list\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// add_to_cart event\njQuery(document).on(\"wpmAddToCart\", function (event, product) {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\tvalue : product.quantity * product.price,\n\t\t\titems : [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tquantity : product.quantity,\n\t\t\t\tprice : product.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}],\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"add_to_cart\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// view_item event\njQuery(document).on(\"wpmViewItem\", (event, product = null) => {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t}\n\n\t\tif (product) {\n\t\t\tdata.value = (product.quantity ? product.quantity : 1) * product.price\n\t\t\tdata.items = [{\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tquantity : (product.quantity ? product.quantity : 1),\n\t\t\t\tprice : product.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}]\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_item\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// view search event\njQuery(document).on(\"wpmSearch\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\n\t\tlet products = []\n\n\t\tfor (const [key, product] of Object.entries(wpmDataLayer.products)) {\n\n\t\t\tif (\n\t\t\t\twpmDataLayer?.general?.variationsOutput &&\n\t\t\t\tproduct.isVariable &&\n\t\t\t\twpmDataLayer.pixels.google.ads.dynamic_remarketing.send_events_with_parent_ids === false\n\t\t\t) return\n\n\t\t\tproducts.push({\n\t\t\t\tid : product.dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type],\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t})\n\t\t}\n\n\t\t// console.log(products);\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\t// value : 1 * product.price,\n\t\t\titems: products,\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"view_search_results\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// view order received page event\n// TODO distinguish with or without cart data active\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\titems : wpm.getGoogleAdsDynamicRemarketingOrderItems(),\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", data)\n\t\t})\n\n\t\t// console.log(wpm.getGoogleAdsDynamicRemarketingOrderItems())\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// user log in event\njQuery(document).on(\"wpmLogin\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) return\n\t\tif (!wpmDataLayer?.pixels?.google?.ads?.dynamic_remarketing?.status) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data = {\n\t\t\tsend_to: wpm.getGoogleAdsConversionIdentifiers(),\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"login\", data)\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// conversion event\n// new_customer parameter: https://support.google.com/google-ads/answer/9917012\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (jQuery.isEmptyObject(wpm.getGoogleAdsConversionIdentifiersWithLabel())) return\n\t\tif (!wpm.googleConfigConditionsMet(\"ads\")) return\n\n\t\tlet data_basic = {}\n\t\tlet data_with_cart = {}\n\n\t\tdata_basic = {\n\t\t\tsend_to : wpm.getGoogleAdsConversionIdentifiersWithLabel(),\n\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\tvalue : wpmDataLayer.order.value_filtered,\n\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\tnew_customer : wpmDataLayer.order.new_customer,\n\t\t}\n\n\t\tif (wpmDataLayer?.order?.clv_order_value_filtered) {\n\t\t\tdata_basic.customer_lifetime_value = wpmDataLayer.order.clv_order_value_filtered\n\t\t}\n\n\t\tif (wpmDataLayer?.user?.id) {\n\t\t\tdata_basic.user_id = wpmDataLayer.user.id\n\t\t}\n\n\t\tif (wpmDataLayer?.order?.aw_merchant_id) {\n\t\t\tdata_with_cart = {\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\taw_merchant_id : wpmDataLayer.order.aw_merchant_id,\n\t\t\t\taw_feed_country : wpmDataLayer.order.aw_feed_country,\n\t\t\t\taw_feed_language: wpmDataLayer.order.aw_feed_language,\n\t\t\t\titems : wpm.getGoogleAdsRegularOrderItems(),\n\t\t\t}\n\t\t}\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"conversion\", {...data_basic, ...data_with_cart})\n\t\t})\n\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Load Google Ads functions\n * */\n\n(function (wpm, $, undefined) {\n\n\n\twpm.getGoogleAdsConversionIdentifiersWithLabel = function () {\n\n\t\tlet conversionIdentifiers = []\n\n\t\tif (wpmDataLayer?.pixels?.google?.ads?.conversionIds) {\n\t\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\t\tif (item) {\n\t\t\t\t\tconversionIdentifiers.push(key + \"/\" + item)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn conversionIdentifiers\n\t}\n\n\twpm.getGoogleAdsConversionIdentifiers = function () {\n\n\t\tlet conversionIdentifiers = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\tconversionIdentifiers.push(key)\n\t\t}\n\n\t\treturn conversionIdentifiers\n\t}\n\n\twpm.getGoogleAdsRegularOrderItems = function () {\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity: item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t}\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n\twpm.getGoogleAdsDynamicRemarketingOrderItems = function () {\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity : item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\tgoogle_business_vertical: wpmDataLayer.pixels.google.ads.google_business_vertical,\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.ads.dynamic_remarketing.id_type])\n\t\t\t\torderItems.push(orderItem)\n\t\t\t}\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load Google Ads\n */\n\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Load Google Universal Analytics (GA3) event listeners\n * */\n\n\n// view order received page event\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) return\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.mp_active) return\n\t\tif (!wpm.googleConfigConditionsMet(\"analytics\")) return\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", {\n\t\t\t\tsend_to : [wpmDataLayer.pixels.google.analytics.universal.property_id],\n\t\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\t\taffiliation : wpmDataLayer.order.affiliation,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tvalue : wpmDataLayer.order.value_regular,\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\ttax : wpmDataLayer.order.tax,\n\t\t\t\tshipping : wpmDataLayer.order.shipping,\n\t\t\t\tcoupon : wpmDataLayer.order.coupon,\n\t\t\t\titems : wpm.getGAUAOrderItems(),\n\t\t\t})\n\t\t})\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Add functions for Google Analytics Universal\n * */\n\n(function (wpm, $, undefined) {\n\n\twpm.getGAUAOrderItems = function () {\n\n\t\t// \"id\" : \"34\",\n\t\t// \"name\" : \"Hoodie\",\n\t\t// \"brand\" : \"\",\n\t\t// \"category\" : \"Hoodies\",\n\t\t// \"list_position\": 1,\n\t\t// \"price\" : 45,\n\t\t// \"quantity\" : 1,\n\t\t// \"variant\" : \"Color: blue | Logo: yes\"\n\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity: item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\tname : item.name,\n\t\t\t\tcurrency: wpmDataLayer.order.currency,\n\t\t\t\tcategory: wpmDataLayer.products[item.id].category.join(\"/\"),\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.variant = wpmDataLayer.products[item.variation_id].variant_name\n\t\t\t\torderItem.brand = wpmDataLayer.products[item.variation_id].brand\n\t\t\t} else {\n\n\t\t\t\torderItem.id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.brand = wpmDataLayer.products[item.id].brand\n\t\t\t}\n\n\t\t\torderItem = wpm.ga3AddListNameToProduct(orderItem)\n\n\t\t\torderItems.push(orderItem)\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n\twpm.ga3AddListNameToProduct = function (item_data, productPosition = null) {\n\n\t\t// if (wpm.ga3CanProductListBeSet(item_data.id)) {\n\t\t// \titem_data.listname = wpmDataLayer.shop.list_name\n\t\t//\n\t\t// \tif (productPosition) {\n\t\t// \t\titem_data.list_position = productPosition\n\t\t// \t}\n\t\t// }\n\n\t\titem_data.list_name = wpmDataLayer.shop.list_name\n\n\t\tif (productPosition) {\n\t\t\titem_data.list_position = productPosition\n\t\t}\n\n\t\treturn item_data\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Google Universal Analytics (GA3) loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Load GA4 event listeners\n * */\n\n\n// view order received page event\njQuery(document).on(\"wpmOrderReceivedPage\", function () {\n\n\ttry {\n\t\tif (!wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) return\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.mp_active) return\n\t\tif (!wpm.googleConfigConditionsMet(\"analytics\")) return\n\n\t\twpm.gtagLoaded().then(function () {\n\t\t\tgtag(\"event\", \"purchase\", {\n\t\t\t\tsend_to : [wpmDataLayer.pixels.google.analytics.ga4.measurement_id],\n\t\t\t\ttransaction_id: wpmDataLayer.order.number,\n\t\t\t\taffiliation : wpmDataLayer.order.affiliation,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\tvalue : wpmDataLayer.order.value_regular,\n\t\t\t\tdiscount : wpmDataLayer.order.discount,\n\t\t\t\ttax : wpmDataLayer.order.tax,\n\t\t\t\tshipping : wpmDataLayer.order.shipping,\n\t\t\t\tcoupon : wpmDataLayer.order.coupon,\n\t\t\t\titems : wpm.getGA4OrderItems(),\n\t\t\t})\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n","/**\n * Load GA4 functions\n * */\n\n(function (wpm, $, undefined) {\n\n\twpm.getGA4OrderItems = function () {\n\n\t\t// \"item_id\" : \"34\",\n\t\t// \"item_name\" : \"Hoodie\",\n\t\t// \"quantity\" : 1,\n\t\t// \"item_brand\" : \"\",\n\t\t// \"item_variant\" : \"Color: blue | Logo: yes\",\n\t\t// \"price\" : 45,\n\t\t// \"currency\" : \"CHF\",\n\t\t// \"item_category\": \"Hoodies\"\n\n\n\t\tlet orderItems = []\n\n\t\tfor (const [key, item] of Object.entries(wpmDataLayer.order.items)) {\n\n\t\t\tlet orderItem\n\n\t\t\torderItem = {\n\t\t\t\tquantity : item.quantity,\n\t\t\t\tprice : item.price,\n\t\t\t\titem_name : item.name,\n\t\t\t\tcurrency : wpmDataLayer.order.currency,\n\t\t\t\titem_category: wpmDataLayer.products[item.id].category.join(\"/\"),\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.general?.variationsOutput && 0 !== item.variation_id) {\n\n\t\t\t\torderItem.item_id = String(wpmDataLayer.products[item.variation_id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.item_variant = wpmDataLayer.products[item.variation_id].variant_name\n\t\t\t\torderItem.item_brand = wpmDataLayer.products[item.variation_id].brand\n\t\t\t} else {\n\n\t\t\t\torderItem.item_id = String(wpmDataLayer.products[item.id].dyn_r_ids[wpmDataLayer.pixels.google.analytics.id_type])\n\t\t\t\torderItem.item_brand = wpmDataLayer.products[item.id].brand\n\t\t\t}\n\n\t\t\torderItems.push(orderItem)\n\t\t}\n\n\t\treturn orderItems\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * GA4 loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Google Analytics loader\n */\n\nrequire(\"./ga3/loader\")\nrequire(\"./ga4/loader\")\n","/**\n * Load Google base event listeners\n */\n\n// Pixel load event listener\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (typeof wpmDataLayer?.pixels?.google?.state === \"undefined\") {\n\t\tif (wpm.canGoogleLoad()) {\n\t\t\twpm.loadGoogle()\n\t\t} else {\n\t\t\twpm.logPreventedPixelLoading(\"google\", \"analytics / ads\")\n\t\t}\n\t}\n})\n","/**\n * Load Google base functions\n */\n\n(function (wpm, $, undefined) {\n\n\twpm.googleConfigConditionsMet = function (type) {\n\n\t\t// always returns true if Google Consent Mode is active\n\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\t\t\treturn true\n\t\t} else if (wpm.getConsentValues().mode === \"category\") {\n\t\t\treturn wpm.getConsentValues().categories[type] === true\n\t\t} else if (wpm.getConsentValues().mode === \"pixel\") {\n\t\t\treturn wpm.getConsentValues().pixels.includes(\"google-\" + type)\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.getVisitorConsentStatusAndUpdateGoogleConsentSettings = function (google_consent_settings) {\n\n\t\tif (wpm.getConsentValues().mode === \"category\") {\n\n\t\t\tif (wpm.getConsentValues().categories.analytics) google_consent_settings.analytics_storage = \"granted\"\n\t\t\tif (wpm.getConsentValues().categories.ads) google_consent_settings.ad_storage = \"granted\"\n\t\t} else if ((wpm.getConsentValues().mode === \"pixel\")) {\n\n\t\t\tgoogle_consent_settings.analytics_storage = wpm.getConsentValues().pixels.includes(\"google-analytics\") ? \"granted\" : \"denied\"\n\t\t\tgoogle_consent_settings.ad_storage = wpm.getConsentValues().pixels.includes(\"google-ads\") ? \"granted\" : \"denied\"\n\t\t}\n\n\t\treturn google_consent_settings\n\t}\n\n\twpm.updateGoogleConsentMode = function (analytics = true, ads = true) {\n\n\t\ttry {\n\t\t\tif (\n\t\t\t\t!window.gtag ||\n\t\t\t\t!wpmDataLayer.shop.cookie_consent_mgmt.explicit_consent\n\t\t\t) return\n\n\t\t\tgtag(\"consent\", \"update\", {\n\t\t\t\tanalytics_storage: analytics ? \"granted\" : \"denied\",\n\t\t\t\tad_storage : ads ? \"granted\" : \"denied\",\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAds = function () {\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.ads.state = \"loading\"\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.ads?.enhanced_conversions?.active) {\n\t\t\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\t\t\tgtag(\"config\", key, {\"allow_enhanced_conversions\": true})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (const [key, item] of Object.entries(wpmDataLayer.pixels.google.ads.conversionIds)) {\n\t\t\t\t\tgtag(\"config\", key)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.ads?.conversionIds && wpmDataLayer?.pixels?.google?.ads?.phone_conversion_label && wpmDataLayer?.pixels?.google?.ads?.phone_conversion_number) {\n\t\t\t\tgtag(\"config\", Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0] + \"/\" + wpmDataLayer.pixels.google.ads.phone_conversion_label, {\n\t\t\t\t\tphone_conversion_number: wpmDataLayer.pixels.google.ads.phone_conversion_number,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// ! enhanced_conversion_data needs to set on the window object\n\t\t\t// https://support.google.com/google-ads/answer/9888145#zippy=%2Cvalidate-your-implementation-using-chrome-developer-tools\n\t\t\tif (wpmDataLayer?.shop?.page_type && \"order_received_page\" === wpmDataLayer.shop.page_type && wpmDataLayer?.order?.google?.ads?.enhanced_conversion_data) {\n\t\t\t\t// window.enhanced_conversion_data = wpmDataLayer.order.google.ads.enhanced_conversion_data\n\n\t\t\t\tgtag(\"set\", \"user_data\", wpmDataLayer.order.google.ads.enhanced_conversion_data)\n\t\t\t}\n\n\t\t\twpmDataLayer.pixels.google.ads.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAnalyticsUA = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.analytics.universal.state = \"loading\"\n\n\t\t\tgtag(\"config\", wpmDataLayer.pixels.google.analytics.universal.property_id, wpmDataLayer.pixels.google.analytics.universal.parameters)\n\t\t\twpmDataLayer.pixels.google.analytics.universal.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.fireGtagGoogleAnalyticsGA4 = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.analytics.ga4.state = \"loading\"\n\n\t\t\tlet parameters = wpmDataLayer.pixels.google.analytics.ga4.parameters\n\n\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.debug_mode) {\n\t\t\t\tparameters.debug_mode = true\n\t\t\t}\n\n\t\t\tgtag(\"config\", wpmDataLayer.pixels.google.analytics.ga4.measurement_id, parameters)\n\n\t\t\twpmDataLayer.pixels.google.analytics.ga4.state = \"ready\"\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.isGoogleActive = function () {\n\n\t\tif (\n\t\t\twpmDataLayer?.pixels?.google?.analytics?.universal?.property_id ||\n\t\t\twpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id ||\n\t\t\t!jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)\n\t\t) {\n\t\t\treturn true\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.getGoogleGtagId = function () {\n\n\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) {\n\t\t\treturn wpmDataLayer.pixels.google.analytics.universal.property_id\n\t\t} else if (wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) {\n\t\t\treturn wpmDataLayer.pixels.google.analytics.ga4.measurement_id\n\t\t} else {\n\t\t\treturn Object.keys(wpmDataLayer.pixels.google.ads.conversionIds)[0]\n\t\t}\n\t}\n\n\twpm.loadGoogle = function () {\n\n\t\tif (wpm.isGoogleActive()) {\n\n\t\t\twpmDataLayer.pixels.google.state = \"loading\"\n\n\t\t\twpm.loadScriptAndCacheIt(\"https://www.googletagmanager.com/gtag/js?id=\" + wpm.getGoogleGtagId())\n\t\t\t\t.done(function (script, textStatus) {\n\n\t\t\t\t\ttry {\n\n\t\t\t\t\t\t// Initiate Google dataLayer and gtag\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || []\n\t\t\t\t\t\twindow.gtag = function gtag() {\n\t\t\t\t\t\t\tdataLayer.push(arguments)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Google Consent Mode\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\n\t\t\t\t\t\t\tlet google_consent_settings = {\n\t\t\t\t\t\t\t\t\"ad_storage\" : wpmDataLayer.pixels.google.consent_mode.ad_storage,\n\t\t\t\t\t\t\t\t\"analytics_storage\": wpmDataLayer.pixels.google.consent_mode.analytics_storage,\n\t\t\t\t\t\t\t\t\"wait_for_update\" : wpmDataLayer.pixels.google.consent_mode.wait_for_update,\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.region) {\n\t\t\t\t\t\t\t\tgoogle_consent_settings.region = wpmDataLayer.pixels.google.consent_mode.region\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tgoogle_consent_settings = wpm.getVisitorConsentStatusAndUpdateGoogleConsentSettings(google_consent_settings)\n\n\t\t\t\t\t\t\tgtag(\"consent\", \"default\", google_consent_settings)\n\t\t\t\t\t\t\tgtag(\"set\", \"ads_data_redaction\", wpmDataLayer.pixels.google.consent_mode.ads_data_redaction)\n\t\t\t\t\t\t\tgtag(\"set\", \"url_passthrough\", wpmDataLayer.pixels.google.consent_mode.url_passthrough)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Google Linker\n\t\t\t\t\t\t// https://developers.google.com/gtagjs/devguide/linker\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.linker?.settings) {\n\t\t\t\t\t\t\tgtag(\"set\", \"linker\", wpmDataLayer.pixels.google.linker.settings)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgtag(\"js\", new Date())\n\n\t\t\t\t\t\t// Google Ads loader\n\t\t\t\t\t\tif (!jQuery.isEmptyObject(wpmDataLayer?.pixels?.google?.ads?.conversionIds)) { // Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"ads\")) { \t\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAds()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"google-ads\", \"ads\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t// Google Universal Analytics loader\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.universal?.property_id) { \t\t// Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"analytics\")) {\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAnalyticsUA()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"google-universal-analytics\", \"analytics\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// GA4 loader\n\t\t\t\t\t\tif (wpmDataLayer?.pixels?.google?.analytics?.ga4?.measurement_id) { \t\t\t// Only run if the pixel has set up\n\n\t\t\t\t\t\t\tif (wpm.googleConfigConditionsMet(\"analytics\")) {\t\t\t\t\t\t// Only run if cookie consent has been given\n\t\t\t\t\t\t\t\twpm.fireGtagGoogleAnalyticsGA4()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twpm.logPreventedPixelLoading(\"ga4\", \"analytics\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twpmDataLayer.pixels.google.state = \"ready\"\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.error(e)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\twpm.canGoogleLoad = function () {\n\n\t\tif (wpmDataLayer?.pixels?.google?.consent_mode?.active) {\n\t\t\treturn true\n\t\t} else if (\"category\" === wpm.getConsentValues().mode) {\n\t\t\treturn !!(wpm.getConsentValues().categories[\"ads\"] || wpm.getConsentValues().categories[\"analytics\"])\n\t\t} else if (\"pixel\" === wpm.getConsentValues().mode) {\n\t\t\treturn wpm.getConsentValues().pixels.includes(\"google-ads\") || wpm.getConsentValues().pixels.includes(\"google-analytics\")\n\t\t} else {\n\t\t\tconsole.error(\"Couldn't find a valid load condition for Google mode in wpmConsentValues\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.gtagLoaded = function () {\n\t\treturn new Promise(function (resolve, reject) {\n\n\t\t\tif (typeof wpmDataLayer?.pixels?.google?.state === \"undefined\") reject()\n\n\t\t\tlet startTime = 0\n\t\t\tlet timeout = 5000\n\t\t\tlet frequency = 200;\n\n\t\t\t(function wait() {\n\t\t\t\tif (wpmDataLayer?.pixels?.google?.state === \"ready\") return resolve()\n\t\t\t\tif (startTime >= timeout) return reject()\n\t\t\t\tstartTime += frequency\n\t\t\t\tsetTimeout(wait, frequency)\n\t\t\t})()\n\t\t})\n\t}\n\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load Google base\n */\n\n// Load base\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// require(\"./event_listeners_premium\")\n// #endif\n","/**\n * Load Google\n */\n\n// Load base\nrequire(\"./base/loader\")\n\n//Load additional Google libraries\nrequire(\"./ads/loader\")\nrequire(\"./analytics/loader\")\nrequire(\"./optimize/loader\")\n\n\n","/**\n * Load Google Optimize event listeners\n */\n\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.google?.optimize?.container_id && !wpmDataLayer?.pixels?.google?.optimize?.loaded) {\n\t\tif (wpm.canIFire(\"analytics\", \"google-optimize\")) wpm.load_google_optimize_pixel()\n\t}\n})\n","/**\n * Load Google Optimize functions\n */\n\n\n(function (wpm, $, undefined) {\n\n\twpm.load_google_optimize_pixel = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.google.optimize.loaded = true\n\n\t\t\twpm.loadScriptAndCacheIt(\"https://www.googleoptimize.com/optimize.js?id=\" + wpmDataLayer.pixels.google.optimize.container_id)\n\t\t\t// .done(function (script, textStatus) {\n\t\t\t// \t\tconsole.log('Google Optimize loaded')\n\t\t\t// });\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Load Google Optimize\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Load Hotjar event listeners\n */\n\n// Pixel load event listener\njQuery(document).on(\"wpmLoadPixels\", function () {\n\n\tif (wpmDataLayer?.pixels?.hotjar?.site_id && !wpmDataLayer?.pixels?.hotjar?.loaded) {\n\t\tif (wpm.canIFire(\"analytics\", \"hotjar\") && !wpmDataLayer?.pixels?.hotjar?.loaded) wpm.load_hotjar_pixel()\n\t}\n})\n","/**\n * Load Hotjar functions\n */\n\n(function (wpm, $, undefined) {\n\n\twpm.load_hotjar_pixel = function () {\n\n\t\ttry {\n\t\t\twpmDataLayer.pixels.hotjar.loaded = true;\n\n\t\t\t// @formatter:off\n\t\t\t(function(h,o,t,j,a,r){\n\t\t\t\th.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n\t\t\t\th._hjSettings={hjid:wpmDataLayer.pixels.hotjar.site_id,hjsv:6};\n\t\t\t\ta=o.getElementsByTagName('head')[0];\n\t\t\t\tr=o.createElement('script');r.async=1;\n\t\t\t\tr.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n\t\t\t\ta.appendChild(r);\n\t\t\t})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n\t\t\t// @formatter:on\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery));\n","/**\n * Hotjar loader\n */\n\nrequire(\"./functions\")\nrequire(\"./event_listeners\")\n","/**\n * Consent Mode functions\n */\n\n(function (wpm, $, undefined) {\n\n\n\t/**\n\t * Handle Cookie Management Platforms\n\t */\n\n\tlet getComplianzCookies = () => {\n\n\t\tlet cmplz_statistics = wpm.getCookie(\"cmplz_statistics\")\n\t\tlet cmplz_marketing = wpm.getCookie(\"cmplz_marketing\")\n\t\tlet cmplz_consent_status = wpm.getCookie(\"cmplz_consent_status\") || wpm.getCookie(\"cmplz_banner-status\")\n\n\t\tif (cmplz_consent_status) {\n\t\t\treturn {\n\t\t\t\tanalytics : cmplz_statistics === \"allow\",\n\t\t\t\tads : cmplz_marketing === \"allow\",\n\t\t\t\tvisitorHasChosen: true,\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tlet getCookieLawInfoCookies = () => {\n\n\t\tlet analyticsCookie = wpm.getCookie(\"cookielawinfo-checkbox-analytics\") || wpm.getCookie(\"cookielawinfo-checkbox-analytiques\")\n\t\tlet adsCookie = wpm.getCookie(\"cookielawinfo-checkbox-advertisement\") || wpm.getCookie(\"cookielawinfo-checkbox-performance\") || wpm.getCookie(\"cookielawinfo-checkbox-publicite\")\n\t\tlet visitorHasChosen = wpm.getCookie(\"CookieLawInfoConsent\")\n\n\t\tif (analyticsCookie || adsCookie) {\n\n\t\t\treturn {\n\t\t\t\tanalytics : analyticsCookie === \"yes\",\n\t\t\t\tads : adsCookie === \"yes\",\n\t\t\t\tvisitorHasChosen: !!visitorHasChosen,\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\n\tlet\n\t\twpmConsentValues = {}\n\twpmConsentValues.categories = {}\n\twpmConsentValues.pixels = []\n\twpmConsentValues.mode = \"category\"\n\twpmConsentValues.visitorHasChosen = false\n\n\twpm.getConsentValues = () => wpmConsentValues\n\n\twpm.setConsentValueCategories = (analytics = false, ads = false) => {\n\t\twpmConsentValues.categories.analytics = analytics\n\t\twpmConsentValues.categories.ads = ads\n\t}\n\n\twpm.updateConsentCookieValues = (analytics = null, ads = null, explicitConsent = false) => {\n\n\t\t// ad_storage\n\t\t// analytics_storage\n\t\t// functionality_storage\n\t\t// personalization_storage\n\t\t// security_storage\n\n\t\tlet cookie\n\n\t\tif (analytics || ads) {\n\n\t\t\tif (analytics) {\n\t\t\t\twpmConsentValues.categories.analytics = !!analytics\n\t\t\t}\n\t\t\tif (ads) {\n\t\t\t\twpmConsentValues.categories.ads = !!ads\n\t\t\t}\n\n\t\t} else if (cookie = wpm.getCookie(\"CookieConsent\")) {\n\n\t\t\t// Cookiebot\n\t\t\t// https://wordpress.org/plugins/cookiebot/\n\t\t\tcookie = decodeURI(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = cookie.indexOf(\"statistics:true\") >= 0\n\t\t\twpmConsentValues.categories.ads = cookie.indexOf(\"marketing:true\") >= 0\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"CookieScriptConsent\")) {\n\n\t\t\t// Cookie Script\n\t\t\t// https://wordpress.org/plugins/cookie-script-com/\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\tif (cookie.action === \"reject\") {\n\t\t\t\twpmConsentValues.categories.analytics = false\n\t\t\t\twpmConsentValues.categories.ads = false\n\t\t\t} else if (cookie.categories.length === 2) {\n\t\t\t\twpmConsentValues.categories.analytics = true\n\t\t\t\twpmConsentValues.categories.ads = true\n\t\t\t} else {\n\t\t\t\twpmConsentValues.categories.analytics = cookie.categories.indexOf(\"performance\") >= 0\n\t\t\t\twpmConsentValues.categories.ads = cookie.categories.indexOf(\"targeting\") >= 0\n\t\t\t}\n\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"borlabs-cookie\")) {\n\n\t\t\t// Borlabs Cookie\n\t\t\t// https://borlabs.io/borlabs-cookie/\n\n\t\t\tcookie = decodeURI(cookie)\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = !!cookie?.consents?.statistics\n\t\t\twpmConsentValues.categories.ads = !!cookie?.consents?.marketing\n\t\t\twpmConsentValues.visitorHasChosen = true\n\t\t\twpmConsentValues.pixels = [...cookie?.consents?.statistics || [], ...cookie?.consents?.marketing || []]\n\t\t\twpmConsentValues.mode = \"pixel\"\n\n\t\t} else if (cookie = getComplianzCookies()) {\n\n\t\t\t// Complianz Cookie\n\t\t\t// https://wordpress.org/plugins/complianz-gdpr/\n\n\t\t\twpmConsentValues.categories.analytics = cookie.analytics === true\n\t\t\twpmConsentValues.categories.ads = cookie.ads === true\n\t\t\twpmConsentValues.visitorHasChosen = cookie.visitorHasChosen\n\n\t\t} else if (cookie = wpm.getCookie(\"cookie_notice_accepted\")) {\n\n\t\t\t// Cookie Compliance (free version)\n\t\t\t// https://wordpress.org/plugins/cookie-notice/\n\n\t\t\twpmConsentValues.categories.analytics = true\n\t\t\twpmConsentValues.categories.ads = true\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = wpm.getCookie(\"hu-consent\")) {\n\n\t\t\t// Cookie Compliance (pro version)\n\t\t\t// https://wordpress.org/plugins/cookie-notice/\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = !!cookie.categories[\"3\"]\n\t\t\twpmConsentValues.categories.ads = !!cookie.categories[\"4\"]\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else if (cookie = getCookieLawInfoCookies()) {\n\n\t\t\t// CookieYes, GDPR Cookie Consent (Cookie Law Info)\n\t\t\t// https://wordpress.org/plugins/cookie-law-info/\n\n\t\t\twpmConsentValues.categories.analytics = cookie.analytics === true\n\t\t\twpmConsentValues.categories.ads = cookie.ads === true\n\t\t\twpmConsentValues.visitorHasChosen = cookie.visitorHasChosen === true\n\n\t\t} else if (cookie = wpm.getCookie(\"moove_gdpr_popup\")) {\n\n\t\t\t// GDPR Cookie Compliance Plugin by Moove Agency\n\t\t\t// https://wordpress.org/plugins/gdpr-cookie-compliance/\n\t\t\t// TODO write documentation on how to set up the plugin in order for this to work properly\n\n\t\t\tcookie = JSON.parse(cookie)\n\n\t\t\twpmConsentValues.categories.analytics = cookie.thirdparty === \"1\"\n\t\t\twpmConsentValues.categories.ads = cookie.advanced === \"1\"\n\t\t\twpmConsentValues.visitorHasChosen = true\n\n\t\t} else {\n\t\t\t// consentValues.categories.analytics = true\n\t\t\t// consentValues.categories.ads = true\n\n\t\t\twpmConsentValues.categories.analytics = !explicitConsent\n\t\t\twpmConsentValues.categories.ads = !explicitConsent\n\t\t}\n\t}\n\n\twpm.updateConsentCookieValues()\n\n\twpm.setConsentDefaultValuesToExplicit = () => {\n\t\twpmConsentValues.categories = {\n\t\t\tanalytics: false,\n\t\t\tads : false,\n\t\t}\n\t}\n\n\twpm.canIFire = (category, pixelName) => {\n\n\t\tlet canIFireMode\n\n\t\tif (\"category\" === wpmConsentValues.mode) {\n\t\t\tcanIFireMode = !!wpmConsentValues.categories[category]\n\t\t} else if (\"pixel\" === wpmConsentValues.mode) {\n\t\t\tcanIFireMode = wpmConsentValues.pixels.includes(pixelName)\n\n\t\t\t// If a user sets \"bing-ads\" in Borlabs Cookie instead of\n\t\t\t// \"microsoft-ads\" in the Borlabs settings, we need to check\n\t\t\t// for that too.\n\t\t\tif (false === canIFireMode && \"microsoft-ads\" === pixelName) {\n\t\t\t\tcanIFireMode = wpmConsentValues.pixels.includes(\"bing-ads\")\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error(\"Couldn't find a valid consent mode in wpmConsentValues\")\n\t\t\tcanIFireMode = false\n\t\t}\n\n\t\tif (canIFireMode) {\n\t\t\treturn true\n\t\t} else {\n\t\t\tif (true || wpm.urlHasParameter(\"debugConsentMode\")) {\n\t\t\t\twpm.logPreventedPixelLoading(pixelName, category)\n\t\t\t}\n\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.logPreventedPixelLoading = (pixelName, category) => {\n\n\t\tif (wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent) {\n\t\t\tconsole.log(\"Pixel Manager for WooCommerce: The \\\"\" + pixelName + \" (category: \" + category + \")\\\" pixel has not fired because you have not given consent for it yet. (WPM is in explicit consent mode.)\")\n\t\t} else {\n\t\t\tconsole.log(\"Pixel Manager for WooCommerce: The \\\"\" + pixelName + \" (category: \" + category + \")\\\" pixel has not fired because you have removed consent for this pixel. (WPM is in implicit consent mode.)\")\n\t\t}\n\t}\n\n\t/**\n\t * Runs through each script in <head> and blocks / unblocks it according to the plugin settings\n\t * and user consent.\n\t */\n\n\t// https://stackoverflow.com/q/65453565/4688612\n\twpm.scriptTagObserver = new MutationObserver((mutations) => {\n\t\tmutations.forEach(({addedNodes}) => {\n\t\t\t[...addedNodes]\n\t\t\t\t.forEach(node => {\n\n\t\t\t\t\tif ($(node).data(\"wpm-cookie-category\")) {\n\n\t\t\t\t\t\t// If the pixel category has been approved > unblock\n\t\t\t\t\t\t// If the pixel belongs to more than one category, then unblock if one of the categories has been approved\n\t\t\t\t\t\t// If no category has been approved, but the Google Consent Mode is active, then only unblock the Google scripts\n\n\t\t\t\t\t\tif (wpm.shouldScriptBeActive(node)) {\n\t\t\t\t\t\t\twpm.unblockScript(node)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twpm.blockScript(node)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t})\n\t})\n\n\twpm.scriptTagObserver.observe(document.head, {childList: true, subtree: true})\n\tjQuery(document).on(\"DOMContentLoaded\", () => wpm.scriptTagObserver.disconnect())\n\n\twpm.shouldScriptBeActive = node => {\n\n\t\tif (\n\t\t\twpmDataLayer.shop.cookie_consent_mgmt.explicit_consent ||\n\t\t\twpmConsentValues.visitorHasChosen\n\t\t) {\n\n\t\t\tif (wpmConsentValues.mode === \"category\" && $(node).data(\"wpm-cookie-category\").split(\",\").some(element => wpmConsentValues.categories[element])) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmConsentValues.mode === \"pixel\" && wpmConsentValues.pixels.includes($(node).data(\"wpm-pixel-name\"))) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmConsentValues.mode === \"pixel\" && $(node).data(\"wpm-pixel-name\") === \"google\" && [\"google-analytics\", \"google-ads\"].some(element => wpmConsentValues.pixels.includes(element))) {\n\t\t\t\treturn true\n\t\t\t} else if (wpmDataLayer?.pixels?.google?.consent_mode?.active && $(node).data(\"wpm-pixel-name\") === \"google\") {\n\t\t\t\treturn true\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}\n\n\n\twpm.unblockScript = (scriptNode, removeAttach = false) => {\n\n\t\tif (removeAttach) $(scriptNode).remove()\n\n\t\tlet wpmSrc = $(scriptNode).data(\"wpm-src\")\n\t\tif (wpmSrc) $(scriptNode).attr(\"src\", wpmSrc)\n\n\t\tscriptNode.type = \"text/javascript\"\n\n\t\tif (removeAttach) $(scriptNode).appendTo(\"head\")\n\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\twpm.blockScript = (scriptNode, removeAttach = false) => {\n\n\t\tif (removeAttach) $(scriptNode).remove()\n\n\t\tif ($(scriptNode).attr(\"src\")) $(scriptNode).removeAttr(\"src\")\n\t\tscriptNode.type = \"blocked/javascript\"\n\n\t\tif (removeAttach) $(scriptNode).appendTo(\"head\")\n\t}\n\n\twpm.unblockAllScripts = (analytics = true, ads = true) => {\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\twpm.unblockSelectedPixels = () => {\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t}\n\n\n\t/**\n\t * Block or unblock scripts for each CMP immediately after cookie consent has been updated\n\t * by the visitor.\n\t */\n\n\t// Borlabs Cookie\n\t// If visitor accepts cookies in Borlabs Cookie unblock the scripts\n\tjQuery(document).on(\"borlabs-cookie-consent-saved\", () => {\n\n\t\twpm.updateConsentCookieValues()\n\n\t\tif (wpmConsentValues.mode === \"pixel\") {\n\n\t\t\twpm.unblockSelectedPixels()\n\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.pixels.includes(\"google-analytics\"), wpmConsentValues.pixels.includes(\"google-ads\"))\n\t\t} else {\n\n\t\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t}\n\t})\n\n\t// Cookiebot\n\t// If visitor accepts cookies in Cookiebot unblock the scripts\n\t// https://www.cookiebot.com/en/developer/\n\tjQuery(document).on(\"CookiebotOnAccept\", () => {\n\n\t\tif (Cookiebot.consent.statistics) wpmConsentValues.categories.analytics = true\n\t\tif (Cookiebot.consent.marketing) wpmConsentValues.categories.ads = true\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\n\t}, false)\n\n\t/**\n\t * Cookie Script\n\t * If visitor accepts cookies in Cookie Script unblock the scripts\n\t * https://support.cookie-script.com/article/20-custom-events\n\t */\n\tjQuery(document).on(\"CookieScriptAccept\", e => {\n\n\t\tif (e.detail.categories.includes(\"performance\")) wpmConsentValues.categories.analytics = true\n\t\tif (e.detail.categories.includes(\"targeting\")) wpmConsentValues.categories.ads = true\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t})\n\n\t/**\n\t * Cookie Script\n\t * If visitor accepts cookies in Cookie Script unblock the scripts\n\t * https://support.cookie-script.com/\n\t */\n\tjQuery(document).on(\"CookieScriptAcceptAll\", () => {\n\n\t\twpm.unblockAllScripts(true, true)\n\t\twpm.updateGoogleConsentMode(true, true)\n\t})\n\n\t/**\n\t * Complianz Cookie\n\t *\n\t * If visitor accepts cookies in Complianz unblock the scripts\n\t */\n\n\twpm.cmplzStatusChange = (cmplzConsentData) => {\n\n\t\tif (cmplzConsentData.detail.categories.includes(\"statistics\")) wpm.updateConsentCookieValues(true, null)\n\t\tif (cmplzConsentData.detail.categories.includes(\"marketing\")) wpm.updateConsentCookieValues(null, true)\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t}\n\n\tjQuery(document).on(\"cmplzStatusChange\", wpm.cmplzStatusChange)\n\tjQuery(document).on(\"cmplz_status_change\", wpm.cmplzStatusChange)\n\n\n\t// Cookie Compliance by hu-manity.co (free and pro)\n\t// If visitor accepts cookies in Cookie Notice by hu-manity.co unblock the scripts (free version)\n\t// https://wordpress.org/support/topic/events-on-consent-change/#post-15202792\n\tjQuery(document).on(\"setCookieNotice\", () => {\n\n\t\twpm.updateConsentCookieValues()\n\n\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t})\n\n\t/**\n\t * Cookie Compliance by hu-manity.co (free and pro)\n\t * If visitor accepts cookies in Cookie Notice by hu-manity.co unblock the scripts (pro version)\n\t * https://wordpress.org/support/topic/events-on-consent-change/#post-15202792\n\t * Because Cookie Notice has no documented API or event that is being triggered on consent save or update\n\t * we have to solve this by using a mutation observer.\n\t *\n\t * @type {MutationObserver}\n\t */\n\n\twpm.huObserver = new MutationObserver(mutations => {\n\t\tmutations.forEach(({addedNodes}) => {\n\t\t\t[...addedNodes]\n\t\t\t\t.forEach(node => {\n\n\t\t\t\t\tif (node.id === \"hu\") {\n\n\t\t\t\t\t\tjQuery(\".hu-cookies-save\").on(\"click\", function () {\n\t\t\t\t\t\t\twpm.updateConsentCookieValues()\n\t\t\t\t\t\t\twpm.unblockAllScripts(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\t\t\t\t\twpm.updateGoogleConsentMode(wpmConsentValues.categories.analytics, wpmConsentValues.categories.ads)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t})\n\t})\n\n\tif (window.hu) {\n\t\twpm.huObserver.observe(document.documentElement || document.body, {childList: true, subtree: true})\n\t}\n\n\twpm.explicitConsentStateAlreadySet = () => {\n\n\t\tif (wpmConsentValues.explicitConsentStateAlreadySet) {\n\t\t\treturn true\n\t\t} else {\n\t\t\twpmConsentValues.explicitConsentStateAlreadySet = true\n\t\t}\n\t}\n\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Register event listeners\n */\n\n// remove_from_cart event\n// jQuery('.remove_from_cart_button, .remove').on('click', function (e) {\njQuery(document).on(\"click\", \".remove_from_cart_button, .remove\", function () {\n\n\ttry {\n\n\t\tlet url = new URL(jQuery(this).attr(\"href\"))\n\t\tlet productId = wpm.getProductIdByCartItemKeyUrl(url)\n\n\t\twpm.removeProductFromCart(productId)\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n// add_to_cart event\njQuery(document).on(\"click\", \".add_to_cart_button:not(.product_type_variable), .ajax_add_to_cart, .single_add_to_cart_button\", function () {\n\n\ttry {\n\n\t\tlet quantity = 1,\n\t\t\tproductId\n\n\n\t\tgetProductDetails:\n\n\t\t\t// Only process on product pages\n\t\t\tif (wpmDataLayer.shop.page_type === \"product\") {\n\n\t\t\t\t// First process related and upsell products\n\t\t\t\tif (typeof jQuery(this).attr(\"href\") !== \"undefined\" && jQuery(this).attr(\"href\").includes(\"add-to-cart\")) {\n\n\t\t\t\t\tproductId = jQuery(this).data(\"product_id\")\n\t\t\t\t\tbreak getProductDetails\n\t\t\t\t}\n\n\t\t\t\t// If is simple product\n\t\t\t\tif (wpmDataLayer.shop.product_type === \"simple\") {\n\n\t\t\t\t\tquantity = Number(jQuery(\".input-text.qty\").val())\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tproductId = jQuery(this).val()\n\t\t\t\t\tbreak getProductDetails\n\t\t\t\t}\n\n\t\t\t\t// If is variable product or variable-subscription\n\t\t\t\tif ([\"variable\", \"variable-subscription\"].indexOf(wpmDataLayer.shop.product_type) >= 0) {\n\n\t\t\t\t\tquantity = Number(jQuery(\".input-text.qty\").val())\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tproductId = jQuery(\"[name='variation_id']\").val()\n\t\t\t\t\tbreak getProductDetails\n\t\t\t\t}\n\n\t\t\t\t// If is grouped product\n\t\t\t\tif (wpmDataLayer.shop.product_type === \"grouped\") {\n\n\t\t\t\t\tjQuery(\".woocommerce-grouped-product-list-item\").each(function () {\n\n\t\t\t\t\t\tquantity = Number(jQuery(this).find(\".input-text.qty\").val())\n\n\t\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\t\tlet classes = jQuery(this).attr(\"class\")\n\t\t\t\t\t\tproductId = wpm.getPostIdFromString(classes)\n\t\t\t\t\t})\n\n\t\t\t\t\tbreak getProductDetails\n\t\t\t\t}\n\n\t\t\t\t// If is bundle product\n\t\t\t\tif (wpmDataLayer.shop.product_type === \"bundle\") {\n\n\t\t\t\t\tquantity = Number(jQuery(\".input-text.qty\").val())\n\t\t\t\t\tif (!quantity && quantity !== 0) quantity = 1\n\n\t\t\t\t\tproductId = jQuery(\"input[name=add-to-cart]\").val()\n\t\t\t\t\tbreak getProductDetails\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tproductId = jQuery(this).data(\"product_id\")\n\t\t\t}\n\n\t\twpm.addProductToCart(productId, quantity)\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n\n/**\n * If someone clicks anywhere on a custom /?add-to-cart=123 link\n * trigger the add to cart event\n */\n// jQuery('a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)').one('click', function (event) {\njQuery(document).one(\"click\", \"a:not(.add_to_cart_button, .ajax_add_to_cart, .single_add_to_cart_button)\", function (event) {\n\n\ttry {\n\t\tif (jQuery(event.target).closest(\"a\").attr(\"href\")) {\n\n\t\t\tlet href = jQuery(event.target).closest(\"a\").attr(\"href\")\n\n\t\t\tif (href.includes(\"add-to-cart=\")) {\n\n\t\t\t\tlet matches = href.match(/(add-to-cart=)(\\d+)/)\n\t\t\t\tif (matches) wpm.addProductToCart(matches[2], 1)\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// select_content GA UA event\n// select_item GA 4 event\n// jQuery(document).on('click', '.woocommerce-LoopProduct-link, .wc-block-grid__product, .product-small.box', function (e) {\n// jQuery('.woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product').on('click', function (e) {\njQuery(document).on(\"click\", \".woocommerce-LoopProduct-link, .wc-block-grid__product, .product, .product-small, .type-product\", function () {\n\n\ttry {\n\n\t\t/**\n\t\t * On some pages the event fires multiple times, and on product pages\n\t\t * even on page load. Using e.stopPropagation helps to prevent this,\n\t\t * but I don't know why. We don't even have to use this, since only a real\n\t\t * product click yields a valid productId. So we filter the invalid click\n\t\t * events out later down in the code. I'll keep it that way because this is\n\t\t * the most compatible way across shops.\n\t\t *\n\t\t * e.stopPropagation();\n\t\t * */\n\n\t\tlet productId = jQuery(this).nextAll(\".wpmProductId:first\").data(\"id\")\n\n\t\t/**\n\t\t * On product pages, for some reason, the click event is triggered on the main product on page load.\n\t\t * In that case no ID is found. But we can discard it, since we only want to trigger the event on\n\t\t * related products, which are found below.\n\t\t */\n\n\t\tif (productId) {\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tif (wpmDataLayer.products && wpmDataLayer.products[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\t\t\tjQuery(document).trigger(\"wpmSelectContentGaUa\", product)\n\t\t\t\tjQuery(document).trigger(\"wpmSelectItem\", product)\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// begin_checkout event\nlet checkoutButtonClasses = [\n\t\".checkout-button\",\n\t\".cart-checkout-button\",\n\t\".button.checkout\",\n\t\".xoo-wsc-ft-btn-checkout\", // https://xootix.com/side-cart-for-woocommerce/\n]\n\njQuery(document).one(\"click\", checkoutButtonClasses.join(\",\"), function () {\n\tjQuery(document).trigger(\"wpmBeginCheckout\")\n})\n\n\n// checkout_progress event\n// track checkout option event: entered valid billing email\njQuery(document).on(\"input\", \"#billing_email\", function () {\n\n\tif (wpm.isEmail(jQuery(this).val())) {\n\t\t// wpm.fireCheckoutOption(2);\n\t\twpm.fireCheckoutProgress(2)\n\t\twpm.emailSelected = true\n\t}\n})\n\n// track checkout option event: purchase click\njQuery(document).on(\"click\", \".wc_payment_methods\", function () {\n\n\tif (false === wpm.paymentMethodSelected) {\n\t\twpm.fireCheckoutProgress(3)\n\t}\n\n\twpm.fireCheckoutOption(3, jQuery(\"input[name='payment_method']:checked\").val())\n\twpm.paymentMethodSelected = true\n})\n\n// track checkout option event: purchase click\n// jQuery('#place_order').one('click', function () {\njQuery(document).one(\"click\", \"#place_order\", function () {\n\n\tif (false === wpm.emailSelected) {\n\t\twpm.fireCheckoutProgress(2)\n\t}\n\n\tif (false === wpm.paymentMethodSelected) {\n\t\twpm.fireCheckoutProgress(3)\n\t\twpm.fireCheckoutOption(3, jQuery(\"input[name='payment_method']:checked\").val())\n\t}\n\n\twpm.fireCheckoutProgress(4)\n})\n\n// update cart event\n// jQuery(\"[name='update_cart']\").on('click', function (e) {\njQuery(document).on(\"click\", \"[name='update_cart']\", function () {\n\n\ttry {\n\t\tjQuery(\".cart_item\").each(function () {\n\n\t\t\tlet url = new URL(jQuery(this).find(\".product-remove\").find(\"a\").attr(\"href\"))\n\t\t\tlet productId = wpm.getProductIdByCartItemKeyUrl(url)\n\n\n\t\t\tlet quantity = jQuery(this).find(\".qty\").val()\n\n\t\t\tif (quantity === 0) {\n\t\t\t\twpm.removeProductFromCart(productId)\n\t\t\t} else if (quantity < wpmDataLayer.cart[productId].quantity) {\n\t\t\t\twpm.removeProductFromCart(productId, wpmDataLayer.cart[productId].quantity - quantity)\n\t\t\t} else if (quantity > wpmDataLayer.cart[productId].quantity) {\n\t\t\t\twpm.addProductToCart(productId, quantity - wpmDataLayer.cart[productId].quantity)\n\t\t\t}\n\t\t})\n\t} catch (e) {\n\t\tconsole.error(e)\n\t\twpm.getCartItemsFromBackend()\n\t}\n})\n\n\n// add_to_wishlist\njQuery(document).on(\"click\", \".add_to_wishlist, .wl-add-to\", function () {\n\n\ttry {\n\n\t\tlet productId\n\n\t\tif (jQuery(this).data(\"productid\")) { // for the WooCommerce wishlist plugin\n\n\t\t\tproductId = jQuery(this).data(\"productid\")\n\t\t} else if (jQuery(this).data(\"product-id\")) { // for the YITH wishlist plugin\n\n\t\t\tproductId = jQuery(this).data(\"product-id\")\n\t\t}\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\tjQuery(document).trigger(\"wpmAddToWishlist\", product)\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\njQuery(document).on(\"updated_cart_totals\", function () {\n\tjQuery(document).trigger(\"wpmViewCart\")\n})\n\n\n/**\n * Called when the user selects all the required dropdowns / attributes\n *\n * Has to be hooked after document ready !\n *\n * https://stackoverflow.com/a/27849208/4688612\n * https://stackoverflow.com/a/65065335/4688612\n */\n\njQuery(function () {\n\n\tjQuery(\".single_variation_wrap\").on(\"show_variation\", function (event, variation) {\n\n\t\ttry {\n\t\t\tlet productId = wpm.getIdBasedOndVariationsOutputSetting(variation.variation_id)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\twpm.triggerViewItemEventPrep(productId)\n\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t})\n})\n\n\n/**\n * Called on variable products when no selection has been done yet\n * or when the visitor deselects his choice.\n *\n * Has to be hooked after document ready !\n */\n\n// jQuery(function () {\n//\n// \tjQuery(\".single_variation_wrap\").on(\"hide_variation\", function () {\n//\n// \t\ttry {\n// \t\t\tlet classes = jQuery(\"body\").attr(\"class\")\n// \t\t\tlet productId = classes.match(/(postid-)(\\d+)/)[2]\n//\n// \t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n//\n// \t\t\t/**\n// \t\t\t * If we have a variable product with no preset,\n// \t\t\t * and variations output is enabled,\n// \t\t\t * then we send a viewItem event with the first\n// \t\t\t * variation we find for the parent.\n// \t\t\t * If variations output is disabled,\n// \t\t\t * we just send the parent ID.\n// \t\t\t *\n// \t\t\t * And if Facebook microdata is active, use the\n// \t\t\t * microdata product ID.\n// \t\t\t */\n//\n// \t\t\tif (\n// \t\t\t\t\"variable\" === wpmDataLayer.shop.product_type &&\n// \t\t\t\twpmDataLayer?.general?.variationsOutput\n// \t\t\t) {\n// \t\t\t\tfor (const [key, product] of Object.entries(wpmDataLayer.products)) {\n// \t\t\t\t\tif (\"parentId\" in product) {\n//\n// \t\t\t\t\t\tproductId = product.id\n// \t\t\t\t\t\tbreak\n// \t\t\t\t\t}\n// \t\t\t\t}\n//\n// \t\t\t\tif (wpmDataLayer?.pixels?.facebook?.microdata_product_id) {\n// \t\t\t\t\tproductId = wpmDataLayer.pixels.facebook.microdata_product_id\n// \t\t\t\t}\n// \t\t\t}\n//\n// \t\t\t// console.log(\"hmm\")\n// \t\t\twpm.triggerViewItemEventPrep(productId)\n//\n// \t\t} catch (e) {\n// \t\t\tconsole.error(e)\n// \t\t}\n// \t})\n// })\n\n// jQuery(function () {\n//\n// \tjQuery(\".single_variation_wrap\").on(\"hide_variation\", function () {\n// \t\tjQuery(document).trigger(\"wpmviewitem\")\n// \t})\n// })\n\n\n/**\n * Set up wpm events\n */\n\n// populate the wpmDataLayer with the cart items\njQuery(document).on(\"wpmLoad\", function () {\n\n\ttry {\n\t\t// When a new session is initiated there are no items in the cart,\n\t\t// so we can save the call to get the cart items\n\t\tif (wpm.doesWooCommerceCartExist()) wpm.getCartItems()\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n// get all add-to-cart= products from backend\njQuery(document).on(\"wpmLoad\", function () {\n\n\twpmDataLayer.products = wpmDataLayer.products || {}\n\n\t// scan page for add-to-cart= links\n\tlet productIds = wpm.getAddToCartLinkProductIds()\n\n\twpm.getProductsFromBackend(productIds)\n})\n\n/**\n * Save the referrer into a cookie\n */\n\njQuery(document).on(\"wpmLoad\", function () {\n\n\t// can't use session storage as we can't read it from the server\n\tif (!wpm.getCookie(\"wpmReferrer\")) {\n\n\t\tif (document.referrer) {\n\t\t\tlet referrerUrl = new URL(document.referrer)\n\t\t\tlet referrerHostname = referrerUrl.hostname\n\n\t\t\tif (referrerHostname !== window.location.host) {\n\t\t\t\twpm.setCookie(\"wpmReferrer\", referrerHostname)\n\t\t\t}\n\t\t}\n\t}\n})\n\n\n/**\n * Create our own load event in order to better handle script flow execution when JS \"optimizers\" shuffle the code.\n */\n\njQuery(document).on(\"wpmLoad\", function () {\n\t// document.addEventListener(\"wpmLoad\", function () {\n\ttry {\n\t\tif (typeof wpmDataLayer != \"undefined\" && !wpmDataLayer?.wpmLoadFired) {\n\n\t\t\tjQuery(document).trigger(\"wpmLoadAlways\")\n\n\t\t\tif (wpmDataLayer?.shop) {\n\t\t\t\tif (\n\t\t\t\t\t\"product\" === wpmDataLayer.shop.page_type &&\n\t\t\t\t\t\"variable\" !== wpmDataLayer.shop.product_type &&\n\t\t\t\t\twpm.getMainProductIdFromProductPage()\n\t\t\t\t) {\n\t\t\t\t\tlet product = wpm.getProductDataForViewItemEvent(wpm.getMainProductIdFromProductPage())\n\t\t\t\t\tjQuery(document).trigger(\"wpmViewItem\", product)\n\t\t\t\t} else if (\"product_category\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmCategory\")\n\t\t\t\t} else if (\"search\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmSearch\")\n\t\t\t\t} else if (\"cart\" === wpmDataLayer.shop.page_type) {\n\t\t\t\t\tjQuery(document).trigger(\"wpmViewCart\")\n\t\t\t\t} else if (\"order_received_page\" === wpmDataLayer.shop.page_type && wpmDataLayer.order) {\n\t\t\t\t\tif (!wpm.isOrderIdStored(wpmDataLayer.order.id)) {\n\t\t\t\t\t\tjQuery(document).trigger(\"wpmOrderReceivedPage\")\n\t\t\t\t\t\twpm.writeOrderIdToStorage(wpmDataLayer.order.id)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tjQuery(document).trigger(\"wpmEverywhereElse\")\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tjQuery(document).trigger(\"wpmEverywhereElse\")\n\t\t\t}\n\n\t\t\tif (wpmDataLayer?.user?.id && !wpm.hasLoginEventFired()) {\n\t\t\t\tjQuery(document).trigger(\"wpmLogin\")\n\t\t\t\twpm.setLoginEventFired()\n\t\t\t}\n\n\t\t\t// /**\n\t\t\t// * Load mini cart fragments into a wpm session storage key,\n\t\t\t// * after the document load event.\n\t\t\t// */\n\t\t\t// jQuery(document).ajaxSend(function (event, jqxhr, settings) {\n\t\t\t// \t// console.log('settings.url: ' + settings.url);\n\t\t\t//\n\t\t\t// \tif (settings.url.includes(\"get_refreshed_fragments\") && sessionStorage) {\n\t\t\t// \t\tif (!sessionStorage.getItem(\"wpmMiniCartActive\")) {\n\t\t\t// \t\t\tsessionStorage.setItem(\"wpmMiniCartActive\", JSON.stringify(true))\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// })\n\n\t\t\twpmDataLayer.wpmLoadFired = true\n\t\t}\n\n\t} catch (e) {\n\t\tconsole.error(e)\n\t}\n})\n\n/**\n * Load all pixels\n */\njQuery(document).on(\"wpmPreLoadPixels\", function () {\n\n\tif (wpmDataLayer?.shop?.cookie_consent_mgmt?.explicit_consent && !wpm.explicitConsentStateAlreadySet()) {\n\t\twpm.updateConsentCookieValues(null, null, true)\n\t}\n\n\tjQuery(document).trigger(\"wpmLoadPixels\", {})\n})\n","/**\n * Create a wpm namespace under which all functions are declared\n */\n\n// https://stackoverflow.com/a/5947280/4688612\n\n(function (wpm, $, undefined) {\n\n\tconst wpmDeduper = {\n\t\tkeyName : \"_wpm_order_ids\",\n\t\tcookieExpiresDays: 365,\n\t}\n\n\tconst wpmRestSettings = {\n\t\t// cookiesAvailable : '_wpm_cookies_are_available',\n\t\tcookieWpmRestEndpointAvailable: \"_wpm_endpoint_available\",\n\t\trestEndpoint : \"/wp-json/\",\n\t\trestFails : 0,\n\t\trestFailsThreshold : 10,\n\t}\n\n\twpm.emailSelected = false\n\twpm.paymentMethodSelected = false\n\n\t// wpm.checkIfCookiesAvailable = function () {\n\t//\n\t// // read the cookie if previously set, if it is return true, otherwise continue\n\t// if (wpm.getCookie(wpmRestSettings.cookiesAvailable)) {\n\t// return true;\n\t// }\n\t//\n\t// // set the cookie for the session\n\t// Cookies.set(wpmRestSettings.cookiesAvailable, true);\n\t//\n\t// // read cookie, true if ok, false if not ok\n\t// return !!wpm.getCookie(wpmRestSettings.cookiesAvailable);\n\t// }\n\n\twpm.useRestEndpoint = () => {\n\n\t\t// only if sessionStorage is available\n\n\t\t// only if REST API endpoint is generally accessible\n\t\t// check in sessionStorage if we checked before and return answer\n\t\t// otherwise check if the endpoint is available, save answer in sessionStorage and return answer\n\n\t\t// only if not too many REST API errors happened\n\n\t\treturn wpm.isSessionStorageAvailable() &&\n\t\t\twpm.isRestEndpointAvailable() &&\n\t\t\twpm.isBelowRestErrorThreshold()\n\t}\n\n\twpm.isBelowRestErrorThreshold = () => window.sessionStorage.getItem(wpmRestSettings.restFails) <= wpmRestSettings.restFailsThreshold\n\n\twpm.isRestEndpointAvailable = () => {\n\n\t\tif (window.sessionStorage.getItem(wpmRestSettings.cookieWpmRestEndpointAvailable)) {\n\t\t\treturn JSON.parse(window.sessionStorage.getItem(wpmRestSettings.cookieWpmRestEndpointAvailable))\n\t\t} else {\n\t\t\t// return wpm.testEndpoint();\n\t\t\t// just set the value whenever possible in order not to wait or block the main thread\n\t\t\twpm.testEndpoint()\n\t\t}\n\t}\n\n\twpm.isSessionStorageAvailable = () => !!window.sessionStorage\n\n\twpm.testEndpoint = (\n\t\turl = location.protocol + \"//\" + location.host + wpmRestSettings.restEndpoint,\n\t\tcookieName = wpmRestSettings.cookieWpmRestEndpointAvailable,\n\t) => {\n\t\t// console.log('testing endpoint');\n\n\t\tjQuery.ajax(url, {\n\t\t\ttype : \"HEAD\",\n\t\t\ttimeout: 1000,\n\t\t\t// async: false,\n\t\t\tstatusCode: {\n\t\t\t\t200: function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, true);\n\t\t\t\t\t// console.log('endpoint works');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(true))\n\t\t\t\t},\n\t\t\t\t404: function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, false);\n\t\t\t\t\t// console.log('endpoint doesn\\'t work');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(false))\n\t\t\t\t},\n\t\t\t\t0 : function (response) {\n\t\t\t\t\t// Cookies.set(cookieName, false);\n\t\t\t\t\t// console.log('endpoint doesn\\'t work');\n\t\t\t\t\twindow.sessionStorage.setItem(cookieName, JSON.stringify(false))\n\t\t\t\t},\n\t\t\t},\n\t\t}).then(response => {\n\t\t\t// console.log('test done')\n\t\t\t// console.log('result: ' + JSON.parse(window.sessionStorage.getItem(cookieName)));\n\t\t\t// return JSON.parse(window.sessionStorage.getItem(cookieName));\n\t\t})\n\t}\n\n\twpm.isWpmRestEndpointAvailable = (cookieName = wpmRestSettings.cookieWpmRestEndpointAvailable) => !!wpm.getCookie(cookieName)\n\n\twpm.writeOrderIdToStorage = (orderId, expireDays = 365) => {\n\n\t\t// save the order ID in the browser storage\n\n\t\tif (!window.Storage) {\n\t\t\tlet expiresDate = new Date()\n\t\t\texpiresDate.setDate(expiresDate.getDate() + wpmDeduper.cookieExpiresDays)\n\n\t\t\tlet ids = []\n\t\t\tif (checkCookie()) {\n\t\t\t\tids = JSON.parse(wpm.getCookie(wpmDeduper.keyName))\n\t\t\t}\n\n\t\t\tif (!ids.includes(orderId)) {\n\t\t\t\tids.push(orderId)\n\t\t\t\tdocument.cookie = wpmDeduper.keyName + \"=\" + JSON.stringify(ids) + \";expires=\" + expiresDate.toUTCString()\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (localStorage.getItem(wpmDeduper.keyName) === null) {\n\t\t\t\tlet ids = []\n\t\t\t\tids.push(orderId)\n\t\t\t\twindow.localStorage.setItem(wpmDeduper.keyName, JSON.stringify(ids))\n\n\t\t\t} else {\n\t\t\t\tlet ids = JSON.parse(localStorage.getItem(wpmDeduper.keyName))\n\t\t\t\tif (!ids.includes(orderId)) {\n\t\t\t\t\tids.push(orderId)\n\t\t\t\t\twindow.localStorage.setItem(wpmDeduper.keyName, JSON.stringify(ids))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (typeof wpm.storeOrderIdOnServer === \"function\" && wpmDataLayer.orderDeduplication) {\n\t\t\twpm.storeOrderIdOnServer(orderId)\n\t\t}\n\t}\n\n\tfunction checkCookie() {\n\t\tlet key = wpm.getCookie(wpmDeduper.keyName)\n\t\treturn key !== \"\"\n\t}\n\n\twpm.isOrderIdStored = orderId => {\n\n\t\tif (wpmDataLayer.orderDeduplication) {\n\n\t\t\tif (!window.Storage) {\n\n\t\t\t\tif (checkCookie()) {\n\t\t\t\t\tlet ids = JSON.parse(wpm.getCookie(wpmDeduper.keyName))\n\t\t\t\t\treturn ids.includes(orderId)\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (localStorage.getItem(wpmDeduper.keyName) !== null) {\n\t\t\t\t\tlet ids = JSON.parse(localStorage.getItem(wpmDeduper.keyName))\n\t\t\t\t\treturn ids.includes(orderId)\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.log(\"order duplication prevention: off\")\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.isEmail = email => {\n\n\t\t// https://emailregex.com/\n\n\t\tlet regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\n\t\treturn regex.test(email)\n\t}\n\n\twpm.removeProductFromCart = (productId, quantityToRemove = null) => {\n\n\t\ttry {\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tlet quantity\n\n\t\t\tif (quantityToRemove == null) {\n\t\t\t\tquantity = wpmDataLayer.cart[productId].quantity\n\t\t\t} else {\n\t\t\t\tquantity = quantityToRemove\n\t\t\t}\n\n\t\t\tif (wpmDataLayer.cart[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\n\t\t\t\tjQuery(document).trigger(\"wpmRemoveFromCart\", product)\n\n\t\t\t\tif (quantityToRemove == null || wpmDataLayer.cart[productId].quantity === quantityToRemove) {\n\n\t\t\t\t\tdelete wpmDataLayer.cart[productId]\n\n\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t\t} else {\n\n\t\t\t\t\twpmDataLayer.cart[productId].quantity = wpmDataLayer.cart[productId].quantity - quantity\n\n\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\t// console.log('getting cart from back end');\n\t\t\t// wpm.getCartItemsFromBackend();\n\t\t\t// console.log('getting cart from back end done');\n\t\t}\n\t}\n\n\twpm.getIdBasedOndVariationsOutputSetting = productId => {\n\n\t\ttry {\n\t\t\tif (wpmDataLayer?.general?.variationsOutput) {\n\n\t\t\t\treturn productId\n\t\t\t} else {\n\t\t\t\tif (wpmDataLayer.products[productId].isVariation) {\n\n\t\t\t\t\treturn wpmDataLayer.products[productId].parentId\n\t\t\t\t} else {\n\n\t\t\t\t\treturn productId\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// add_to_cart\n\twpm.addProductToCart = (productId, quantity) => {\n\n\t\ttry {\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\t\tif (wpmDataLayer?.products[productId]) {\n\n\t\t\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\n\t\t\t\tjQuery(document).trigger(\"wpmAddToCart\", product)\n\n\t\t\t\t// add product to cart wpmDataLayer['cart']\n\n\t\t\t\t// if the product already exists in the object, only add the additional quantity\n\t\t\t\t// otherwise create that product object in the wpmDataLayer['cart']\n\t\t\t\tif (wpmDataLayer?.cart[productId]) {\n\n\t\t\t\t\twpmDataLayer.cart[productId].quantity = wpmDataLayer.cart[productId].quantity + quantity\n\t\t\t\t} else {\n\n\t\t\t\t\tif (!(\"cart\" in wpmDataLayer)) wpmDataLayer.cart = {}\n\n\t\t\t\t\twpmDataLayer.cart[productId] = wpm.getProductDetailsFormattedForEvent(productId, quantity)\n\t\t\t\t}\n\n\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(wpmDataLayer.cart))\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\n\t\t\t// fallback if wpmDataLayer.cart and wpmDataLayer.products got out of sync in case cart caching has an issue\n\t\t\twpm.getCartItemsFromBackend()\n\t\t}\n\t}\n\n\twpm.getCartItems = () => {\n\n\t\tif (sessionStorage) {\n\t\t\tif (!sessionStorage.getItem(\"wpmDataLayerCart\") || wpmDataLayer.shop.page_type === \"order_received_page\") {\n\t\t\t\tsessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify({}))\n\t\t\t} else {\n\t\t\t\twpm.saveCartObjectToDataLayer(JSON.parse(sessionStorage.getItem(\"wpmDataLayerCart\")))\n\t\t\t}\n\t\t} else {\n\t\t\twpm.getCartItemsFromBackend()\n\t\t}\n\t}\n\n\t// get all cart items from the backend\n\twpm.getCartItemsFromBackend = () => {\n\t\ttry {\n\t\t\tlet data = {\n\t\t\t\taction: \"wpm_get_cart_items\",\n\t\t\t}\n\n\t\t\tjQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"get\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (cartItems) {\n\n\t\t\t\t\t\t// save all cart items into wpmDataLayer\n\n\t\t\t\t\t\tif (!cartItems[\"cart\"]) cartItems[\"cart\"] = {}\n\n\t\t\t\t\t\twpm.saveCartObjectToDataLayer(cartItems[\"cart\"])\n\n\t\t\t\t\t\tif (sessionStorage) sessionStorage.setItem(\"wpmDataLayerCart\", JSON.stringify(cartItems[\"cart\"]))\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// get productIds from the backend\n\twpm.getProductsFromBackend = productIds => {\n\n\t\tif (wpmDataLayer?.products) {\n\t\t\t// reduce productIds by products already in the dataLayer\n\t\t\tproductIds = productIds.filter(item => !wpmDataLayer.products.hasOwnProperty(item))\n\t\t}\n\n\t\t// if no products IDs are in the object, don't try to get anything from the server\n\t\tif (!productIds || productIds.length === 0) return\n\n\t\ttry {\n\t\t\tlet data = {\n\t\t\t\taction : \"wpm_get_product_ids\",\n\t\t\t\tproductIds: productIds,\n\t\t\t}\n\n\t\t\treturn jQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"get\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (products) {\n\n\t\t\t\t\t\t// merge products into wpmDataLayer.products\n\t\t\t\t\t\twpmDataLayer.products = Object.assign({}, wpmDataLayer.products, products)\n\t\t\t\t\t},\n\t\t\t\t\terror : function (response) {\n\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.saveCartObjectToDataLayer = cartObject => {\n\n\t\twpmDataLayer.cart = cartObject\n\t\twpmDataLayer.products = Object.assign({}, wpmDataLayer.products, cartObject)\n\t}\n\n\twpm.triggerViewItemEventPrep = productId => {\n\n\t\tif (wpmDataLayer.products && wpmDataLayer.products[productId]) {\n\n\t\t\twpm.triggerViewItemEvent(productId)\n\t\t} else {\n\t\t\twpm.getProductsFromBackend([productId]).then(() => {\n\n\t\t\t\twpm.triggerViewItemEvent(productId)\n\t\t\t})\n\t\t}\n\t}\n\n\twpm.triggerViewItemEvent = productId => {\n\n\t\tlet product = wpm.getProductDetailsFormattedForEvent(productId)\n\n\t\tjQuery(document).trigger(\"wpmViewItem\", product)\n\t}\n\n\twpm.triggerViewItemEventNoProduct = () => {\n\t\tjQuery(document).trigger(\"wpmViewItemNoProduct\")\n\t}\n\n\twpm.fireCheckoutOption = (step, checkout_option = null, value = null) => {\n\n\t\tlet data = {\n\t\t\tstep : step,\n\t\t\tcheckout_option: checkout_option,\n\t\t\tvalue : value,\n\t\t}\n\n\t\tjQuery(document).trigger(\"wpmFireCheckoutOption\", data)\n\t}\n\n\twpm.fireCheckoutProgress = step => {\n\n\t\tlet data = {\n\t\t\tstep: step,\n\t\t}\n\n\t\tjQuery(document).trigger(\"wpmFireCheckoutProgress\", data)\n\t}\n\n\twpm.getPostIdFromString = string => {\n\n\t\ttry {\n\t\t\treturn string.match(/(post-)(\\d+)/)[2]\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.triggerViewItemList = productId => {\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tproductId = wpm.getIdBasedOndVariationsOutputSetting(productId)\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\tjQuery(document).trigger(\"wpmViewItemList\", wpm.getProductDataForViewItemEvent(productId))\n\t}\n\n\twpm.getProductDataForViewItemEvent = productId => {\n\n\t\tif (!productId) throw Error(\"Wasn't able to retrieve a productId\")\n\n\t\ttry {\n\t\t\tif (wpmDataLayer.products[productId]) {\n\n\t\t\t\treturn wpm.getProductDetailsFormattedForEvent(productId)\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.getMainProductIdFromProductPage = () => {\n\n\t\ttry {\n\t\t\tif ([\"simple\", \"variable\", \"grouped\", \"composite\", \"bundle\"].indexOf(wpmDataLayer.shop.product_type) >= 0) {\n\t\t\t\treturn jQuery(\".wpmProductId:first\").data(\"id\")\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.viewItemListTriggerTestMode = target => {\n\n\t\tjQuery(target).css({\"position\": \"relative\"})\n\t\tjQuery(target).append(\"<div id=\\\"viewItemListTriggerOverlay\\\"></div>\")\n\t\tjQuery(target).find(\"#viewItemListTriggerOverlay\").css({\n\t\t\t\"z-index\" : \"10\",\n\t\t\t\"display\" : \"block\",\n\t\t\t\"position\" : \"absolute\",\n\t\t\t\"height\" : \"100%\",\n\t\t\t\"top\" : \"0\",\n\t\t\t\"left\" : \"0\",\n\t\t\t\"right\" : \"0\",\n\t\t\t\"opacity\" : wpmDataLayer.viewItemListTrigger.opacity,\n\t\t\t\"background-color\": wpmDataLayer.viewItemListTrigger.backgroundColor,\n\t\t})\n\t}\n\n\twpm.getSearchTermFromUrl = () => {\n\n\t\ttry {\n\t\t\tlet urlParameters = new URLSearchParams(window.location.search)\n\t\t\treturn urlParameters.get(\"s\")\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// we need this to track timeouts for intersection observers\n\tlet ioTimeouts = {}\n\n\twpm.observerCallback = (entries, observer) => {\n\n\t\tentries.forEach((entry) => {\n\n\t\t\ttry {\n\t\t\t\tlet productId\n\n\t\t\t\tlet elementId = jQuery(entry.target).data(\"ioid\")\n\n\t\t\t\t// Get the productId from next element, if wpmProductId is a sibling, like in Gutenberg blocks\n\t\t\t\t// otherwise go search in children, like in regular WC loop items\n\t\t\t\tif (jQuery(entry.target).next(\".wpmProductId\").length) {\n\t\t\t\t\t// console.log('test 1');\n\t\t\t\t\tproductId = jQuery(entry.target).next(\".wpmProductId\").data(\"id\")\n\t\t\t\t} else {\n\t\t\t\t\tproductId = jQuery(entry.target).find(\".wpmProductId\").data(\"id\")\n\t\t\t\t}\n\n\n\t\t\t\tif (!productId) throw Error(\"wpmProductId element not found\")\n\n\t\t\t\tif (entry.isIntersecting) {\n\n\t\t\t\t\tioTimeouts[elementId] = setTimeout(() => {\n\n\t\t\t\t\t\twpm.triggerViewItemList(productId)\n\t\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.testMode) wpm.viewItemListTriggerTestMode(entry.target)\n\t\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.repeat === false) observer.unobserve(entry.target)\n\t\t\t\t\t}, wpmDataLayer.viewItemListTrigger.timeout)\n\n\t\t\t\t} else {\n\n\t\t\t\t\tclearTimeout(ioTimeouts[elementId])\n\t\t\t\t\tif (wpmDataLayer.viewItemListTrigger.testMode) jQuery(entry.target).find(\"#viewItemListTriggerOverlay\").remove()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t})\n\t}\n\n\t// fire view_item_list only on products that have become visible\n\tlet io\n\tlet ioid = 0\n\tlet allIoElementsToWatch\n\n\tlet getAllElementsToWatch = () => {\n\n\t\tallIoElementsToWatch = jQuery(\".wpmProductId\")\n\t\t\t.map(function (i, elem) {\n\n\t\t\t\tif (\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"type-product\") ||\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"product\") ||\n\t\t\t\t\tjQuery(elem).parent().hasClass(\"product-item-inner\")\n\t\t\t\t) {\n\t\t\t\t\treturn jQuery(elem).parent()\n\t\t\t\t} else if (\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"wc-block-grid__product\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"product\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"product-small\") ||\n\t\t\t\t\tjQuery(elem).prev().hasClass(\"woocommerce-LoopProduct-link\")\n\t\t\t\t) {\n\t\t\t\t\treturn jQuery(this).prev()\n\t\t\t\t} else if (jQuery(elem).closest(\".product\").length) {\n\t\t\t\t\treturn jQuery(elem).closest(\".product\")\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\twpm.startIntersectionObserverToWatch = () => {\n\n\t\ttry {\n\t\t\t// enable view_item_list test mode from browser\n\t\t\tif (wpm.urlHasParameter(\"vildemomode\")) wpmDataLayer.viewItemListTrigger.testMode = true\n\n\t\t\t// set up intersection observer\n\t\t\tio = new IntersectionObserver(wpm.observerCallback, {\n\t\t\t\tthreshold: wpmDataLayer.viewItemListTrigger.threshold,\n\t\t\t})\n\n\t\t\tgetAllElementsToWatch()\n\n\t\t\tallIoElementsToWatch.each((i, elem) => {\n\n\t\t\t\tjQuery(elem[0]).data(\"ioid\", ioid++)\n\n\t\t\t\tio.observe(elem[0])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// watch DOM for new lazy loaded products and add them to the intersection observer\n\twpm.startProductsMutationObserverToWatch = () => {\n\n\t\ttry {\n\t\t\t// Pass in the target node, as well as the observer options\n\n\t\t\t// selects the most common parent node\n\t\t\t// https://stackoverflow.com/a/7648323/4688612\n\t\t\tlet productsNode = jQuery(\".wpmProductId:eq(0)\").parents().has(jQuery(\".wpmProductId:eq(1)\").parents()).first()\n\n\t\t\tif (productsNode.length) {\n\t\t\t\tproductsMutationObserver.observe(productsNode[0], {\n\t\t\t\t\tattributes : true,\n\t\t\t\t\tchildList : true,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t})\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\t// Create an observer instance\n\tlet productsMutationObserver = new MutationObserver(mutations => {\n\n\t\tmutations.forEach(mutation => {\n\t\t\tlet newNodes = mutation.addedNodes // DOM NodeList\n\t\t\tif (newNodes !== null) { // If there are new nodes added\n\t\t\t\tlet nodes = jQuery(newNodes) // jQuery set\n\t\t\t\tnodes.each(function () {\n\t\t\t\t\tif (\n\t\t\t\t\t\tjQuery(this).hasClass(\"type-product\") ||\n\t\t\t\t\t\tjQuery(this).hasClass(\"product-small\") ||\n\t\t\t\t\t\tjQuery(this).hasClass(\"wc-block-grid__product\")\n\t\t\t\t\t) {\n\t\t\t\t\t\t// check if the node has a child or sibling wpmProductId\n\t\t\t\t\t\t// if yes add it to the intersectionObserver\n\t\t\t\t\t\tif (hasWpmProductIdElement(this)) {\n\t\t\t\t\t\t\tjQuery(this).data(\"ioid\", ioid++)\n\t\t\t\t\t\t\tio.observe(this)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})\n\n\tlet hasWpmProductIdElement = elem =>\n\t\t!!(jQuery(elem).find(\".wpmProductId\").length ||\n\t\t\tjQuery(elem).siblings(\".wpmProductId\").length)\n\n\twpm.setCookie = (cookieName, cookieValue = \"\", expiryDays = null) => {\n\n\t\tif (expiryDays) {\n\n\t\t\tlet d = new Date()\n\t\t\td.setTime(d.getTime() + (expiryDays * 24 * 60 * 60 * 1000))\n\t\t\tlet expires = \"expires=\" + d.toUTCString()\n\t\t\tdocument.cookie = cookieName + \"=\" + cookieValue + \";\" + expires + \";path=/\"\n\t\t} else {\n\t\t\tdocument.cookie = cookieName + \"=\" + cookieValue + \";path=/\"\n\t\t}\n\t}\n\n\twpm.getCookie = cookieName => {\n\n\t\tlet name = cookieName + \"=\"\n\t\tlet decodedCookie = decodeURIComponent(document.cookie)\n\t\tlet ca = decodedCookie.split(\";\")\n\n\t\tfor (let i = 0; i < ca.length; i++) {\n\n\t\t\tlet c = ca[i]\n\n\t\t\twhile (c.charAt(0) == \" \") {\n\t\t\t\tc = c.substring(1)\n\t\t\t}\n\n\t\t\tif (c.indexOf(name) == 0) {\n\t\t\t\treturn c.substring(name.length, c.length)\n\t\t\t}\n\t\t}\n\n\t\treturn \"\"\n\t}\n\n\twpm.getWpmSessionData = () => {\n\n\t\tif (window.sessionStorage) {\n\n\t\t\tlet data = window.sessionStorage.getItem(\"_wpm\")\n\n\t\t\tif (data !== null) {\n\t\t\t\treturn JSON.parse(data)\n\t\t\t} else {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t} else {\n\t\t\treturn {}\n\t\t}\n\t}\n\n\twpm.setWpmSessionData = data => {\n\t\tif (window.sessionStorage) {\n\t\t\twindow.sessionStorage.setItem(\"_wpm\", JSON.stringify(data))\n\t\t}\n\t}\n\n\twpm.storeOrderIdOnServer = orderId => {\n\n\t\ttry {\n\t\t\t// save the state in the database\n\t\t\tlet data = {\n\t\t\t\taction : \"wpm_purchase_pixels_fired\",\n\t\t\t\torder_id: orderId,\n\t\t\t\t// nonce : ajax_object.nonce,\n\t\t\t\tnonce: wpm.nonce,\n\t\t\t}\n\n\t\t\tjQuery.ajax(\n\t\t\t\t{\n\t\t\t\t\ttype : \"post\",\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\t// url : ajax_object.ajax_url,\n\t\t\t\t\turl : wpm.ajax_url,\n\t\t\t\t\tdata : data,\n\t\t\t\t\tsuccess: function (response) {\n\t\t\t\t\t\tif (response.success === false) {\n\t\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\terror : function (response) {\n\t\t\t\t\t\tconsole.log(response)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\t}\n\n\twpm.getProductIdByCartItemKeyUrl = url => {\n\n\t\tlet searchParams = new URLSearchParams(url.search)\n\t\tlet cartItemKey = searchParams.get(\"remove_item\")\n\n\t\tlet productId\n\n\t\tif (wpmDataLayer.cartItemKeys[cartItemKey][\"variation_id\"] === 0) {\n\t\t\tproductId = wpmDataLayer.cartItemKeys[cartItemKey][\"product_id\"]\n\t\t} else {\n\t\t\tproductId = wpmDataLayer.cartItemKeys[cartItemKey][\"variation_id\"]\n\t\t}\n\n\t\treturn productId\n\t}\n\n\twpm.getAddToCartLinkProductIds = () =>\n\t\tjQuery(\"a\").map(function () {\n\t\t\tlet href = jQuery(this).attr(\"href\")\n\n\t\t\tif (href && href.includes(\"?add-to-cart=\")) {\n\t\t\t\tlet matches = href.match(/(add-to-cart=)(\\d+)/)\n\t\t\t\tif (matches) return matches[2]\n\t\t\t}\n\t\t}).get()\n\n\twpm.getProductDetailsFormattedForEvent = (productId, quantity = 1) => {\n\n\t\tlet product = {\n\t\t\tid : productId.toString(),\n\t\t\tdyn_r_ids : wpmDataLayer.products[productId].dyn_r_ids,\n\t\t\tname : wpmDataLayer.products[productId].name,\n\t\t\tlist_name : wpmDataLayer.shop.list_name,\n\t\t\tbrand : wpmDataLayer.products[productId].brand,\n\t\t\tcategory : wpmDataLayer.products[productId].category,\n\t\t\tvariant : wpmDataLayer.products[productId].variant,\n\t\t\tlist_position: wpmDataLayer.products[productId].position,\n\t\t\tquantity : quantity,\n\t\t\tprice : wpmDataLayer.products[productId].price,\n\t\t\tcurrency : wpmDataLayer.shop.currency,\n\t\t\tisVariable : wpmDataLayer.products[productId].isVariable,\n\t\t\tisVariation : wpmDataLayer.products[productId].isVariation,\n\t\t\tparentId : wpmDataLayer.products[productId].parentId,\n\t\t}\n\n\t\tif (product.isVariation) product[\"parentId_dyn_r_ids\"] = wpmDataLayer.products[productId].parentId_dyn_r_ids\n\n\t\treturn product\n\t}\n\n\twpm.setReferrerToCookie = () => {\n\n\t\t// can't use session storage as we can't read it from the server\n\t\tif (!wpm.getCookie(\"wpmReferrer\")) {\n\t\t\twpm.setCookie(\"wpmReferrer\", document.referrer)\n\t\t}\n\t}\n\n\twpm.getReferrerFromCookie = () => {\n\n\t\tif (wpm.getCookie(\"wpmReferrer\")) {\n\t\t\treturn wpm.getCookie(\"wpmReferrer\")\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\twpm.getClidFromBrowser = (clidId = \"gclid\") => {\n\n\t\tlet clidCookieId\n\n\t\tclidCookieId = {\n\t\t\tgclid: \"_gcl_aw\",\n\t\t\tdclid: \"_gcl_dc\",\n\t\t}\n\n\t\tif (wpm.getCookie(clidCookieId[clidId])) {\n\n\t\t\tlet clidCookie = wpm.getCookie(clidCookieId[clidId])\n\t\t\tlet matches = clidCookie.match(/(GCL.[\\d]*.)(.*)/)\n\t\t\treturn matches[2]\n\t\t} else {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\n\twpm.getUserAgent = () => navigator.userAgent\n\n\twpm.getViewPort = () => ({\n\t\twidth : Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),\n\t\theight: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0),\n\t})\n\n\n\twpm.version = () => {\n\t\tconsole.log(wpmDataLayer.version)\n\t}\n\n\t// https://api.jquery.com/jquery.getscript/\n\twpm.loadScriptAndCacheIt = (url, options) => {\n\n\t\t// Allow user to set any option except for dataType, cache, and url\n\t\toptions = jQuery.extend(options || {}, {\n\t\t\tdataType: \"script\",\n\t\t\tcache : true,\n\t\t\turl : url,\n\t\t})\n\n\t\t// Use $.ajax() since it is more flexible than $.getScript\n\t\t// Return the jqXHR object so we can chain callbacks\n\t\treturn jQuery.ajax(options)\n\t}\n\n\twpm.getOrderItemPrice = orderItem => (orderItem.total + orderItem.total_tax) / orderItem.quantity\n\n\twpm.hasLoginEventFired = () => {\n\t\tlet data = wpm.getWpmSessionData()\n\t\treturn data?.loginEventFired\n\t}\n\n\twpm.setLoginEventFired = () => {\n\t\tlet data = wpm.getWpmSessionData()\n\t\tdata[\"loginEventFired\"] = true\n\t\twpm.setWpmSessionData(data)\n\t}\n\n\twpm.wpmDataLayerExists = () => new Promise(resolve => {\n\t\t(function waitForVar() {\n\t\t\tif (typeof wpmDataLayer !== \"undefined\") return resolve()\n\t\t\tsetTimeout(waitForVar, 50)\n\t\t})()\n\t})\n\n\twpm.jQueryExists = () => new Promise(resolve => {\n\t\t(function waitForjQuery() {\n\t\t\tif (typeof jQuery !== \"undefined\") return resolve()\n\t\t\tsetTimeout(waitForjQuery, 100)\n\t\t})()\n\t})\n\n\twpm.pageLoaded = () => new Promise(resolve => {\n\t\t(function waitForVar() {\n\t\t\tif (\"complete\" === document.readyState) return resolve()\n\t\t\tsetTimeout(waitForVar, 50)\n\t\t})()\n\t})\n\n\twpm.pageReady = () => {\n\t\treturn new Promise(resolve => {\n\t\t\t(function waitForVar() {\n\t\t\t\tif (\"interactive\" === document.readyState || \"complete\" === document.readyState) return resolve()\n\t\t\t\tsetTimeout(waitForVar, 50)\n\t\t\t})()\n\t\t})\n\t}\n\n\twpm.isMiniCartActive = () => {\n\t\tif (window.sessionStorage) {\n\t\t\tfor (const [key, value] of Object.entries(window.sessionStorage)) {\n\t\t\t\tif (key.includes(\"wc_fragments\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\twpm.doesWooCommerceCartExist = () => document.cookie.includes(\"woocommerce_items_in_cart\")\n\n\twpm.urlHasParameter = parameter => {\n\t\tlet urlParams = new URLSearchParams(window.location.search)\n\t\treturn urlParams.has(parameter)\n\t}\n\n\t// https://stackoverflow.com/a/60606893/4688612\n\twpm.hashAsync = (algo, str) => {\n\t\treturn crypto.subtle.digest(algo, new TextEncoder(\"utf-8\").encode(str)).then(buf => {\n\t\t\treturn Array.prototype.map.call(new Uint8Array(buf), x => ((\"00\" + x.toString(16)).slice(-2))).join(\"\")\n\t\t})\n\t}\n\n\twpm.getCartValue = () => {\n\n\t\tlet value = 0\n\n\t\tif(wpmDataLayer?.cart){\n\n\t\t\tfor (const key in wpmDataLayer.cart) {\n\t\t\t\t// content_ids.push(wpmDataLayer.products[key].dyn_r_ids[wpmDataLayer.pixels.facebook.dynamic_remarketing.id_type])\n\n\t\t\t\tlet product = wpmDataLayer.cart[key]\n\n\t\t\t\tvalue += product.quantity * product.price\n\t\t\t}\n\t\t}\n\n\t\treturn value\n\t}\n\n}(window.wpm = window.wpm || {}, jQuery))\n","/**\n * Load all WPM functions\n *\n * Ignore event listeners. They need to be loaded after\n * we made sure that jQuery has been loaded.\n */\n\nrequire(\"./functions\")\nrequire(\"./cookie_consent\")\n\n// #if process.env.TIER === 'premium'\n// require(\"./functions_premium\")\n// #endif\n","/**\n * After WPM is loaded\n * we first check if wpmDataLayer is loaded,\n * and as soon as it is, we load the pixels,\n * and as soon as the page load is complete,\n * we fire the wpmLoad event.\n *\n * @param {{pro:bool}} wpmDataLayer.version\n *\n * https://stackoverflow.com/a/25868457/4688612\n * https://stackoverflow.com/a/44093516/4688612\n */\n\nwpm.wpmDataLayerExists()\n\t.then(function () {\n\t\tconsole.log(\"Pixel Manager for WooCommerce: \" + (wpmDataLayer.version.pro ? \"Pro\" : \"Free\") +\" Version \" + wpmDataLayer.version.number + \" loaded\")\n\t\tjQuery(document).trigger(\"wpmPreLoadPixels\", {})\n\t})\n\t.then(function () {\n\t\twpm.pageLoaded().then(function () {\n\t\t\t// const myEvent = new Event(\"wpmLoad\", {cancelable: false})\n\t\t\t// document.dispatchEvent(myEvent)\n\t\t\tjQuery(document).trigger(\"wpmLoad\")\n\t\t})\n\t})\n\n\n\n/**\n * Run when page is ready\n *\n */\n\nwpm.pageReady().then(function () {\n\n\t/**\n\t * Run as soon as wpm namespace is loaded\n\t */\n\n\twpm.wpmDataLayerExists()\n\t\t.then(function () {\n\t\t\t// watch for products visible in viewport\n\t\t\twpm.startIntersectionObserverToWatch()\n\n\t\t\t// watch for lazy loaded products\n\t\t\twpm.startProductsMutationObserverToWatch()\n\t\t})\n})\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Load all essential scripts first\n */\n\nrequire(\"./wpm/functions_loader\")\n\n// Only load the event listeners after jQuery has been loaded for sure\nwpm.jQueryExists().then(function () {\n\n\trequire(\"./wpm/event_listeners\")\n\n\trequire(\"./google/loader\")\n\trequire(\"./facebook/loader\")\n\trequire(\"./hotjar/loader\")\n\n\t/**\n\t * Load all premium scripts\n\t */\n\n\t// #if process.env.TIER === 'premium'\n// \trequire(\"./microsoft-ads/loader\")\n// \trequire(\"./pinterest/loader\")\n// \trequire(\"./snapchat/loader\")\n// \trequire(\"./tiktok/loader\")\n// \trequire(\"./twitter/loader\")\n\t// #endif\n\n\n\t/**\n\t * Initiate WPM.\n\t *\n\t * It makes sure that the script flow gets executed correctly,\n\t * no matter how JS \"optimizers\" shuffle the code.\n\t */\n\n\trequire(\"./wpm/init\")\n})\n\n"],"names":["isCallable","require","tryToString","$TypeError","TypeError","module","exports","argument","wellKnownSymbol","create","defineProperty","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","configurable","value","key","isObject","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","length","index","includes","indexOf","uncurryThis","toString","stringSlice","slice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","getOwnPropertyDescriptor","i","DESCRIPTORS","createPropertyDescriptor","object","bitmap","enumerable","writable","createNonEnumerableProperty","makeBuiltIn","defineGlobalProperty","options","simple","name","global","unsafe","Object","error","fails","get","document","EXISTS","createElement","getBuiltIn","match","version","userAgent","process","Deno","versions","v8","split","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","exec","test","bind","hasOwnProperty","NATIVE_BIND","call","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","fn","aFunction","namespace","method","aCallable","V","P","func","check","Math","globalThis","window","self","this","toObject","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","type","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","constructor","join","ceil","floor","trunc","x","n","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","style","display","appendChild","src","contentWindow","open","F","Properties","result","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","concat","getOwnPropertyNames","push","names","$propertyIsEnumerable","NASHORN_BUG","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","number","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","$","$includes","addToUnscopables","proto","jQuery","on","wpmDataLayer","pixels","facebook","pixel_id","loaded","wpm","canIFire","loadFacebookPixel","event","product","eventId","getRandomEventId","fbq","content_type","content_name","content_ids","dyn_r_ids","dynamic_remarketing","id_type","parseFloat","quantity","price","currency","eventID","shop","trigger","event_name","event_id","user_data","getFbUserData","event_source_url","location","href","custom_data","fbGetProductDataForCapiEvent","e","console","cart","isEmptyObject","fbGetContentIdsFromCart","getCartValue","fbViewContent","search_string","getSearchTermFromUrl","setFbUserData","order","value_filtered","facebookContentIds","fbUserData","b","callMethod","queue","_fbq","t","async","s","getElementsByTagName","parentNode","insertBefore","isFbpSet","getUserIdentifiersForFb","user","external_id","user_id","email","em","billing_email_hashed","first_name","billing_first_name","last_name","ln","billing_last_name","phone","ph","billing_phone","city","ct","billing_city","st","billing_state","postcode","zp","billing_postcode","country","billing_country","substring","getFbUserDataFromBrowser","getCookie","isValidFbp","fbp","isValidFbc","fbc","navigator","client_user_agent","RegExp","capiData","prodIds","item","entries","items","general","variationsOutput","variation_id","products","trackCustomFacebookEvent","eventName","customData","google","ads","conversionIds","status","googleConfigConditionsMet","isVariable","send_events_with_parent_ids","send_to","getGoogleAdsConversionIdentifiers","google_business_vertical","gtagLoaded","then","gtag","getGoogleAdsDynamicRemarketingOrderItems","getGoogleAdsConversionIdentifiersWithLabel","data_basic","data_with_cart","transaction_id","new_customer","clv_order_value_filtered","customer_lifetime_value","aw_merchant_id","discount","aw_feed_country","aw_feed_language","getGoogleAdsRegularOrderItems","conversionIdentifiers","orderItems","orderItem","analytics","universal","property_id","mp_active","affiliation","value_regular","tax","shipping","coupon","getGAUAOrderItems","category","variant","variant_name","brand","ga3AddListNameToProduct","item_data","productPosition","list_name","list_position","ga4","measurement_id","getGA4OrderItems","item_name","item_category","item_id","item_variant","item_brand","canGoogleLoad","loadGoogle","logPreventedPixelLoading","consent_mode","active","getConsentValues","categories","getVisitorConsentStatusAndUpdateGoogleConsentSettings","google_consent_settings","analytics_storage","ad_storage","updateGoogleConsentMode","cookie_consent_mgmt","explicit_consent","fireGtagGoogleAds","enhanced_conversions","phone_conversion_label","phone_conversion_number","page_type","enhanced_conversion_data","fireGtagGoogleAnalyticsUA","parameters","fireGtagGoogleAnalyticsGA4","debug_mode","isGoogleActive","getGoogleGtagId","loadScriptAndCacheIt","done","script","textStatus","dataLayer","wait_for_update","region","ads_data_redaction","url_passthrough","linker","settings","Date","Promise","resolve","reject","startTime","wait","setTimeout","optimize","container_id","load_google_optimize_pixel","hotjar","site_id","load_hotjar_pixel","h","o","hj","q","_hjSettings","hjid","hjsv","r","getComplianzCookies","cmplz_statistics","cmplz_marketing","visitorHasChosen","getCookieLawInfoCookies","analyticsCookie","adsCookie","wpmConsentValues","setConsentValueCategories","updateConsentCookieValues","cookie","explicitConsent","decodeURI","JSON","parse","action","consents","statistics","marketing","thirdparty","advanced","setConsentDefaultValuesToExplicit","pixelName","canIFireMode","log","scriptTagObserver","MutationObserver","mutations","forEach","addedNodes","node","shouldScriptBeActive","unblockScript","blockScript","observe","head","childList","subtree","disconnect","some","element","scriptNode","removeAttach","remove","wpmSrc","attr","appendTo","removeAttr","unblockAllScripts","unblockSelectedPixels","Cookiebot","consent","detail","cmplzStatusChange","cmplzConsentData","huObserver","hu","documentElement","body","explicitConsentStateAlreadySet","url","URL","productId","getProductIdByCartItemKeyUrl","removeProductFromCart","getProductDetails","product_type","Number","each","find","classes","getPostIdFromString","addProductToCart","one","closest","matches","nextAll","getIdBasedOndVariationsOutputSetting","Error","getProductDetailsFormattedForEvent","isEmail","fireCheckoutProgress","emailSelected","paymentMethodSelected","fireCheckoutOption","getCartItemsFromBackend","variation","triggerViewItemEventPrep","doesWooCommerceCartExist","getCartItems","productIds","getAddToCartLinkProductIds","getProductsFromBackend","referrer","referrerHostname","hostname","host","setCookie","wpmLoadFired","getMainProductIdFromProductPage","getProductDataForViewItemEvent","isOrderIdStored","writeOrderIdToStorage","hasLoginEventFired","setLoginEventFired","wpmDeduper","wpmRestSettings","checkCookie","useRestEndpoint","isSessionStorageAvailable","isRestEndpointAvailable","isBelowRestErrorThreshold","sessionStorage","getItem","testEndpoint","protocol","cookieName","ajax","timeout","statusCode","response","setItem","stringify","isWpmRestEndpointAvailable","orderId","Storage","localStorage","ids","expiresDate","setDate","getDate","toUTCString","storeOrderIdOnServer","orderDeduplication","quantityToRemove","isVariation","parentId","saveCartObjectToDataLayer","dataType","ajax_url","success","cartItems","filter","assign","cartObject","triggerViewItemEvent","triggerViewItemEventNoProduct","step","checkout_option","triggerViewItemList","viewItemListTriggerTestMode","css","append","viewItemListTrigger","opacity","backgroundColor","URLSearchParams","search","io","ioTimeouts","observerCallback","observer","entry","elementId","next","isIntersecting","testMode","repeat","unobserve","clearTimeout","allIoElementsToWatch","ioid","getAllElementsToWatch","map","elem","parent","hasClass","prev","startIntersectionObserverToWatch","urlHasParameter","IntersectionObserver","threshold","startProductsMutationObserverToWatch","productsNode","parents","first","productsMutationObserver","attributes","characterData","mutation","newNodes","hasWpmProductIdElement","siblings","cookieValue","expiryDays","d","setTime","getTime","expires","ca","decodeURIComponent","c","charAt","getWpmSessionData","setWpmSessionData","order_id","nonce","cartItemKey","cartItemKeys","position","parentId_dyn_r_ids","setReferrerToCookie","getReferrerFromCookie","getClidFromBrowser","clidCookieId","clidId","gclid","dclid","getUserAgent","getViewPort","width","clientWidth","innerWidth","height","clientHeight","innerHeight","extend","cache","getOrderItemPrice","total","total_tax","loginEventFired","wpmDataLayerExists","waitForVar","jQueryExists","waitForjQuery","pageLoaded","readyState","pageReady","isMiniCartActive","parameter","hashAsync","algo","str","crypto","subtle","digest","TextEncoder","encode","buf","Uint8Array","pro","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","g","toStringTag"],"sourceRoot":""}
languages/woocommerce-google-adwords-conversion-tracking-tag.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the GNU General Public License v3.0.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Pixel Manager for WooCommerce 1.17.8\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-06-07T04:47:22+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.6.0\n"
15
  "X-Domain: woocommerce-google-adwords-conversion-tracking-tag\n"
@@ -36,8 +36,8 @@ msgstr ""
36
 
37
  #: classes/admin/class-admin.php:248
38
  #: classes/admin/class-admin.php:249
39
- #: wgact.php:232
40
  #: wgact.php:233
 
41
  msgid "Pixel Manager"
42
  msgstr ""
43
 
@@ -762,14 +762,14 @@ msgstr ""
762
  msgid "Find more information about the the reason in our documentation: "
763
  msgstr ""
764
 
765
- #: wgact.php:248
766
  msgid "Pixel Manager for WooCommerce error"
767
  msgstr ""
768
 
769
- #: wgact.php:250
770
  msgid "Your environment doesn't meet all the system requirements listed below."
771
  msgstr ""
772
 
773
- #: wgact.php:254
774
  msgid "The WooCommerce plugin needs to be activated"
775
  msgstr ""
2
  # This file is distributed under the GNU General Public License v3.0.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Pixel Manager for WooCommerce 1.17.10\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-06-21T05:09:49+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.6.0\n"
15
  "X-Domain: woocommerce-google-adwords-conversion-tracking-tag\n"
36
 
37
  #: classes/admin/class-admin.php:248
38
  #: classes/admin/class-admin.php:249
 
39
  #: wgact.php:233
40
+ #: wgact.php:234
41
  msgid "Pixel Manager"
42
  msgstr ""
43
 
762
  msgid "Find more information about the the reason in our documentation: "
763
  msgstr ""
764
 
765
+ #: wgact.php:249
766
  msgid "Pixel Manager for WooCommerce error"
767
  msgstr ""
768
 
769
+ #: wgact.php:251
770
  msgid "Your environment doesn't meet all the system requirements listed below."
771
  msgstr ""
772
 
773
+ #: wgact.php:255
774
  msgid "The WooCommerce plugin needs to be activated"
775
  msgstr ""
readme.txt CHANGED
@@ -4,11 +4,11 @@ Tags: woocommerce, google ads, google analytics, facebook pixel, conversion trac
4
  Requires at least: 3.7
5
  Tested up to: 6.0
6
  Requires PHP: 7.3
7
- Stable tag: 1.17.9
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
- Track visitors and conversions in Google Ads, Google Analytics, Meta Pixel (Facebook Pixel), and more !
12
 
13
  == Description ==
14
 
@@ -186,15 +186,27 @@ You can send the link to the front page of your shop too if you think it would b
186
 
187
  == Changelog ==
188
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  = 1.17.9 = 07.06.2022
190
 
191
- * Fix: Fixed the Facebook browser pixel eternal ID for anonymous users
192
  * Fix: Replaced str_contains() with a backward compatible version for the admin notification check
193
 
194
  = 1.17.8 = 07.06.2022
195
 
196
 
197
- * Tweak: Optimized ViewItem event on variable product pages when no product is preselected. The user has now the choice to fire an ViewItem event without product.
198
  * Tweak: Optimized how, when and where admin notifications are displayed
199
 
200
  * Fix: Don't process CLV calculation if no billing email is available
@@ -218,7 +230,7 @@ You can send the link to the front page of your shop too if you think it would b
218
 
219
  = 1.17.4 = 26.05.2022
220
 
221
- * New: Added GA4 session ID handling over the Measurement Protocol. This not documented by Google and is experimental.
222
  * Tweak: Added tier info into debug info
223
  * Tweak: Added more FB user information for logged in users
224
  * Tweak: Prevent slow processing of large amount of variation data for variable products with > 64 variations
4
  Requires at least: 3.7
5
  Tested up to: 6.0
6
  Requires PHP: 7.3
7
+ Stable tag: 1.17.10
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
+ Track visitors and conversions for WooCommerce in Google Ads, Google Analytics, Meta Pixel (Facebook Pixel), and more !
12
 
13
  == Description ==
14
 
186
 
187
  == Changelog ==
188
 
189
+ = 1.17.10 = 21.06.2022
190
+
191
+
192
+ * Tweak: Bumped up Facebook API version to v14.0
193
+ * Tweak: Changed some jQuery event listeners to work around some themes / plugins that stop propagation of those events
194
+ * Tweak: Prevent console error on purchase confirmation page when Google Ads is disabled
195
+ * Tweak: Added product and value info to Facebook InitiateCheckout event
196
+ * Tweak: Refactored getting product details for add-to-cart event plus added condition for variable-subscription
197
+ * Tweak: Adjusted price output for wpmDataLayer products to two decimals
198
+
199
+
200
+
201
  = 1.17.9 = 07.06.2022
202
 
203
+ * Fix: Fixed the Facebook browser pixel external ID for anonymous users
204
  * Fix: Replaced str_contains() with a backward compatible version for the admin notification check
205
 
206
  = 1.17.8 = 07.06.2022
207
 
208
 
209
+ * Tweak: Optimized ViewItem event on variable product pages when no product is preselected. The user has now the choice to fire a ViewItem event without product.
210
  * Tweak: Optimized how, when and where admin notifications are displayed
211
 
212
  * Fix: Don't process CLV calculation if no billing email is available
230
 
231
  = 1.17.4 = 26.05.2022
232
 
233
+ * New: Added GA4 session ID handling over the Measurement Protocol. This is not documented by Google and is experimental.
234
  * Tweak: Added tier info into debug info
235
  * Tweak: Added more FB user information for logged in users
236
  * Tweak: Prevent slow processing of large amount of variation data for variable products with > 64 variations
vendor/composer/InstalledVersions.php CHANGED
@@ -28,7 +28,7 @@ class InstalledVersions
28
  {
29
  /**
30
  * @var mixed[]|null
31
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
32
  */
33
  private static $installed;
34
 
@@ -39,7 +39,7 @@ class InstalledVersions
39
 
40
  /**
41
  * @var array[]
42
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
@@ -243,7 +243,7 @@ class InstalledVersions
243
 
244
  /**
245
  * @return array
246
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
247
  */
248
  public static function getRootPackage()
249
  {
@@ -257,7 +257,7 @@ class InstalledVersions
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
261
  */
262
  public static function getRawData()
263
  {
@@ -280,7 +280,7 @@ class InstalledVersions
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
284
  */
285
  public static function getAllRawData()
286
  {
@@ -303,7 +303,7 @@ class InstalledVersions
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
307
  */
308
  public static function reload($data)
309
  {
@@ -313,7 +313,7 @@ class InstalledVersions
313
 
314
  /**
315
  * @return array[]
316
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
317
  */
318
  private static function getInstalled()
319
  {
28
  {
29
  /**
30
  * @var mixed[]|null
31
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32
  */
33
  private static $installed;
34
 
39
 
40
  /**
41
  * @var array[]
42
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
243
 
244
  /**
245
  * @return array
246
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
247
  */
248
  public static function getRootPackage()
249
  {
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
261
  */
262
  public static function getRawData()
263
  {
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
284
  */
285
  public static function getAllRawData()
286
  {
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
307
  */
308
  public static function reload($data)
309
  {
313
 
314
  /**
315
  * @return array[]
316
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
317
  */
318
  private static function getInstalled()
319
  {
vendor/composer/installed.json CHANGED
@@ -44,17 +44,17 @@
44
  },
45
  {
46
  "name": "giggsey/libphonenumber-for-php",
47
- "version": "8.12.48",
48
- "version_normalized": "8.12.48.0",
49
  "source": {
50
  "type": "git",
51
  "url": "https://github.com/giggsey/libphonenumber-for-php.git",
52
- "reference": "52c0142b39e4eec7f56e3fa8993a47aa84c3ee1f"
53
  },
54
  "dist": {
55
  "type": "zip",
56
- "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/52c0142b39e4eec7f56e3fa8993a47aa84c3ee1f",
57
- "reference": "52c0142b39e4eec7f56e3fa8993a47aa84c3ee1f",
58
  "shasum": ""
59
  },
60
  "require": {
@@ -71,7 +71,7 @@
71
  "symfony/console": "^2.8|^3.0|^v4.4|^v5.2",
72
  "symfony/phpunit-bridge": "^4.2 || ^5"
73
  },
74
- "time": "2022-05-06T11:44:08+00:00",
75
  "type": "library",
76
  "extra": {
77
  "branch-alias": {
@@ -204,17 +204,17 @@
204
  },
205
  {
206
  "name": "symfony/polyfill-iconv",
207
- "version": "v1.25.0",
208
- "version_normalized": "1.25.0.0",
209
  "source": {
210
  "type": "git",
211
  "url": "https://github.com/symfony/polyfill-iconv.git",
212
- "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40"
213
  },
214
  "dist": {
215
  "type": "zip",
216
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40",
217
- "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40",
218
  "shasum": ""
219
  },
220
  "require": {
@@ -226,11 +226,11 @@
226
  "suggest": {
227
  "ext-iconv": "For best performance"
228
  },
229
- "time": "2022-01-04T09:04:05+00:00",
230
  "type": "library",
231
  "extra": {
232
  "branch-alias": {
233
- "dev-main": "1.23-dev"
234
  },
235
  "thanks": {
236
  "name": "symfony/polyfill",
@@ -270,7 +270,7 @@
270
  "shim"
271
  ],
272
  "support": {
273
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.25.0"
274
  },
275
  "funding": [
276
  {
44
  },
45
  {
46
  "name": "giggsey/libphonenumber-for-php",
47
+ "version": "8.12.50",
48
+ "version_normalized": "8.12.50.0",
49
  "source": {
50
  "type": "git",
51
  "url": "https://github.com/giggsey/libphonenumber-for-php.git",
52
+ "reference": "526c4b7f6d5e173770d8645e76340d7eb25dc348"
53
  },
54
  "dist": {
55
  "type": "zip",
56
+ "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/526c4b7f6d5e173770d8645e76340d7eb25dc348",
57
+ "reference": "526c4b7f6d5e173770d8645e76340d7eb25dc348",
58
  "shasum": ""
59
  },
60
  "require": {
71
  "symfony/console": "^2.8|^3.0|^v4.4|^v5.2",
72
  "symfony/phpunit-bridge": "^4.2 || ^5"
73
  },
74
+ "time": "2022-06-09T14:55:00+00:00",
75
  "type": "library",
76
  "extra": {
77
  "branch-alias": {
204
  },
205
  {
206
  "name": "symfony/polyfill-iconv",
207
+ "version": "v1.26.0",
208
+ "version_normalized": "1.26.0.0",
209
  "source": {
210
  "type": "git",
211
  "url": "https://github.com/symfony/polyfill-iconv.git",
212
+ "reference": "143f1881e655bebca1312722af8068de235ae5dc"
213
  },
214
  "dist": {
215
  "type": "zip",
216
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/143f1881e655bebca1312722af8068de235ae5dc",
217
+ "reference": "143f1881e655bebca1312722af8068de235ae5dc",
218
  "shasum": ""
219
  },
220
  "require": {
226
  "suggest": {
227
  "ext-iconv": "For best performance"
228
  },
229
+ "time": "2022-05-24T11:49:31+00:00",
230
  "type": "library",
231
  "extra": {
232
  "branch-alias": {
233
+ "dev-main": "1.26-dev"
234
  },
235
  "thanks": {
236
  "name": "symfony/polyfill",
270
  "shim"
271
  ],
272
  "support": {
273
+ "source": "https://github.com/symfony/polyfill-iconv/tree/v1.26.0"
274
  },
275
  "funding": [
276
  {
vendor/composer/installed.php CHANGED
@@ -1,76 +1,76 @@
1
  <?php return array(
2
  'root' => array(
 
3
  'pretty_version' => 'dev-master',
4
  'version' => 'dev-master',
 
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '72a02dc157f7a329bb1c68f84eaa6d78aa5693a3',
9
- 'name' => 'sweetcode/pixel-manager-for-woocommerce',
10
  'dev' => true,
11
  ),
12
  'versions' => array(
13
  'freemius/wordpress-sdk' => array(
14
  'pretty_version' => '2.4.3',
15
  'version' => '2.4.3.0',
 
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../freemius/wordpress-sdk',
18
  'aliases' => array(),
19
- 'reference' => 'd2c3e1c27792f34123f928ea9fa73be56c337d13',
20
  'dev_requirement' => false,
21
  ),
22
  'giggsey/libphonenumber-for-php' => array(
23
- 'pretty_version' => '8.12.48',
24
- 'version' => '8.12.48.0',
 
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../giggsey/libphonenumber-for-php',
27
  'aliases' => array(),
28
- 'reference' => '52c0142b39e4eec7f56e3fa8993a47aa84c3ee1f',
29
  'dev_requirement' => false,
30
  ),
31
  'giggsey/locale' => array(
32
  'pretty_version' => '2.2',
33
  'version' => '2.2.0.0',
 
34
  'type' => 'library',
35
  'install_path' => __DIR__ . '/../giggsey/locale',
36
  'aliases' => array(),
37
- 'reference' => '9c1dca769253f6a3e81f9a5c167f53b6a54ab635',
38
  'dev_requirement' => false,
39
  ),
40
  'sweetcode-com/wp-flush' => array(
41
  'pretty_version' => 'dev-main',
42
  'version' => 'dev-main',
 
43
  'type' => 'library',
44
  'install_path' => __DIR__ . '/../sweetcode-com/wp-flush',
45
  'aliases' => array(),
46
- 'reference' => '6770d6b0ca9ce1b0053ecf0e13be408ad0b2ff55',
47
  'dev_requirement' => false,
48
  ),
49
  'sweetcode/pixel-manager-for-woocommerce' => array(
50
  'pretty_version' => 'dev-master',
51
  'version' => 'dev-master',
 
52
  'type' => 'wordpress-plugin',
53
  'install_path' => __DIR__ . '/../../',
54
  'aliases' => array(),
55
- 'reference' => '72a02dc157f7a329bb1c68f84eaa6d78aa5693a3',
56
  'dev_requirement' => false,
57
  ),
58
  'symfony/polyfill-iconv' => array(
59
- 'pretty_version' => 'v1.25.0',
60
- 'version' => '1.25.0.0',
 
61
  'type' => 'library',
62
  'install_path' => __DIR__ . '/../symfony/polyfill-iconv',
63
  'aliases' => array(),
64
- 'reference' => 'f1aed619e28cb077fc83fac8c4c0383578356e40',
65
  'dev_requirement' => false,
66
  ),
67
  'symfony/polyfill-mbstring' => array(
68
  'pretty_version' => 'v1.20.0',
69
  'version' => '1.20.0.0',
 
70
  'type' => 'library',
71
  'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
72
  'aliases' => array(),
73
- 'reference' => '39d483bdf39be819deabf04ec872eb0b2410b531',
74
  'dev_requirement' => false,
75
  ),
76
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'name' => 'sweetcode/pixel-manager-for-woocommerce',
4
  'pretty_version' => 'dev-master',
5
  'version' => 'dev-master',
6
+ 'reference' => '3759144d55c6e42b373eec0827bcd4c894119548',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
 
 
10
  'dev' => true,
11
  ),
12
  'versions' => array(
13
  'freemius/wordpress-sdk' => array(
14
  'pretty_version' => '2.4.3',
15
  'version' => '2.4.3.0',
16
+ 'reference' => 'd2c3e1c27792f34123f928ea9fa73be56c337d13',
17
  'type' => 'library',
18
  'install_path' => __DIR__ . '/../freemius/wordpress-sdk',
19
  'aliases' => array(),
 
20
  'dev_requirement' => false,
21
  ),
22
  'giggsey/libphonenumber-for-php' => array(
23
+ 'pretty_version' => '8.12.50',
24
+ 'version' => '8.12.50.0',
25
+ 'reference' => '526c4b7f6d5e173770d8645e76340d7eb25dc348',
26
  'type' => 'library',
27
  'install_path' => __DIR__ . '/../giggsey/libphonenumber-for-php',
28
  'aliases' => array(),
 
29
  'dev_requirement' => false,
30
  ),
31
  'giggsey/locale' => array(
32
  'pretty_version' => '2.2',
33
  'version' => '2.2.0.0',
34
+ 'reference' => '9c1dca769253f6a3e81f9a5c167f53b6a54ab635',
35
  'type' => 'library',
36
  'install_path' => __DIR__ . '/../giggsey/locale',
37
  'aliases' => array(),
 
38
  'dev_requirement' => false,
39
  ),
40
  'sweetcode-com/wp-flush' => array(
41
  'pretty_version' => 'dev-main',
42
  'version' => 'dev-main',
43
+ 'reference' => '6770d6b0ca9ce1b0053ecf0e13be408ad0b2ff55',
44
  'type' => 'library',
45
  'install_path' => __DIR__ . '/../sweetcode-com/wp-flush',
46
  'aliases' => array(),
 
47
  'dev_requirement' => false,
48
  ),
49
  'sweetcode/pixel-manager-for-woocommerce' => array(
50
  'pretty_version' => 'dev-master',
51
  'version' => 'dev-master',
52
+ 'reference' => '3759144d55c6e42b373eec0827bcd4c894119548',
53
  'type' => 'wordpress-plugin',
54
  'install_path' => __DIR__ . '/../../',
55
  'aliases' => array(),
 
56
  'dev_requirement' => false,
57
  ),
58
  'symfony/polyfill-iconv' => array(
59
+ 'pretty_version' => 'v1.26.0',
60
+ 'version' => '1.26.0.0',
61
+ 'reference' => '143f1881e655bebca1312722af8068de235ae5dc',
62
  'type' => 'library',
63
  'install_path' => __DIR__ . '/../symfony/polyfill-iconv',
64
  'aliases' => array(),
 
65
  'dev_requirement' => false,
66
  ),
67
  'symfony/polyfill-mbstring' => array(
68
  'pretty_version' => 'v1.20.0',
69
  'version' => '1.20.0.0',
70
+ 'reference' => '39d483bdf39be819deabf04ec872eb0b2410b531',
71
  'type' => 'library',
72
  'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
73
  'aliases' => array(),
 
74
  'dev_requirement' => false,
75
  ),
76
  ),
vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt CHANGED
@@ -2,4 +2,4 @@
2
  # It can be a commit, branch or tag of the https://github.com/google/libphonenumber project
3
  #
4
  # For more information, look at the phing tasks in build.xml
5
- v8.12.48
2
  # It can be a commit, branch or tag of the https://github.com/google/libphonenumber project
3
  #
4
  # For more information, look at the phing tasks in build.xml
5
+ v8.12.50
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php CHANGED
@@ -84,6 +84,7 @@ return array (
84
  212699 => 'Inwi',
85
  21270 => 'Inwi',
86
  21271 => 'Inwi',
 
87
  21276 => 'Maroc Telecom',
88
  21277 => 'Méditel',
89
  );
84
  212699 => 'Inwi',
85
  21270 => 'Inwi',
86
  21271 => 'Inwi',
87
+ 21272 => 'Inwi',
88
  21276 => 'Maroc Telecom',
89
  21277 => 'Méditel',
90
  );
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/237.php CHANGED
@@ -11,6 +11,7 @@
11
  */
12
 
13
  return array (
 
14
  237650 => 'MTN Cameroon',
15
  237651 => 'MTN Cameroon',
16
  237652 => 'MTN Cameroon',
11
  */
12
 
13
  return array (
14
+ 23762 => 'Camtel',
15
  237650 => 'MTN Cameroon',
16
  237651 => 'MTN Cameroon',
17
  237652 => 'MTN Cameroon',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/380.php CHANGED
@@ -11,6 +11,7 @@
11
  */
12
 
13
  return array (
 
14
  38050 => 'Vodafone',
15
  38063 => 'lifecell',
16
  38066 => 'Vodafone',
11
  */
12
 
13
  return array (
14
+ 38039 => 'Kyivstar',
15
  38050 => 'Vodafone',
16
  38063 => 'lifecell',
17
  38066 => 'Vodafone',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php CHANGED
@@ -17,7 +17,8 @@ return array (
17
  38595 => 'Tele2',
18
  385970 => 'Hrvatski Telekom',
19
  3859751 => 'Telefocus',
20
- 3859759 => 'Altavox',
 
21
  385976 => 'Hrvatski Telekom',
22
  385977 => 'Hrvatski Telekom',
23
  385979 => 'Hrvatski Telekom',
17
  38595 => 'Tele2',
18
  385970 => 'Hrvatski Telekom',
19
  3859751 => 'Telefocus',
20
+ 38597596 => 'Altavox',
21
+ 38597597 => 'INNOVAC',
22
  385976 => 'Hrvatski Telekom',
23
  385977 => 'Hrvatski Telekom',
24
  385979 => 'Hrvatski Telekom',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/420.php CHANGED
@@ -29,6 +29,7 @@ return array (
29
  4207036 => 'T-Mobile',
30
  42070370 => 'FAYN Telecommunications',
31
  42070373 => 'COMA',
 
32
  4207038 => 'T-Mobile',
33
  4207039 => 'T-Mobile',
34
  4207040 => 'SAZKA sazkova kancelar, a.s',
@@ -92,14 +93,12 @@ return array (
92
  42077072 => 'Cesky bezdrat',
93
  42077073 => 'T-Mobile',
94
  42077077 => 'T-Mobile',
95
- 42077080 => 'Vodafone',
96
- 42077081 => 'Vodafone',
97
- 42077082 => 'Vodafone',
98
- 42077083 => 'Vodafone',
99
- 42077084 => 'Vodafone',
100
  42077100 => 'TT Quality s.r.o.',
101
  42077111 => 'miniTEL',
102
  42077177 => 'MONTYHO TECHNOLOGY s.r.o. (CANISTEC)',
 
103
  42077200 => 'TT Quality s.r.o.',
104
  42077272 => 'IPEX',
105
  42077273 => 'IPEX',
29
  4207036 => 'T-Mobile',
30
  42070370 => 'FAYN Telecommunications',
31
  42070373 => 'COMA',
32
+ 42070376 => 'BSG',
33
  4207038 => 'T-Mobile',
34
  4207039 => 'T-Mobile',
35
  4207040 => 'SAZKA sazkova kancelar, a.s',
93
  42077072 => 'Cesky bezdrat',
94
  42077073 => 'T-Mobile',
95
  42077077 => 'T-Mobile',
96
+ 4207708 => 'Vodafone',
97
+ 4207709 => 'Vodafone',
 
 
 
98
  42077100 => 'TT Quality s.r.o.',
99
  42077111 => 'miniTEL',
100
  42077177 => 'MONTYHO TECHNOLOGY s.r.o. (CANISTEC)',
101
+ 4207718 => 'Vodafone',
102
  42077200 => 'TT Quality s.r.o.',
103
  42077272 => 'IPEX',
104
  42077273 => 'IPEX',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php CHANGED
@@ -23,6 +23,11 @@ return array (
23
  447340 => 'Vodafone',
24
  447341 => 'Vodafone',
25
  447342 => 'Vodafone',
 
 
 
 
 
26
  447365 => 'Three',
27
  447366 => 'Three',
28
  447367 => 'Three',
23
  447340 => 'Vodafone',
24
  447341 => 'Vodafone',
25
  447342 => 'Vodafone',
26
+ 447360 => 'Three',
27
+ 447361 => 'Three',
28
+ 447362 => 'Three',
29
+ 447363 => 'Three',
30
+ 447364 => 'Three',
31
  447365 => 'Three',
32
  447366 => 'Three',
33
  447367 => 'Three',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/675.php CHANGED
@@ -17,5 +17,6 @@ return array (
17
  67577 => 'bmobile',
18
  67578 => 'bmobile',
19
  67581 => 'DIGIVOIP',
 
20
  67588 => 'Digicel',
21
  );
17
  67577 => 'bmobile',
18
  67578 => 'bmobile',
19
  67581 => 'DIGIVOIP',
20
+ 67582 => 'Digicel',
21
  67588 => 'Digicel',
22
  );
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php CHANGED
@@ -11,7 +11,8 @@
11
  */
12
 
13
  return array (
14
- 85244 => 'China Mobile',
 
15
  852460 => 'China Unicom',
16
  8524607 => 'Multibyte',
17
  8524610 => 'Sun Mobile',
@@ -339,6 +340,7 @@ return array (
339
  852956 => 'China Unicom',
340
  852957 => '3',
341
  852958 => 'China Mobile',
 
342
  852960 => 'China Mobile',
343
  852961 => 'HKT',
344
  852962 => 'HKT',
11
  */
12
 
13
  return array (
14
+ 852440 => 'China Mobile',
15
+ 852444 => 'HKT',
16
  852460 => 'China Unicom',
17
  8524607 => 'Multibyte',
18
  8524610 => 'Sun Mobile',
340
  852956 => 'China Unicom',
341
  852957 => '3',
342
  852958 => 'China Mobile',
343
+ 852959 => 'HKT',
344
  852960 => 'China Mobile',
345
  852961 => 'HKT',
346
  852962 => 'HKT',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php CHANGED
@@ -24,6 +24,7 @@ return array (
24
  98996 => 'IR-MCI',
25
  989981 => 'Shatel Mobile',
26
  9899900 => 'LOTUSTEL',
 
27
  989991 => 'Irancell',
28
  989998 => 'Rightel',
29
  9899996 => 'Rightel',
24
  98996 => 'IR-MCI',
25
  989981 => 'Shatel Mobile',
26
  9899900 => 'LOTUSTEL',
27
+ 9899902 => 'IR-MCI',
28
  989991 => 'Irancell',
29
  989998 => 'Rightel',
30
  9899996 => 'Rightel',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php CHANGED
@@ -24,6 +24,7 @@ return array (
24
  98996 => 'همراه اول',
25
  989981 => 'شاتل موبایل',
26
  9899900 => 'لوتوس‌تل',
 
27
  989991 => 'ایرانسل',
28
  989998 => 'رایتل',
29
  9899996 => 'رایتل',
24
  98996 => 'همراه اول',
25
  989981 => 'شاتل موبایل',
26
  9899900 => 'لوتوس‌تل',
27
+ 9899902 => 'همراه اول',
28
  989991 => 'ایرانسل',
29
  989998 => 'رایتل',
30
  9899996 => 'رایتل',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/uk/380.php CHANGED
@@ -11,6 +11,7 @@
11
  */
12
 
13
  return array (
 
14
  38050 => 'Vodafone Україна',
15
  38066 => 'Vodafone Україна',
16
  38067 => 'Київстар',
11
  */
12
 
13
  return array (
14
+ 38039 => 'Київстар',
15
  38050 => 'Vodafone Україна',
16
  38066 => 'Vodafone Україна',
17
  38067 => 'Київстар',
vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php CHANGED
@@ -11,7 +11,8 @@
11
  */
12
 
13
  return array (
14
- 85244 => '中国移动',
 
15
  852460 => '中国联通',
16
  8524607 => '',
17
  8524610 => '新移动通讯',
@@ -287,6 +288,7 @@ return array (
287
  852955 => '香港移动通讯',
288
  852956 => '中国联通',
289
  852958 => '中国移动',
 
290
  852960 => '中国移动',
291
  852961 => '香港移动通讯',
292
  852962 => '香港移动通讯',
11
  */
12
 
13
  return array (
14
+ 852440 => '中国移动',
15
+ 852444 => '香港移动通讯',
16
  852460 => '中国联通',
17
  8524607 => '',
18
  8524610 => '新移动通讯',
288
  852955 => '香港移动通讯',
289
  852956 => '中国联通',
290
  852958 => '中国移动',
291
+ 852959 => '香港移动通讯',
292
  852960 => '中国移动',
293
  852961 => '香港移动通讯',
294
  852962 => '香港移动通讯',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberAlternateFormats_380.php CHANGED
@@ -24,7 +24,7 @@ return array (
24
  'format' => '$1 $2 $3 $4',
25
  'leadingDigitsPatterns' =>
26
  array (
27
- 0 => '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]',
28
  ),
29
  'nationalPrefixFormattingRule' => '',
30
  'domesticCarrierCodeFormattingRule' => '',
@@ -36,7 +36,7 @@ return array (
36
  'format' => '$1 $2 $3 $4',
37
  'leadingDigitsPatterns' =>
38
  array (
39
- 0 => '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]',
40
  ),
41
  'nationalPrefixFormattingRule' => '',
42
  'domesticCarrierCodeFormattingRule' => '',
24
  'format' => '$1 $2 $3 $4',
25
  'leadingDigitsPatterns' =>
26
  array (
27
+ 0 => '[38]9|4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|9[1-9]|(?:48|57)[0137-9]',
28
  ),
29
  'nationalPrefixFormattingRule' => '',
30
  'domesticCarrierCodeFormattingRule' => '',
36
  'format' => '$1 $2 $3 $4',
37
  'leadingDigitsPatterns' =>
38
  array (
39
+ 0 => '[38]9|4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|9[1-9]|(?:48|57)[0137-9]',
40
  ),
41
  'nationalPrefixFormattingRule' => '',
42
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberAlternateFormats_49.php CHANGED
@@ -24,7 +24,7 @@ return array (
24
  'format' => '$1 $2 $3',
25
  'leadingDigitsPatterns' =>
26
  array (
27
- 0 => '[34]0|[68]9',
28
  ),
29
  'nationalPrefixFormattingRule' => '',
30
  'domesticCarrierCodeFormattingRule' => '',
@@ -48,7 +48,7 @@ return array (
48
  'format' => '$1 $2 $3',
49
  'leadingDigitsPatterns' =>
50
  array (
51
- 0 => '[34]0|[68]9',
52
  ),
53
  'nationalPrefixFormattingRule' => '',
54
  'domesticCarrierCodeFormattingRule' => '',
@@ -60,7 +60,7 @@ return array (
60
  'format' => '$1 $2 $3 $4',
61
  'leadingDigitsPatterns' =>
62
  array (
63
- 0 => '[34]0|[68]9',
64
  ),
65
  'nationalPrefixFormattingRule' => '',
66
  'domesticCarrierCodeFormattingRule' => '',
24
  'format' => '$1 $2 $3',
25
  'leadingDigitsPatterns' =>
26
  array (
27
+ 0 => '3[02]|40|[68]9',
28
  ),
29
  'nationalPrefixFormattingRule' => '',
30
  'domesticCarrierCodeFormattingRule' => '',
48
  'format' => '$1 $2 $3',
49
  'leadingDigitsPatterns' =>
50
  array (
51
+ 0 => '3[02]|40|[68]9',
52
  ),
53
  'nationalPrefixFormattingRule' => '',
54
  'domesticCarrierCodeFormattingRule' => '',
60
  'format' => '$1 $2 $3 $4',
61
  'leadingDigitsPatterns' =>
62
  array (
63
+ 0 => '3[02]|40|[68]9',
64
  ),
65
  'nationalPrefixFormattingRule' => '',
66
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php CHANGED
@@ -29,7 +29,7 @@ return array (
29
  ),
30
  'fixedLine' =>
31
  array (
32
- 'NationalNumberPattern' => '3888[013-9]\\d{5}|(?:29(?:54|66)|3(?:777|865))[2-8]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}',
33
  'ExampleNumber' => '1123456789',
34
  'PossibleLength' =>
35
  array (
@@ -44,7 +44,7 @@ return array (
44
  ),
45
  'mobile' =>
46
  array (
47
- 'NationalNumberPattern' => '93888[013-9]\\d{5}|9(?:29(?:54|66)|3(?:777|865))[2-8]\\d{5}|93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}',
48
  'ExampleNumber' => '91123456789',
49
  'PossibleLength' =>
50
  array (
@@ -191,7 +191,7 @@ return array (
191
  'format' => '$1-$2',
192
  'leadingDigitsPatterns' =>
193
  array (
194
- 0 => '[2-8]',
195
  ),
196
  'nationalPrefixFormattingRule' => '',
197
  'domesticCarrierCodeFormattingRule' => '',
29
  ),
30
  'fixedLine' =>
31
  array (
32
+ 'NationalNumberPattern' => '3888[013-9]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}',
33
  'ExampleNumber' => '1123456789',
34
  'PossibleLength' =>
35
  array (
44
  ),
45
  'mobile' =>
46
  array (
47
+ 'NationalNumberPattern' => '93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\d{5}|9(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}',
48
  'ExampleNumber' => '91123456789',
49
  'PossibleLength' =>
50
  array (
191
  'format' => '$1-$2',
192
  'leadingDigitsPatterns' =>
193
  array (
194
+ 0 => '[2-9]',
195
  ),
196
  'nationalPrefixFormattingRule' => '',
197
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php CHANGED
@@ -14,14 +14,14 @@
14
  return array (
15
  'generalDesc' =>
16
  array (
17
- 'NationalNumberPattern' => '(?:[2-8]\\d|90)\\d{8}',
18
  'PossibleLength' =>
19
  array (
20
- 0 => 10,
 
21
  ),
22
  'PossibleLengthLocalOnly' =>
23
  array (
24
- 0 => 7,
25
  ),
26
  ),
27
  'fixedLine' =>
@@ -30,6 +30,7 @@ return array (
30
  'ExampleNumber' => '5062345678',
31
  'PossibleLength' =>
32
  array (
 
33
  ),
34
  'PossibleLengthLocalOnly' =>
35
  array (
@@ -42,6 +43,7 @@ return array (
42
  'ExampleNumber' => '5062345678',
43
  'PossibleLength' =>
44
  array (
 
45
  ),
46
  'PossibleLengthLocalOnly' =>
47
  array (
@@ -54,6 +56,7 @@ return array (
54
  'ExampleNumber' => '8002123456',
55
  'PossibleLength' =>
56
  array (
 
57
  ),
58
  'PossibleLengthLocalOnly' =>
59
  array (
@@ -65,6 +68,7 @@ return array (
65
  'ExampleNumber' => '9002123456',
66
  'PossibleLength' =>
67
  array (
 
68
  ),
69
  'PossibleLengthLocalOnly' =>
70
  array (
@@ -86,6 +90,7 @@ return array (
86
  'ExampleNumber' => '5002345678',
87
  'PossibleLength' =>
88
  array (
 
89
  ),
90
  'PossibleLengthLocalOnly' =>
91
  array (
@@ -97,6 +102,7 @@ return array (
97
  'ExampleNumber' => '6002012345',
98
  'PossibleLength' =>
99
  array (
 
100
  ),
101
  'PossibleLengthLocalOnly' =>
102
  array (
@@ -114,9 +120,11 @@ return array (
114
  ),
115
  'uan' =>
116
  array (
 
 
117
  'PossibleLength' =>
118
  array (
119
- 0 => -1,
120
  ),
121
  'PossibleLengthLocalOnly' =>
122
  array (
14
  return array (
15
  'generalDesc' =>
16
  array (
17
+ 'NationalNumberPattern' => '(?:[2-8]\\d|90)\\d{8}|3\\d{6}',
18
  'PossibleLength' =>
19
  array (
20
+ 0 => 7,
21
+ 1 => 10,
22
  ),
23
  'PossibleLengthLocalOnly' =>
24
  array (
 
25
  ),
26
  ),
27
  'fixedLine' =>
30
  'ExampleNumber' => '5062345678',
31
  'PossibleLength' =>
32
  array (
33
+ 0 => 10,
34
  ),
35
  'PossibleLengthLocalOnly' =>
36
  array (
43
  'ExampleNumber' => '5062345678',
44
  'PossibleLength' =>
45
  array (
46
+ 0 => 10,
47
  ),
48
  'PossibleLengthLocalOnly' =>
49
  array (
56
  'ExampleNumber' => '8002123456',
57
  'PossibleLength' =>
58
  array (
59
+ 0 => 10,
60
  ),
61
  'PossibleLengthLocalOnly' =>
62
  array (
68
  'ExampleNumber' => '9002123456',
69
  'PossibleLength' =>
70
  array (
71
+ 0 => 10,
72
  ),
73
  'PossibleLengthLocalOnly' =>
74
  array (
90
  'ExampleNumber' => '5002345678',
91
  'PossibleLength' =>
92
  array (
93
+ 0 => 10,
94
  ),
95
  'PossibleLengthLocalOnly' =>
96
  array (
102
  'ExampleNumber' => '6002012345',
103
  'PossibleLength' =>
104
  array (
105
+ 0 => 10,
106
  ),
107
  'PossibleLengthLocalOnly' =>
108
  array (
120
  ),
121
  'uan' =>
122
  array (
123
+ 'NationalNumberPattern' => '310\\d{4}',
124
+ 'ExampleNumber' => '3101234',
125
  'PossibleLength' =>
126
  array (
127
+ 0 => 7,
128
  ),
129
  'PossibleLengthLocalOnly' =>
130
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php CHANGED
@@ -27,7 +27,7 @@ return array (
27
  ),
28
  'fixedLine' =>
29
  array (
30
- 'NationalNumberPattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600)|6469)|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}',
31
  'ExampleNumber' => '221234567',
32
  'PossibleLength' =>
33
  array (
@@ -39,7 +39,7 @@ return array (
39
  ),
40
  'mobile' =>
41
  array (
42
- 'NationalNumberPattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600)|6469)|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}',
43
  'ExampleNumber' => '221234567',
44
  'PossibleLength' =>
45
  array (
27
  ),
28
  'fixedLine' =>
29
  array (
30
+ 'NationalNumberPattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}',
31
  'ExampleNumber' => '221234567',
32
  'PossibleLength' =>
33
  array (
39
  ),
40
  'mobile' =>
41
  array (
42
+ 'NationalNumberPattern' => '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}',
43
  'ExampleNumber' => '221234567',
44
  'PossibleLength' =>
45
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php CHANGED
@@ -38,7 +38,7 @@ return array (
38
  ),
39
  'mobile' =>
40
  array (
41
- 'NationalNumberPattern' => '(?:24[23]|6[5-9]\\d)\\d{6}',
42
  'ExampleNumber' => '671234567',
43
  'PossibleLength' =>
44
  array (
38
  ),
39
  'mobile' =>
40
  array (
41
+ 'NationalNumberPattern' => '(?:24[23]|6[25-9]\\d)\\d{6}',
42
  'ExampleNumber' => '671234567',
43
  'PossibleLength' =>
44
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php CHANGED
@@ -38,7 +38,7 @@ return array (
38
  ),
39
  'fixedLine' =>
40
  array (
41
- 'NationalNumberPattern' => '32\\d{9,11}|49[2-6]\\d{10}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}',
42
  'ExampleNumber' => '30123456',
43
  'PossibleLength' =>
44
  array (
38
  ),
39
  'fixedLine' =>
40
  array (
41
+ 'NationalNumberPattern' => '32\\d{9,11}|49[2-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}',
42
  'ExampleNumber' => '30123456',
43
  'PossibleLength' =>
44
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EH.php CHANGED
@@ -36,7 +36,7 @@ return array (
36
  ),
37
  'mobile' =>
38
  array (
39
- 'NationalNumberPattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|6[0-367]))\\d{6}',
40
  'ExampleNumber' => '650123456',
41
  'PossibleLength' =>
42
  array (
36
  ),
37
  'mobile' =>
38
  array (
39
+ 'NationalNumberPattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-367]))\\d{6}',
40
  'ExampleNumber' => '650123456',
41
  'PossibleLength' =>
42
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php CHANGED
@@ -31,7 +31,7 @@ return array (
31
  ),
32
  'fixedLine' =>
33
  array (
34
- 'NationalNumberPattern' => '(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0359])|(?:5[0-26-9]|[78][0-49])\\d\\d|6(?:[0-4]\\d\\d|50[0-24-69]))|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|8(?:[02]\\d|1[0-27-9])))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}',
35
  'ExampleNumber' => '1212345678',
36
  'PossibleLength' =>
37
  array (
31
  ),
32
  'fixedLine' =>
33
  array (
34
+ 'NationalNumberPattern' => '(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[01359])|(?:5[0-26-9]|[78][0-49])\\d\\d|6(?:[0-4]\\d\\d|50[0-79]))|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d\\d|1(?:[0-7]\\d\\d|8(?:[02]\\d|1[0-26-9])))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}',
35
  'ExampleNumber' => '1212345678',
36
  'PossibleLength' =>
37
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php CHANGED
@@ -42,7 +42,7 @@ return array (
42
  ),
43
  'mobile' =>
44
  array (
45
- 'NationalNumberPattern' => '(?:46(?:0[0-7]|1[0-6]|4[0-57-9]|6[0-4]|7[0-8])|573[0-6]|6(?:26[013-8]|66[0-3])|70(?:7[1-5]|8[0-4])|848[015-9]|929[013-9])\\d{4}|(?:4(?:40|6[2358])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-24679])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}',
46
  'ExampleNumber' => '51234567',
47
  'PossibleLength' =>
48
  array (
42
  ),
43
  'mobile' =>
44
  array (
45
+ 'NationalNumberPattern' => '(?:4(?:44[5-9]|6(?:0[0-7]|1[0-6]|4[0-57-9]|6[0-4]|7[0-8]))|573[0-6]|6(?:26[013-8]|66[0-3])|70(?:7[1-5]|8[0-4])|848[015-9]|9(?:29[013-9]|59[0-4]))\\d{4}|(?:4(?:40|6[2358])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-24679])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}',
46
  'ExampleNumber' => '51234567',
47
  'PossibleLength' =>
48
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php CHANGED
@@ -43,7 +43,7 @@ return array (
43
  ),
44
  'mobile' =>
45
  array (
46
- 'NationalNumberPattern' => '98\\d{6,7}|975(?:1\\d|96)\\d{4}|9(?:0[1-9]|[1259]\\d|7[0679])\\d{6}',
47
  'ExampleNumber' => '921234567',
48
  'PossibleLength' =>
49
  array (
43
  ),
44
  'mobile' =>
45
  array (
46
+ 'NationalNumberPattern' => '98\\d{6,7}|975(?:1\\d|9[67])\\d{4}|9(?:0[1-9]|[1259]\\d|7[0679])\\d{6}',
47
  'ExampleNumber' => '921234567',
48
  'PossibleLength' =>
49
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php CHANGED
@@ -105,7 +105,7 @@ return array (
105
  ),
106
  'voip' =>
107
  array (
108
- 'NationalNumberPattern' => '7(?:380|8(?:33|55|77|81))\\d{5}|7(?:18|2[23]|3[237]|47|6[58]|7\\d|82|9[235-9])\\d{6}',
109
  'ExampleNumber' => '771234567',
110
  'PossibleLength' =>
111
  array (
105
  ),
106
  'voip' =>
107
  array (
108
+ 'NationalNumberPattern' => '7(?:380|8(?:33|55|77|81))\\d{5}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}',
109
  'ExampleNumber' => '771234567',
110
  'PossibleLength' =>
111
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php CHANGED
@@ -47,7 +47,7 @@ return array (
47
  ),
48
  'mobile' =>
49
  array (
50
- 'NationalNumberPattern' => '9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:1\\d|88)|9(?:0[013]|[19]\\d|21|77|8[7-9])))\\d{5}',
51
  'ExampleNumber' => '9123456789',
52
  'PossibleLength' =>
53
  array (
47
  ),
48
  'mobile' =>
49
  array (
50
+ 'NationalNumberPattern' => '9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:1\\d|88)|9(?:0[0-3]|[19]\\d|21|77|8[7-9])))\\d{5}',
51
  'ExampleNumber' => '9123456789',
52
  'PossibleLength' =>
53
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php CHANGED
@@ -14,7 +14,7 @@
14
  return array (
15
  'generalDesc' =>
16
  array (
17
- 'NationalNumberPattern' => '0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|55\\d{8}|8\\d{5}(?:\\d{2,4})?',
18
  'PossibleLength' =>
19
  array (
20
  0 => 6,
@@ -267,7 +267,7 @@ return array (
267
  'format' => '$1 $2 $3',
268
  'leadingDigitsPatterns' =>
269
  array (
270
- 0 => '1(?:44|[679])|[38]',
271
  ),
272
  'nationalPrefixFormattingRule' => '',
273
  'domesticCarrierCodeFormattingRule' => '',
@@ -391,7 +391,7 @@ return array (
391
  'format' => '$1 $2 $3',
392
  'leadingDigitsPatterns' =>
393
  array (
394
- 0 => '1(?:44|[679])|[38]',
395
  ),
396
  'nationalPrefixFormattingRule' => '',
397
  'domesticCarrierCodeFormattingRule' => '',
14
  return array (
15
  'generalDesc' =>
16
  array (
17
+ 'NationalNumberPattern' => '0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?',
18
  'PossibleLength' =>
19
  array (
20
  0 => 6,
267
  'format' => '$1 $2 $3',
268
  'leadingDigitsPatterns' =>
269
  array (
270
+ 0 => '1(?:44|[679])|[378]',
271
  ),
272
  'nationalPrefixFormattingRule' => '',
273
  'domesticCarrierCodeFormattingRule' => '',
391
  'format' => '$1 $2 $3',
392
  'leadingDigitsPatterns' =>
393
  array (
394
+ 0 => '1(?:44|[679])|[378]',
395
  ),
396
  'nationalPrefixFormattingRule' => '',
397
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php CHANGED
@@ -38,7 +38,7 @@ return array (
38
  ),
39
  'mobile' =>
40
  array (
41
- 'NationalNumberPattern' => '(?:658295|876(?:2(?:0[2-9]|[14-9]\\d|2[013-9]|3[3-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}',
42
  'ExampleNumber' => '8762101234',
43
  'PossibleLength' =>
44
  array (
38
  ),
39
  'mobile' =>
40
  array (
41
+ 'NationalNumberPattern' => '(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}',
42
  'ExampleNumber' => '8762101234',
43
  'PossibleLength' =>
44
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php CHANGED
@@ -198,9 +198,9 @@ return array (
198
  'format' => '$1-$2-$3',
199
  'leadingDigitsPatterns' =>
200
  array (
201
- 0 => '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])',
202
- 1 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]',
203
- 2 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]',
204
  ),
205
  'nationalPrefixFormattingRule' => '0$1',
206
  'domesticCarrierCodeFormattingRule' => '',
@@ -376,9 +376,9 @@ return array (
376
  'format' => '$1-$2-$3',
377
  'leadingDigitsPatterns' =>
378
  array (
379
- 0 => '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:49|80|9[16])',
380
- 1 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]',
381
- 2 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:496|802|9(?:1[23]|69))|1(?:45|58)[67]',
382
  ),
383
  'nationalPrefixFormattingRule' => '0$1',
384
  'domesticCarrierCodeFormattingRule' => '',
198
  'format' => '$1-$2-$3',
199
  'leadingDigitsPatterns' =>
200
  array (
201
+ 0 => '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])',
202
+ 1 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]',
203
+ 2 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]',
204
  ),
205
  'nationalPrefixFormattingRule' => '0$1',
206
  'domesticCarrierCodeFormattingRule' => '',
376
  'format' => '$1-$2-$3',
377
  'leadingDigitsPatterns' =>
378
  array (
379
+ 0 => '1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])',
380
+ 1 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]',
381
+ 2 => '1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]',
382
  ),
383
  'nationalPrefixFormattingRule' => '0$1',
384
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php CHANGED
@@ -25,7 +25,7 @@ return array (
25
  ),
26
  'fixedLine' =>
27
  array (
28
- 'NationalNumberPattern' => '5(?:29(?:[189][05]|2[29]|3[01])|38(?:8[057]|9[05]))\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\d|5[02-9]|6[02-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}',
29
  'ExampleNumber' => '520123456',
30
  'PossibleLength' =>
31
  array (
@@ -36,7 +36,7 @@ return array (
36
  ),
37
  'mobile' =>
38
  array (
39
- 'NationalNumberPattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|6[0-367]))\\d{6}',
40
  'ExampleNumber' => '650123456',
41
  'PossibleLength' =>
42
  array (
@@ -153,8 +153,8 @@ return array (
153
  'leadingDigitsPatterns' =>
154
  array (
155
  0 => '5(?:29|38)',
156
- 1 => '5(?:29|38)[89]',
157
- 2 => '5(?:29|38)[89]0',
158
  ),
159
  'nationalPrefixFormattingRule' => '0$1',
160
  'domesticCarrierCodeFormattingRule' => '',
25
  ),
26
  'fixedLine' =>
27
  array (
28
+ 'NationalNumberPattern' => '5(?:29(?:[189][05]|2[29]|3[01])|389[05])\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[08]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}',
29
  'ExampleNumber' => '520123456',
30
  'PossibleLength' =>
31
  array (
36
  ),
37
  'mobile' =>
38
  array (
39
+ 'NationalNumberPattern' => '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-367]))\\d{6}',
40
  'ExampleNumber' => '650123456',
41
  'PossibleLength' =>
42
  array (
153
  'leadingDigitsPatterns' =>
154
  array (
155
  0 => '5(?:29|38)',
156
+ 1 => '5(?:29[89]|389)',
157
+ 2 => '5(?:29[89]|389)0',
158
  ),
159
  'nationalPrefixFormattingRule' => '0$1',
160
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php CHANGED
@@ -36,7 +36,7 @@ return array (
36
  ),
37
  'mobile' =>
38
  array (
39
- 'NationalNumberPattern' => '(?:(?:23|54)5|329|45[56])\\d{4}',
40
  'ExampleNumber' => '2351234',
41
  'PossibleLength' =>
42
  array (
36
  ),
37
  'mobile' =>
38
  array (
39
+ 'NationalNumberPattern' => '(?:(?:23|54)5|329|45[356])\\d{4}',
40
  'ExampleNumber' => '2351234',
41
  'PossibleLength' =>
42
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php CHANGED
@@ -114,7 +114,7 @@ return array (
114
  ),
115
  'uan' =>
116
  array (
117
- 'NationalNumberPattern' => '4[05]0\\d{4}',
118
  'ExampleNumber' => '4001234',
119
  'PossibleLength' =>
120
  array (
114
  ),
115
  'uan' =>
116
  array (
117
+ 'NationalNumberPattern' => '4(?:0[01]|50)\\d{4}',
118
  'ExampleNumber' => '4001234',
119
  'PossibleLength' =>
120
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php CHANGED
@@ -38,7 +38,7 @@ return array (
38
  ),
39
  'mobile' =>
40
  array (
41
- 'NationalNumberPattern' => '(?:7\\d|8[18])\\d{6}',
42
  'ExampleNumber' => '70123456',
43
  'PossibleLength' =>
44
  array (
38
  ),
39
  'mobile' =>
40
  array (
41
+ 'NationalNumberPattern' => '(?:7\\d|8[128])\\d{6}',
42
  'ExampleNumber' => '70123456',
43
  'PossibleLength' =>
44
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php CHANGED
@@ -26,7 +26,7 @@ return array (
26
  ),
27
  'fixedLine' =>
28
  array (
29
- 'NationalNumberPattern' => '868(?:2(?:0[13]|1[89]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}',
30
  'ExampleNumber' => '8682211234',
31
  'PossibleLength' =>
32
  array (
26
  ),
27
  'fixedLine' =>
28
  array (
29
+ 'NationalNumberPattern' => '868(?:2(?:0[13]|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}',
30
  'ExampleNumber' => '8682211234',
31
  'PossibleLength' =>
32
  array (
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php CHANGED
@@ -44,7 +44,7 @@ return array (
44
  ),
45
  'mobile' =>
46
  array (
47
- 'NationalNumberPattern' => '(?:50|6[36-8]|7[1-3]|9[1-9])\\d{7}',
48
  'ExampleNumber' => '501234567',
49
  'PossibleLength' =>
50
  array (
@@ -172,12 +172,12 @@ return array (
172
  ),
173
  1 =>
174
  array (
175
- 'pattern' => '(\\d{2})(\\d{3})(\\d{4})',
176
- 'format' => '$1 $2 $3',
177
  'leadingDigitsPatterns' =>
178
  array (
179
- 0 => '4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]',
180
- 1 => '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]',
181
  ),
182
  'nationalPrefixFormattingRule' => '0$1',
183
  'domesticCarrierCodeFormattingRule' => '',
@@ -185,11 +185,11 @@ return array (
185
  ),
186
  2 =>
187
  array (
188
- 'pattern' => '(\\d{4})(\\d{5})',
189
- 'format' => '$1 $2',
190
  'leadingDigitsPatterns' =>
191
  array (
192
- 0 => '[3-6]',
193
  ),
194
  'nationalPrefixFormattingRule' => '0$1',
195
  'domesticCarrierCodeFormattingRule' => '',
44
  ),
45
  'mobile' =>
46
  array (
47
+ 'NationalNumberPattern' => '(?:39|50|6[36-8]|7[1-3]|9[1-9])\\d{7}',
48
  'ExampleNumber' => '501234567',
49
  'PossibleLength' =>
50
  array (
172
  ),
173
  1 =>
174
  array (
175
+ 'pattern' => '(\\d{4})(\\d{5})',
176
+ 'format' => '$1 $2',
177
  'leadingDigitsPatterns' =>
178
  array (
179
+ 0 => '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])',
180
+ 1 => '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])',
181
  ),
182
  'nationalPrefixFormattingRule' => '0$1',
183
  'domesticCarrierCodeFormattingRule' => '',
185
  ),
186
  2 =>
187
  array (
188
+ 'pattern' => '(\\d{2})(\\d{3})(\\d{4})',
189
+ 'format' => '$1 $2 $3',
190
  'leadingDigitsPatterns' =>
191
  array (
192
+ 0 => '[3-7]|89|9[1-9]',
193
  ),
194
  'nationalPrefixFormattingRule' => '0$1',
195
  'domesticCarrierCodeFormattingRule' => '',
vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php CHANGED
@@ -14,7 +14,7 @@
14
  return array (
15
  'generalDesc' =>
16
  array (
17
- 'NationalNumberPattern' => '[2-9]\\d{9}',
18
  'PossibleLength' =>
19
  array (
20
  0 => 10,
@@ -26,7 +26,7 @@ return array (
26
  ),
27
  'fixedLine' =>
28
  array (
29
- 'NationalNumberPattern' => '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0157-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}',
30
  'ExampleNumber' => '2015550123',
31
  'PossibleLength' =>
32
  array (
@@ -38,7 +38,7 @@ return array (
38
  ),
39
  'mobile' =>
40
  array (
41
- 'NationalNumberPattern' => '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0157-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}',
42
  'ExampleNumber' => '2015550123',
43
  'PossibleLength' =>
44
  array (
@@ -155,13 +155,25 @@ return array (
155
  'format' => '$1-$2',
156
  'leadingDigitsPatterns' =>
157
  array (
158
- 0 => '[2-9]',
159
  ),
160
  'nationalPrefixFormattingRule' => '',
161
  'domesticCarrierCodeFormattingRule' => '',
162
- 'nationalPrefixOptionalWhenFormatting' => false,
163
  ),
164
  1 =>
 
 
 
 
 
 
 
 
 
 
 
 
165
  array (
166
  'pattern' => '(\\d{3})(\\d{3})(\\d{4})',
167
  'format' => '($1) $2-$3',
@@ -177,6 +189,18 @@ return array (
177
  'intlNumberFormat' =>
178
  array (
179
  0 =>
 
 
 
 
 
 
 
 
 
 
 
 
180
  array (
181
  'pattern' => '(\\d{3})(\\d{3})(\\d{4})',
182
  'format' => '$1-$2-$3',
14
  return array (
15
  'generalDesc' =>
16
  array (
17
+ 'NationalNumberPattern' => '[2-9]\\d{9}|3\\d{6}',
18
  'PossibleLength' =>
19
  array (
20
  0 => 10,
26
  ),
27
  'fixedLine' =>
28
  array (
29
+ 'NationalNumberPattern' => '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0157-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}',
30
  'ExampleNumber' => '2015550123',
31
  'PossibleLength' =>
32
  array (
38
  ),
39
  'mobile' =>
40
  array (
41
+ 'NationalNumberPattern' => '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0157-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}',
42
  'ExampleNumber' => '2015550123',
43
  'PossibleLength' =>
44
  array (
155
  'format' => '$1-$2',
156
  'leadingDigitsPatterns' =>
157
  array (
158
+ 0 => '310',
159
  ),
160
  'nationalPrefixFormattingRule' => '',
161
  'domesticCarrierCodeFormattingRule' => '',
162
+ 'nationalPrefixOptionalWhenFormatting' => true,
163
  ),
164
  1 =>
165
+ array (
166
+ 'pattern' => '(\\d{3})(\\d{4})',
167
+ 'format' => '$1-$2',
168
+ 'leadingDigitsPatterns' =>
169
+ array (
170
+ 0 => '[24-9]|3(?:[02-9]|1[1-9])',
171
+ ),
172
+ 'nationalPrefixFormattingRule' => '',
173
+ 'domesticCarrierCodeFormattingRule' => '',
174
+ 'nationalPrefixOptionalWhenFormatting' => false,
175
+ ),
176
+ 2 =>
177
  array (
178
  'pattern' => '(\\d{3})(\\d{3})(\\d{4})',
179
  'format' => '($1) $2-$3',
189
  'intlNumberFormat' =>
190
  array (
191
  0 =>
192
+ array (
193
+ 'pattern' => '(\\d{3})(\\d{4})',
194
+ 'format' => '$1-$2',
195
+ 'leadingDigitsPatterns' =>
196
+ array (
197
+ 0 => '310',
198
+ ),
199
+ 'nationalPrefixFormattingRule' => '',
200
+ 'domesticCarrierCodeFormattingRule' => '',
201
+ 'nationalPrefixOptionalWhenFormatting' => true,
202
+ ),
203
+ 1 =>
204
  array (
205
  'pattern' => '(\\d{3})(\\d{3})(\\d{4})',
206
  'format' => '$1-$2-$3',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php CHANGED
@@ -1257,75 +1257,219 @@ return array (
1257
  1309944 => 'Geneseo, IL',
1258
  1309962 => 'Le Roy, IL',
1259
  1309968 => 'Manito, IL',
1260
- 1310 => 'California',
1261
- 131020 => 'Los Angeles, CA',
 
 
 
1262
  1310205 => 'Beverly Hills, CA',
 
 
 
 
 
 
1263
  1310212 => 'Torrance, CA',
 
1264
  1310214 => 'Torrance, CA',
 
 
1265
  1310217 => 'Gardena, CA',
 
1266
  1310219 => 'Hawthorne, CA',
 
 
1267
  1310222 => 'Torrance, CA',
 
 
 
 
 
1268
  1310228 => 'Los Angeles, CA',
1269
  1310229 => 'Los Angeles, CA',
1270
  1310230 => 'Pacific Palisades, CA',
1271
  1310231 => 'Los Angeles, CA',
 
 
1272
  1310234 => 'Los Angeles, CA',
1273
  1310235 => 'Los Angeles, CA',
 
 
 
 
 
 
 
 
 
 
1274
  1310246 => 'Beverly Hills, CA',
1275
  1310247 => 'Beverly Hills, CA',
1276
  1310248 => 'Beverly Hills, CA',
 
 
 
 
1277
  1310253 => 'Culver City, CA',
 
1278
  1310255 => 'Santa Monica, CA',
 
1279
  1310257 => 'Torrance, CA',
1280
  1310258 => 'Los Angeles, CA',
 
1281
  1310260 => 'Santa Monica, CA',
 
 
1282
  1310263 => 'Hawthorne, CA',
1283
  1310264 => 'Santa Monica, CA',
 
 
 
1284
  1310268 => 'Los Angeles, CA',
1285
- 131027 => 'Beverly Hills, CA',
 
 
 
 
 
 
 
1286
  1310277 => 'Los Angeles, CA',
 
 
 
1287
  1310281 => 'Beverly Hills, CA',
1288
  1310282 => 'Los Angeles, CA',
 
1289
  1310284 => 'Los Angeles, CA',
1290
  1310285 => 'Beverly Hills, CA',
1291
  1310286 => 'Los Angeles, CA',
 
1292
  1310288 => 'Beverly Hills, CA',
 
 
 
 
 
1293
  1310312 => 'Los Angeles, CA',
 
1294
  1310314 => 'Santa Monica, CA',
1295
  1310315 => 'Santa Monica, CA',
 
1296
  1310317 => 'Malibu, CA',
 
1297
  1310319 => 'Santa Monica, CA',
1298
  1310320 => 'Torrance, CA',
 
1299
  1310322 => 'El Segundo, CA',
1300
  1310323 => 'Gardena, CA',
1301
  1310324 => 'Gardena, CA',
 
 
1302
  1310327 => 'Gardena, CA',
1303
  1310328 => 'Torrance, CA',
1304
  1310329 => 'Gardena, CA',
1305
  1310330 => 'Inglewood, CA',
 
 
 
 
1306
  1310335 => 'El Segundo, CA',
 
 
1307
  1310338 => 'Los Angeles, CA',
 
 
 
1308
  1310342 => 'Los Angeles, CA',
 
 
 
 
 
1309
  1310348 => 'Los Angeles, CA',
1310
  1310349 => 'Hawthorne, CA',
 
 
 
 
 
1311
  1310355 => 'Hawthorne, CA',
 
 
 
 
 
 
1312
  1310371 => 'Torrance, CA',
 
1313
  1310373 => 'Torrance, CA',
 
1314
  1310375 => 'Torrance, CA',
 
 
1315
  1310378 => 'Torrance, CA',
 
 
 
 
 
 
1316
  1310385 => 'Beverly Hills, CA',
 
 
 
 
 
 
 
1317
  1310393 => 'Santa Monica, CA',
1318
  1310394 => 'Santa Monica, CA',
1319
  1310395 => 'Santa Monica, CA',
 
 
 
 
 
 
 
 
 
 
 
1320
  1310407 => 'Los Angeles, CA',
 
 
1321
  1310410 => 'Los Angeles, CA',
 
1322
  1310412 => 'Inglewood, CA',
 
1323
  1310414 => 'El Segundo, CA',
 
 
1324
  1310417 => 'Los Angeles, CA',
 
1325
  1310419 => 'Inglewood, CA',
 
 
 
1326
  1310423 => 'West Hollywood, CA',
 
 
1327
  1310426 => 'El Segundo, CA',
1328
- 131044 => 'Los Angeles, CA',
 
 
 
 
 
 
 
 
 
 
 
 
1329
  1310449 => 'Santa Monica, CA',
1330
  1310450 => 'Santa Monica, CA',
1331
  1310451 => 'Santa Monica, CA',
@@ -1337,57 +1481,151 @@ return array (
1337
  1310457 => 'Malibu, CA',
1338
  1310458 => 'Santa Monica, CA',
1339
  1310459 => 'Pacific Palisades, CA',
 
1340
  131047 => 'Los Angeles, CA',
 
1341
  1310481 => 'Los Angeles, CA',
 
 
 
 
 
 
 
 
 
 
1342
  1310510 => 'Avalon, CA',
 
 
 
1343
  1310514 => 'San Pedro, CA',
1344
  1310515 => 'Gardena, CA',
1345
  1310516 => 'Gardena, CA',
1346
  1310517 => 'Harbor City, CA',
 
1347
  1310519 => 'San Pedro, CA',
 
1348
  1310521 => 'San Pedro, CA',
 
1349
  1310523 => 'Gardena, CA',
 
 
 
1350
  1310527 => 'Gardena, CA',
 
 
 
 
1351
  1310532 => 'Gardena, CA',
1352
  1310533 => 'Torrance, CA',
 
1353
  1310535 => 'El Segundo, CA',
 
1354
  1310537 => 'Compton, CA',
1355
  1310538 => 'Gardena, CA',
 
 
 
1356
  1310542 => 'Torrance, CA',
 
 
1357
  1310545 => 'Manhattan Beach, CA',
1358
  1310546 => 'Manhattan Beach, CA',
1359
  1310547 => 'San Pedro, CA',
1360
  1310548 => 'San Pedro, CA',
 
1361
  1310550 => 'Beverly Hills, CA',
1362
  1310551 => 'Los Angeles, CA',
1363
  1310552 => 'Los Angeles, CA',
1364
  1310553 => 'Los Angeles, CA',
 
 
1365
  1310556 => 'Los Angeles, CA',
1366
  1310557 => 'Los Angeles, CA',
 
 
 
 
1367
  1310571 => 'Los Angeles, CA',
 
1368
  1310573 => 'Pacific Palisades, CA',
 
1369
  1310575 => 'Los Angeles, CA',
1370
  1310576 => 'Santa Monica, CA',
 
 
 
 
1371
  1310581 => 'Santa Monica, CA',
1372
  1310582 => 'Santa Monica, CA',
 
 
 
1373
  1310586 => 'Santa Monica, CA',
1374
  1310587 => 'Santa Monica, CA',
 
1375
  1310589 => 'Malibu, CA',
 
 
 
 
 
1376
  1310604 => 'Compton, CA',
1377
  1310605 => 'Compton, CA',
 
 
1378
  1310608 => 'Compton, CA',
1379
  1310609 => 'Compton, CA',
 
 
 
 
 
 
 
 
1380
  1310618 => 'Torrance, CA',
1381
- 131063 => 'Compton, CA',
 
 
 
 
 
 
 
 
 
 
 
1382
  1310640 => 'El Segundo, CA',
1383
  1310641 => 'Los Angeles, CA',
1384
  1310642 => 'Los Angeles, CA',
 
1385
  1310644 => 'Hawthorne, CA',
1386
  1310645 => 'Los Angeles, CA',
 
 
 
1387
  1310649 => 'Los Angeles, CA',
 
 
 
 
 
 
1388
  1310656 => 'Santa Monica, CA',
 
 
 
 
 
 
 
1389
  1310664 => 'Santa Monica, CA',
1390
  1310665 => 'Los Angeles, CA',
 
 
1391
  1310668 => 'Los Angeles, CA',
1392
  1310669 => 'Compton, CA',
1393
  1310670 => 'Los Angeles, CA',
@@ -1398,60 +1636,202 @@ return array (
1398
  1310675 => 'Hawthorne, CA',
1399
  1310676 => 'Hawthorne, CA',
1400
  1310677 => 'Inglewood, CA',
 
1401
  1310679 => 'Hawthorne, CA',
1402
  1310680 => 'Inglewood, CA',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1403
  1310715 => 'Gardena, CA',
 
 
 
1404
  1310719 => 'Gardena, CA',
 
 
 
 
 
 
1405
  1310762 => 'Compton, CA',
1406
  1310763 => 'Compton, CA',
1407
  1310764 => 'Compton, CA',
 
 
 
1408
  1310768 => 'Gardena, CA',
1409
  1310769 => 'Gardena, CA',
 
 
1410
  1310772 => 'Los Angeles, CA',
 
 
 
 
1411
  1310777 => 'Beverly Hills, CA',
 
 
 
1412
  1310781 => 'Torrance, CA',
1413
  1310782 => 'Torrance, CA',
1414
  1310783 => 'Torrance, CA',
1415
  1310784 => 'Torrance, CA',
1416
  1310785 => 'Los Angeles, CA',
 
1417
  1310787 => 'Torrance, CA',
1418
  1310788 => 'Los Angeles, CA',
 
 
1419
  1310791 => 'Torrance, CA',
1420
  1310792 => 'Torrance, CA',
1421
  1310793 => 'Torrance, CA',
1422
  1310794 => 'Los Angeles, CA',
 
 
 
 
 
 
 
1423
  1310820 => 'Los Angeles, CA',
 
 
 
1424
  1310824 => 'Los Angeles, CA',
1425
  1310825 => 'Los Angeles, CA',
1426
  1310826 => 'Los Angeles, CA',
 
1427
  1310828 => 'Santa Monica, CA',
1428
  1310829 => 'Santa Monica, CA',
 
1429
  1310831 => 'San Pedro, CA',
1430
  1310832 => 'San Pedro, CA',
1431
  1310833 => 'San Pedro, CA',
 
 
1432
  1310836 => 'Los Angeles, CA',
 
 
 
 
 
 
 
 
 
 
 
 
1433
  1310858 => 'Beverly Hills, CA',
1434
  1310859 => 'Beverly Hills, CA',
1435
  1310860 => 'Beverly Hills, CA',
 
 
 
 
 
 
 
1436
  1310868 => 'Compton, CA',
 
 
 
 
 
 
 
1437
  1310885 => 'Compton, CA',
1438
  1310886 => 'Compton, CA',
 
1439
  1310888 => 'Beverly Hills, CA',
 
 
1440
  1310891 => 'Torrance, CA',
 
 
 
 
 
 
1441
  1310898 => 'Compton, CA',
1442
  1310899 => 'Santa Monica, CA',
1443
  1310900 => 'Lynwood, CA',
 
 
 
 
 
 
 
 
 
 
 
 
 
1444
  1310914 => 'Los Angeles, CA',
1445
  1310915 => 'Los Angeles, CA',
 
1446
  1310917 => 'Santa Monica, CA',
 
 
 
 
 
 
 
 
 
1447
  1310945 => 'Culver City, CA',
 
 
 
 
 
 
 
 
 
 
1448
  1310965 => 'Gardena, CA',
1449
  1310966 => 'Los Angeles, CA',
 
 
 
1450
  1310970 => 'Hawthorne, CA',
 
 
1451
  1310973 => 'Hawthorne, CA',
 
 
 
 
1452
  1310978 => 'Hawthorne, CA',
1453
  1310979 => 'Los Angeles, CA',
 
 
 
 
 
 
 
 
 
1454
  1310998 => 'Santa Monica, CA',
 
1455
  1312 => 'Chicago, IL',
1456
  1313 => 'Michigan',
1457
  1313223 => 'Detroit, MI',
1257
  1309944 => 'Geneseo, IL',
1258
  1309962 => 'Le Roy, IL',
1259
  1309968 => 'Manito, IL',
1260
+ 1310200 => 'California',
1261
+ 1310201 => 'Los Angeles, CA',
1262
+ 1310202 => 'California',
1263
+ 1310203 => 'Los Angeles, CA',
1264
+ 1310204 => 'California',
1265
  1310205 => 'Beverly Hills, CA',
1266
+ 1310206 => 'Los Angeles, CA',
1267
+ 1310207 => 'Los Angeles, CA',
1268
+ 1310208 => 'Los Angeles, CA',
1269
+ 1310209 => 'Los Angeles, CA',
1270
+ 1310210 => 'California',
1271
+ 1310211 => 'California',
1272
  1310212 => 'Torrance, CA',
1273
+ 1310213 => 'California',
1274
  1310214 => 'Torrance, CA',
1275
+ 1310215 => 'California',
1276
+ 1310216 => 'California',
1277
  1310217 => 'Gardena, CA',
1278
+ 1310218 => 'California',
1279
  1310219 => 'Hawthorne, CA',
1280
+ 1310220 => 'California',
1281
+ 1310221 => 'California',
1282
  1310222 => 'Torrance, CA',
1283
+ 1310223 => 'California',
1284
+ 1310224 => 'California',
1285
+ 1310225 => 'California',
1286
+ 1310226 => 'California',
1287
+ 1310227 => 'California',
1288
  1310228 => 'Los Angeles, CA',
1289
  1310229 => 'Los Angeles, CA',
1290
  1310230 => 'Pacific Palisades, CA',
1291
  1310231 => 'Los Angeles, CA',
1292
+ 1310232 => 'California',
1293
+ 1310233 => 'California',
1294
  1310234 => 'Los Angeles, CA',
1295
  1310235 => 'Los Angeles, CA',
1296
+ 1310236 => 'California',
1297
+ 1310237 => 'California',
1298
+ 1310238 => 'California',
1299
+ 1310239 => 'California',
1300
+ 1310240 => 'California',
1301
+ 1310241 => 'California',
1302
+ 1310242 => 'California',
1303
+ 1310243 => 'California',
1304
+ 1310244 => 'California',
1305
+ 1310245 => 'California',
1306
  1310246 => 'Beverly Hills, CA',
1307
  1310247 => 'Beverly Hills, CA',
1308
  1310248 => 'Beverly Hills, CA',
1309
+ 1310249 => 'California',
1310
+ 1310250 => 'California',
1311
+ 1310251 => 'California',
1312
+ 1310252 => 'California',
1313
  1310253 => 'Culver City, CA',
1314
+ 1310254 => 'California',
1315
  1310255 => 'Santa Monica, CA',
1316
+ 1310256 => 'California',
1317
  1310257 => 'Torrance, CA',
1318
  1310258 => 'Los Angeles, CA',
1319
+ 1310259 => 'California',
1320
  1310260 => 'Santa Monica, CA',
1321
+ 1310261 => 'California',
1322
+ 1310262 => 'California',
1323
  1310263 => 'Hawthorne, CA',
1324
  1310264 => 'Santa Monica, CA',
1325
+ 1310265 => 'California',
1326
+ 1310266 => 'California',
1327
+ 1310267 => 'California',
1328
  1310268 => 'Los Angeles, CA',
1329
+ 1310269 => 'California',
1330
+ 1310270 => 'California',
1331
+ 1310271 => 'Beverly Hills, CA',
1332
+ 1310272 => 'California',
1333
+ 1310273 => 'Beverly Hills, CA',
1334
+ 1310274 => 'Beverly Hills, CA',
1335
+ 1310275 => 'Beverly Hills, CA',
1336
+ 1310276 => 'Beverly Hills, CA',
1337
  1310277 => 'Los Angeles, CA',
1338
+ 1310278 => 'Beverly Hills, CA',
1339
+ 1310279 => 'California',
1340
+ 1310280 => 'California',
1341
  1310281 => 'Beverly Hills, CA',
1342
  1310282 => 'Los Angeles, CA',
1343
+ 1310283 => 'California',
1344
  1310284 => 'Los Angeles, CA',
1345
  1310285 => 'Beverly Hills, CA',
1346
  1310286 => 'Los Angeles, CA',
1347
+ 1310287 => 'California',
1348
  1310288 => 'Beverly Hills, CA',
1349
+ 1310289 => 'California',
1350
+ 131029 => 'California',
1351
+ 131030 => 'California',
1352
+ 1310310 => 'California',
1353
+ 1310311 => 'California',
1354
  1310312 => 'Los Angeles, CA',
1355
+ 1310313 => 'California',
1356
  1310314 => 'Santa Monica, CA',
1357
  1310315 => 'Santa Monica, CA',
1358
+ 1310316 => 'California',
1359
  1310317 => 'Malibu, CA',
1360
+ 1310318 => 'California',
1361
  1310319 => 'Santa Monica, CA',
1362
  1310320 => 'Torrance, CA',
1363
+ 1310321 => 'California',
1364
  1310322 => 'El Segundo, CA',
1365
  1310323 => 'Gardena, CA',
1366
  1310324 => 'Gardena, CA',
1367
+ 1310325 => 'California',
1368
+ 1310326 => 'California',
1369
  1310327 => 'Gardena, CA',
1370
  1310328 => 'Torrance, CA',
1371
  1310329 => 'Gardena, CA',
1372
  1310330 => 'Inglewood, CA',
1373
+ 1310331 => 'California',
1374
+ 1310332 => 'California',
1375
+ 1310333 => 'California',
1376
+ 1310334 => 'California',
1377
  1310335 => 'El Segundo, CA',
1378
+ 1310336 => 'California',
1379
+ 1310337 => 'California',
1380
  1310338 => 'Los Angeles, CA',
1381
+ 1310339 => 'California',
1382
+ 1310340 => 'California',
1383
+ 1310341 => 'California',
1384
  1310342 => 'Los Angeles, CA',
1385
+ 1310343 => 'California',
1386
+ 1310344 => 'California',
1387
+ 1310345 => 'California',
1388
+ 1310346 => 'California',
1389
+ 1310347 => 'California',
1390
  1310348 => 'Los Angeles, CA',
1391
  1310349 => 'Hawthorne, CA',
1392
+ 1310350 => 'California',
1393
+ 1310351 => 'California',
1394
+ 1310352 => 'California',
1395
+ 1310353 => 'California',
1396
+ 1310354 => 'California',
1397
  1310355 => 'Hawthorne, CA',
1398
+ 1310356 => 'California',
1399
+ 1310357 => 'California',
1400
+ 1310358 => 'California',
1401
+ 1310359 => 'California',
1402
+ 131036 => 'California',
1403
+ 1310370 => 'California',
1404
  1310371 => 'Torrance, CA',
1405
+ 1310372 => 'California',
1406
  1310373 => 'Torrance, CA',
1407
+ 1310374 => 'California',
1408
  1310375 => 'Torrance, CA',
1409
+ 1310376 => 'California',
1410
+ 1310377 => 'California',
1411
  1310378 => 'Torrance, CA',
1412
+ 1310379 => 'California',
1413
+ 1310380 => 'California',
1414
+ 1310381 => 'California',
1415
+ 1310382 => 'California',
1416
+ 1310383 => 'California',
1417
+ 1310384 => 'California',
1418
  1310385 => 'Beverly Hills, CA',
1419
+ 1310386 => 'California',
1420
+ 1310387 => 'California',
1421
+ 1310388 => 'California',
1422
+ 1310389 => 'California',
1423
+ 1310390 => 'California',
1424
+ 1310391 => 'California',
1425
+ 1310392 => 'California',
1426
  1310393 => 'Santa Monica, CA',
1427
  1310394 => 'Santa Monica, CA',
1428
  1310395 => 'Santa Monica, CA',
1429
+ 1310396 => 'California',
1430
+ 1310397 => 'California',
1431
+ 1310398 => 'California',
1432
+ 1310399 => 'California',
1433
+ 1310400 => 'California',
1434
+ 1310401 => 'California',
1435
+ 1310402 => 'California',
1436
+ 1310403 => 'California',
1437
+ 1310404 => 'California',
1438
+ 1310405 => 'California',
1439
+ 1310406 => 'California',
1440
  1310407 => 'Los Angeles, CA',
1441
+ 1310408 => 'California',
1442
+ 1310409 => 'California',
1443
  1310410 => 'Los Angeles, CA',
1444
+ 1310411 => 'California',
1445
  1310412 => 'Inglewood, CA',
1446
+ 1310413 => 'California',
1447
  1310414 => 'El Segundo, CA',
1448
+ 1310415 => 'California',
1449
+ 1310416 => 'California',
1450
  1310417 => 'Los Angeles, CA',
1451
+ 1310418 => 'California',
1452
  1310419 => 'Inglewood, CA',
1453
+ 1310420 => 'California',
1454
+ 1310421 => 'California',
1455
+ 1310422 => 'California',
1456
  1310423 => 'West Hollywood, CA',
1457
+ 1310424 => 'California',
1458
+ 1310425 => 'California',
1459
  1310426 => 'El Segundo, CA',
1460
+ 1310427 => 'California',
1461
+ 1310428 => 'California',
1462
+ 1310429 => 'California',
1463
+ 131043 => 'California',
1464
+ 1310440 => 'Los Angeles, CA',
1465
+ 1310441 => 'Los Angeles, CA',
1466
+ 1310442 => 'Los Angeles, CA',
1467
+ 1310443 => 'Los Angeles, CA',
1468
+ 1310444 => 'Los Angeles, CA',
1469
+ 1310445 => 'Los Angeles, CA',
1470
+ 1310446 => 'Los Angeles, CA',
1471
+ 1310447 => 'Los Angeles, CA',
1472
+ 1310448 => 'California',
1473
  1310449 => 'Santa Monica, CA',
1474
  1310450 => 'Santa Monica, CA',
1475
  1310451 => 'Santa Monica, CA',
1481
  1310457 => 'Malibu, CA',
1482
  1310458 => 'Santa Monica, CA',
1483
  1310459 => 'Pacific Palisades, CA',
1484
+ 131046 => 'California',
1485
  131047 => 'Los Angeles, CA',
1486
+ 1310480 => 'California',
1487
  1310481 => 'Los Angeles, CA',
1488
+ 1310482 => 'California',
1489
+ 1310483 => 'California',
1490
+ 1310484 => 'California',
1491
+ 1310485 => 'California',
1492
+ 1310486 => 'California',
1493
+ 1310487 => 'California',
1494
+ 1310488 => 'California',
1495
+ 1310489 => 'California',
1496
+ 131049 => 'California',
1497
+ 131050 => 'California',
1498
  1310510 => 'Avalon, CA',
1499
+ 1310511 => 'California',
1500
+ 1310512 => 'California',
1501
+ 1310513 => 'California',
1502
  1310514 => 'San Pedro, CA',
1503
  1310515 => 'Gardena, CA',
1504
  1310516 => 'Gardena, CA',
1505
  1310517 => 'Harbor City, CA',
1506
+ 1310518 => 'California',
1507
  1310519 => 'San Pedro, CA',
1508
+ 1310520 => 'California',
1509
  1310521 => 'San Pedro, CA',
1510
+ 1310522 => 'California',
1511
  1310523 => 'Gardena, CA',
1512
+ 1310524 => 'California',
1513
+ 1310525 => 'California',
1514
+ 1310526 => 'California',
1515
  1310527 => 'Gardena, CA',
1516
+ 1310528 => 'California',
1517
+ 1310529 => 'California',
1518
+ 1310530 => 'California',
1519
+ 1310531 => 'California',
1520
  1310532 => 'Gardena, CA',
1521
  1310533 => 'Torrance, CA',
1522
+ 1310534 => 'California',
1523
  1310535 => 'El Segundo, CA',
1524
+ 1310536 => 'California',
1525
  1310537 => 'Compton, CA',
1526
  1310538 => 'Gardena, CA',
1527
+ 1310539 => 'California',
1528
+ 1310540 => 'California',
1529
+ 1310541 => 'California',
1530
  1310542 => 'Torrance, CA',
1531
+ 1310543 => 'California',
1532
+ 1310544 => 'California',
1533
  1310545 => 'Manhattan Beach, CA',
1534
  1310546 => 'Manhattan Beach, CA',
1535
  1310547 => 'San Pedro, CA',
1536
  1310548 => 'San Pedro, CA',
1537
+ 1310549 => 'California',
1538
  1310550 => 'Beverly Hills, CA',
1539
  1310551 => 'Los Angeles, CA',
1540
  1310552 => 'Los Angeles, CA',
1541
  1310553 => 'Los Angeles, CA',
1542
+ 1310554 => 'California',
1543
+ 1310555 => 'California',
1544
  1310556 => 'Los Angeles, CA',
1545
  1310557 => 'Los Angeles, CA',
1546
+ 1310558 => 'California',
1547
+ 1310559 => 'California',
1548
+ 131056 => 'California',
1549
+ 1310570 => 'California',
1550
  1310571 => 'Los Angeles, CA',
1551
+ 1310572 => 'California',
1552
  1310573 => 'Pacific Palisades, CA',
1553
+ 1310574 => 'California',
1554
  1310575 => 'Los Angeles, CA',
1555
  1310576 => 'Santa Monica, CA',
1556
+ 1310577 => 'California',
1557
+ 1310578 => 'California',
1558
+ 1310579 => 'California',
1559
+ 1310580 => 'California',
1560
  1310581 => 'Santa Monica, CA',
1561
  1310582 => 'Santa Monica, CA',
1562
+ 1310583 => 'California',
1563
+ 1310584 => 'California',
1564
+ 1310585 => 'California',
1565
  1310586 => 'Santa Monica, CA',
1566
  1310587 => 'Santa Monica, CA',
1567
+ 1310588 => 'California',
1568
  1310589 => 'Malibu, CA',
1569
+ 131059 => 'California',
1570
+ 1310600 => 'California',
1571
+ 1310601 => 'California',
1572
+ 1310602 => 'California',
1573
+ 1310603 => 'California',
1574
  1310604 => 'Compton, CA',
1575
  1310605 => 'Compton, CA',
1576
+ 1310606 => 'California',
1577
+ 1310607 => 'California',
1578
  1310608 => 'Compton, CA',
1579
  1310609 => 'Compton, CA',
1580
+ 1310610 => 'California',
1581
+ 1310611 => 'California',
1582
+ 1310612 => 'California',
1583
+ 1310613 => 'California',
1584
+ 1310614 => 'California',
1585
+ 1310615 => 'California',
1586
+ 1310616 => 'California',
1587
+ 1310617 => 'California',
1588
  1310618 => 'Torrance, CA',
1589
+ 1310619 => 'California',
1590
+ 131062 => 'California',
1591
+ 1310630 => 'California',
1592
+ 1310631 => 'Compton, CA',
1593
+ 1310632 => 'Compton, CA',
1594
+ 1310633 => 'California',
1595
+ 1310634 => 'California',
1596
+ 1310635 => 'Compton, CA',
1597
+ 1310636 => 'California',
1598
+ 1310637 => 'Compton, CA',
1599
+ 1310638 => 'Compton, CA',
1600
+ 1310639 => 'Compton, CA',
1601
  1310640 => 'El Segundo, CA',
1602
  1310641 => 'Los Angeles, CA',
1603
  1310642 => 'Los Angeles, CA',
1604
+ 1310643 => 'California',
1605
  1310644 => 'Hawthorne, CA',
1606
  1310645 => 'Los Angeles, CA',
1607
+ 1310646 => 'California',
1608
+ 1310647 => 'California',
1609
+ 1310648 => 'California',
1610
  1310649 => 'Los Angeles, CA',
1611
+ 1310650 => 'California',
1612
+ 1310651 => 'California',
1613
+ 1310652 => 'California',
1614
+ 1310653 => 'California',
1615
+ 1310654 => 'California',
1616
+ 1310655 => 'California',
1617
  1310656 => 'Santa Monica, CA',
1618
+ 1310657 => 'California',
1619
+ 1310658 => 'California',
1620
+ 1310659 => 'California',
1621
+ 1310660 => 'California',
1622
+ 1310661 => 'California',
1623
+ 1310662 => 'California',
1624
+ 1310663 => 'California',
1625
  1310664 => 'Santa Monica, CA',
1626
  1310665 => 'Los Angeles, CA',
1627
+ 1310666 => 'California',
1628
+ 1310667 => 'California',
1629
  1310668 => 'Los Angeles, CA',
1630
  1310669 => 'Compton, CA',
1631
  1310670 => 'Los Angeles, CA',
1636
  1310675 => 'Hawthorne, CA',
1637
  1310676 => 'Hawthorne, CA',
1638
  1310677 => 'Inglewood, CA',
1639
+ 1310678 => 'California',
1640
  1310679 => 'Hawthorne, CA',
1641
  1310680 => 'Inglewood, CA',
1642
+ 1310681 => 'California',
1643
+ 1310682 => 'California',
1644
+ 1310683 => 'California',
1645
+ 1310684 => 'California',
1646
+ 1310685 => 'California',
1647
+ 1310686 => 'California',
1648
+ 1310687 => 'California',
1649
+ 1310688 => 'California',
1650
+ 1310689 => 'California',
1651
+ 131069 => 'California',
1652
+ 131070 => 'California',
1653
+ 1310710 => 'California',
1654
+ 1310711 => 'California',
1655
+ 1310712 => 'California',
1656
+ 1310713 => 'California',
1657
+ 1310714 => 'California',
1658
  1310715 => 'Gardena, CA',
1659
+ 1310716 => 'California',
1660
+ 1310717 => 'California',
1661
+ 1310718 => 'California',
1662
  1310719 => 'Gardena, CA',
1663
+ 131072 => 'California',
1664
+ 131073 => 'California',
1665
+ 131074 => 'California',
1666
+ 131075 => 'California',
1667
+ 1310760 => 'California',
1668
+ 1310761 => 'California',
1669
  1310762 => 'Compton, CA',
1670
  1310763 => 'Compton, CA',
1671
  1310764 => 'Compton, CA',
1672
+ 1310765 => 'California',
1673
+ 1310766 => 'California',
1674
+ 1310767 => 'California',
1675
  1310768 => 'Gardena, CA',
1676
  1310769 => 'Gardena, CA',
1677
+ 1310770 => 'California',
1678
+ 1310771 => 'California',
1679
  1310772 => 'Los Angeles, CA',
1680
+ 1310773 => 'California',
1681
+ 1310774 => 'California',
1682
+ 1310775 => 'California',
1683
+ 1310776 => 'California',
1684
  1310777 => 'Beverly Hills, CA',
1685
+ 1310778 => 'California',
1686
+ 1310779 => 'California',
1687
+ 1310780 => 'California',
1688
  1310781 => 'Torrance, CA',
1689
  1310782 => 'Torrance, CA',
1690
  1310783 => 'Torrance, CA',
1691
  1310784 => 'Torrance, CA',
1692
  1310785 => 'Los Angeles, CA',
1693
+ 1310786 => 'California',
1694
  1310787 => 'Torrance, CA',
1695
  1310788 => 'Los Angeles, CA',
1696
+ 1310789 => 'California',
1697
+ 1310790 => 'California',
1698
  1310791 => 'Torrance, CA',
1699
  1310792 => 'Torrance, CA',
1700
  1310793 => 'Torrance, CA',
1701
  1310794 => 'Los Angeles, CA',
1702
+ 1310795 => 'California',
1703
+ 1310796 => 'California',
1704
+ 1310797 => 'California',
1705
+ 1310798 => 'California',
1706
+ 1310799 => 'California',
1707
+ 131080 => 'California',
1708
+ 131081 => 'California',
1709
  1310820 => 'Los Angeles, CA',
1710
+ 1310821 => 'California',
1711
+ 1310822 => 'California',
1712
+ 1310823 => 'California',
1713
  1310824 => 'Los Angeles, CA',
1714
  1310825 => 'Los Angeles, CA',
1715
  1310826 => 'Los Angeles, CA',
1716
+ 1310827 => 'California',
1717
  1310828 => 'Santa Monica, CA',
1718
  1310829 => 'Santa Monica, CA',
1719
+ 1310830 => 'California',
1720
  1310831 => 'San Pedro, CA',
1721
  1310832 => 'San Pedro, CA',
1722
  1310833 => 'San Pedro, CA',
1723
+ 1310834 => 'California',
1724
+ 1310835 => 'California',
1725
  1310836 => 'Los Angeles, CA',
1726
+ 1310837 => 'California',
1727
+ 1310838 => 'California',
1728
+ 1310839 => 'California',
1729
+ 131084 => 'California',
1730
+ 1310850 => 'California',
1731
+ 1310851 => 'California',
1732
+ 1310852 => 'California',
1733
+ 1310853 => 'California',
1734
+ 1310854 => 'California',
1735
+ 1310855 => 'California',
1736
+ 1310856 => 'California',
1737
+ 1310857 => 'California',
1738
  1310858 => 'Beverly Hills, CA',
1739
  1310859 => 'Beverly Hills, CA',
1740
  1310860 => 'Beverly Hills, CA',
1741
+ 1310861 => 'California',
1742
+ 1310862 => 'California',
1743
+ 1310863 => 'California',
1744
+ 1310864 => 'California',
1745
+ 1310865 => 'California',
1746
+ 1310866 => 'California',
1747
+ 1310867 => 'California',
1748
  1310868 => 'Compton, CA',
1749
+ 1310869 => 'California',
1750
+ 131087 => 'California',
1751
+ 1310880 => 'California',
1752
+ 1310881 => 'California',
1753
+ 1310882 => 'California',
1754
+ 1310883 => 'California',
1755
+ 1310884 => 'California',
1756
  1310885 => 'Compton, CA',
1757
  1310886 => 'Compton, CA',
1758
+ 1310887 => 'California',
1759
  1310888 => 'Beverly Hills, CA',
1760
+ 1310889 => 'California',
1761
+ 1310890 => 'California',
1762
  1310891 => 'Torrance, CA',
1763
+ 1310892 => 'California',
1764
+ 1310893 => 'California',
1765
+ 1310894 => 'California',
1766
+ 1310895 => 'California',
1767
+ 1310896 => 'California',
1768
+ 1310897 => 'California',
1769
  1310898 => 'Compton, CA',
1770
  1310899 => 'Santa Monica, CA',
1771
  1310900 => 'Lynwood, CA',
1772
+ 1310901 => 'California',
1773
+ 1310902 => 'California',
1774
+ 1310903 => 'California',
1775
+ 1310904 => 'California',
1776
+ 1310905 => 'California',
1777
+ 1310906 => 'California',
1778
+ 1310907 => 'California',
1779
+ 1310908 => 'California',
1780
+ 1310909 => 'California',
1781
+ 1310910 => 'California',
1782
+ 1310911 => 'California',
1783
+ 1310912 => 'California',
1784
+ 1310913 => 'California',
1785
  1310914 => 'Los Angeles, CA',
1786
  1310915 => 'Los Angeles, CA',
1787
+ 1310916 => 'California',
1788
  1310917 => 'Santa Monica, CA',
1789
+ 1310918 => 'California',
1790
+ 1310919 => 'California',
1791
+ 131092 => 'California',
1792
+ 131093 => 'California',
1793
+ 1310940 => 'California',
1794
+ 1310941 => 'California',
1795
+ 1310942 => 'California',
1796
+ 1310943 => 'California',
1797
+ 1310944 => 'California',
1798
  1310945 => 'Culver City, CA',
1799
+ 1310946 => 'California',
1800
+ 1310947 => 'California',
1801
+ 1310948 => 'California',
1802
+ 1310949 => 'California',
1803
+ 131095 => 'California',
1804
+ 1310960 => 'California',
1805
+ 1310961 => 'California',
1806
+ 1310962 => 'California',
1807
+ 1310963 => 'California',
1808
+ 1310964 => 'California',
1809
  1310965 => 'Gardena, CA',
1810
  1310966 => 'Los Angeles, CA',
1811
+ 1310967 => 'California',
1812
+ 1310968 => 'California',
1813
+ 1310969 => 'California',
1814
  1310970 => 'Hawthorne, CA',
1815
+ 1310971 => 'California',
1816
+ 1310972 => 'California',
1817
  1310973 => 'Hawthorne, CA',
1818
+ 1310974 => 'California',
1819
+ 1310975 => 'California',
1820
+ 1310976 => 'California',
1821
+ 1310977 => 'California',
1822
  1310978 => 'Hawthorne, CA',
1823
  1310979 => 'Los Angeles, CA',
1824
+ 131098 => 'California',
1825
+ 1310990 => 'California',
1826
+ 1310991 => 'California',
1827
+ 1310992 => 'California',
1828
+ 1310993 => 'California',
1829
+ 1310994 => 'California',
1830
+ 1310995 => 'California',
1831
+ 1310996 => 'California',
1832
+ 1310997 => 'California',
1833
  1310998 => 'Santa Monica, CA',
1834
+ 1310999 => 'California',
1835
  1312 => 'Chicago, IL',
1836
  1313 => 'Michigan',
1837
  1313223 => 'Detroit, MI',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php CHANGED
@@ -2016,6 +2016,7 @@ return array (
2016
  1819986 => 'Gatineau, QC',
2017
  1820 => 'California',
2018
  1825 => 'Alberta',
 
2019
  1828 => 'North Carolina',
2020
  1828210 => 'Asheville, NC',
2021
  1828213 => 'Asheville, NC',
2016
  1819986 => 'Gatineau, QC',
2017
  1820 => 'California',
2018
  1825 => 'Alberta',
2019
+ 1826 => 'Virginia',
2020
  1828 => 'North Carolina',
2021
  1828210 => 'Asheville, NC',
2022
  1828213 => 'Asheville, NC',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php CHANGED
@@ -70,7 +70,7 @@ return array (
70
  2125378 => 'Salé',
71
  2125379 => 'Souk Larbaa',
72
  2125380 => 'Rabat area',
73
- 21253880 => 'Tangier area',
74
  21253890 => 'Fès/Meknès areas',
75
  2125393 => 'Tangier',
76
  2125394 => 'Asilah',
70
  2125378 => 'Salé',
71
  2125379 => 'Souk Larbaa',
72
  2125380 => 'Rabat area',
73
+ 2125388 => 'Tangier area',
74
  21253890 => 'Fès/Meknès areas',
75
  2125393 => 'Tangier',
76
  2125394 => 'Asilah',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php CHANGED
@@ -2853,6 +2853,11 @@ return array (
2853
  3318856 => 'Paris',
2854
  3318857 => 'Paris',
2855
  3318858 => 'Paris',
 
 
 
 
 
2856
  33190 => 'Ile de France',
2857
  33191 => 'Ile de France',
2858
  3321400 => 'Alençon',
@@ -3064,6 +3069,11 @@ return array (
3064
  3321906 => 'Vierzon',
3065
  3321907 => 'Issoudun',
3066
  3321908 => 'Châteauroux',
 
 
 
 
 
3067
  3322100 => 'Rennes',
3068
  3322101 => 'Saint-Malo',
3069
  3322102 => 'Vannes',
@@ -5343,8 +5353,16 @@ return array (
5343
  3325824 => 'Carentan-les-Marais',
5344
  3325825 => 'Vire',
5345
  3325826 => 'Bayeux',
 
5346
  3325900 => 'La Roche-sur-Yon',
5347
- 3325901 => 'Nantes',
 
 
 
 
 
 
 
5348
  3326100 => 'Deauville',
5349
  3326101 => 'Mortagne-au-Perche',
5350
  3326102 => 'Flers',
@@ -5444,6 +5462,24 @@ return array (
5444
  3326197 => 'Avranches',
5445
  3326198 => 'Carentan-les-Marais',
5446
  3326199 => 'Coutances',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5447
  3326300 => 'Saint-Denis',
5448
  3327202 => 'Nantes',
5449
  3327210 => 'Cholet',
@@ -7389,6 +7425,8 @@ return array (
7389
  3335348 => 'Reims',
7390
  3335349 => 'Reims',
7391
  3335350 => 'Troyes',
 
 
7392
  3335400 => 'Nancy',
7393
  3335401 => 'Saint-Avold',
7394
  3335402 => 'Bar-le-Duc',
@@ -7622,6 +7660,8 @@ return array (
7622
  3335657 => 'Nancy',
7623
  3335658 => 'Nancy',
7624
  3335660 => 'Nancy',
 
 
7625
  3335700 => 'Remiremont',
7626
  3335701 => 'Saint-Avold',
7627
  3335702 => 'Saint-Dié-des-Vosges',
@@ -9337,6 +9377,17 @@ return array (
9337
  3337604 => 'Lille',
9338
  3337605 => 'Lille',
9339
  3337606 => 'Lens',
 
 
 
 
 
 
 
 
 
 
 
9340
  3337900 => 'Autun',
9341
  3337901 => 'Louhans',
9342
  3337902 => 'Montceau-les-Mines',
@@ -10161,6 +10212,7 @@ return array (
10161
  3342088 => 'Corse',
10162
  3342094 => 'Corse',
10163
  3342095 => 'Corse',
 
10164
  3342200 => 'Cannes',
10165
  3342201 => 'Grasse',
10166
  3342202 => 'Nice',
@@ -10262,7 +10314,14 @@ return array (
10262
  3342318 => 'Saint-Raphael',
10263
  3342319 => 'Cannes',
10264
  3342320 => 'Nice',
 
 
10265
  3342323 => 'Nice',
 
 
 
 
 
10266
  3342610 => 'Lyon',
10267
  3342611 => 'Bourg-en-Bresse',
10268
  3342612 => 'Nantua',
@@ -10728,6 +10787,8 @@ return array (
10728
  3344404 => 'Le Puy-en-Velay',
10729
  3344405 => 'Clermont-Ferrand',
10730
  3344406 => 'Clermont-Ferrand',
 
 
10731
  3344437 => 'Ambert',
10732
  3344438 => 'Clermont-Ferrand',
10733
  3344439 => 'Issoire',
@@ -11899,6 +11960,19 @@ return array (
11899
  3348545 => 'Aix-les-Bains',
11900
  3348546 => 'Annecy',
11901
  3348547 => 'Annemasse',
 
 
 
 
 
 
 
 
 
 
 
 
 
11902
  3348571 => 'Saint-Jean-de-Maurienne',
11903
  3348572 => 'Annecy',
11904
  3348573 => 'Annemasse',
@@ -12400,6 +12474,12 @@ return array (
12400
  3351805 => 'Limoges',
12401
  3351806 => 'Limoges',
12402
  3351807 => 'Limoges',
 
 
 
 
 
 
12403
  3351900 => 'Boussac',
12404
  3351901 => 'Gueret',
12405
  3351902 => 'La Souterraine',
@@ -12891,6 +12971,7 @@ return array (
12891
  3353607 => 'Saint-Gaudens',
12892
  3353608 => 'Figeac',
12893
  3353609 => 'Toulouse',
 
12894
  3353611 => 'Toulouse',
12895
  3353612 => 'Pamiers',
12896
  3353613 => 'Decazeville',
@@ -12928,6 +13009,10 @@ return array (
12928
  3353647 => 'Toulouse',
12929
  3353648 => 'Montauban',
12930
  3353653 => 'Toulouse',
 
 
 
 
12931
  3354010 => 'Blaye',
12932
  3354011 => 'Langon',
12933
  3354012 => 'Bordeaux',
@@ -13055,6 +13140,35 @@ return array (
13055
  3354787 => 'Mont-de-Marsan',
13056
  3354788 => 'Mussidan',
13057
  3354789 => 'Nerac',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13058
  335495 => 'Poitiers',
13059
  3355400 => 'Dax',
13060
  3355401 => 'Marmande',
2853
  3318856 => 'Paris',
2854
  3318857 => 'Paris',
2855
  3318858 => 'Paris',
2856
+ 3318859 => 'Nanterre',
2857
+ 331886 => 'Paris',
2858
+ 331887 => 'Paris',
2859
+ 331888 => 'Paris',
2860
+ 331889 => 'Paris',
2861
  33190 => 'Ile de France',
2862
  33191 => 'Ile de France',
2863
  3321400 => 'Alençon',
3069
  3321906 => 'Vierzon',
3070
  3321907 => 'Issoudun',
3071
  3321908 => 'Châteauroux',
3072
+ 3322000 => 'Saint-Brieuc',
3073
+ 3322001 => 'Brest',
3074
+ 3322002 => 'Rennes',
3075
+ 3322003 => 'Vannes',
3076
+ 3322004 => 'Brest',
3077
  3322100 => 'Rennes',
3078
  3322101 => 'Saint-Malo',
3079
  3322102 => 'Vannes',
5353
  3325824 => 'Carentan-les-Marais',
5354
  3325825 => 'Vire',
5355
  3325826 => 'Bayeux',
5356
+ 332590 => 'Nantes',
5357
  3325900 => 'La Roche-sur-Yon',
5358
+ 3325902 => 'Luçon',
5359
+ 3325904 => 'Angers',
5360
+ 3325905 => 'La Roche-sur-Yon',
5361
+ 3325940 => 'Laval',
5362
+ 3325941 => 'Le Mans',
5363
+ 3325942 => 'Segré',
5364
+ 3325943 => 'Nord Ouest',
5365
+ 3325944 => 'La Roche-sur-Yon',
5366
  3326100 => 'Deauville',
5367
  3326101 => 'Mortagne-au-Perche',
5368
  3326102 => 'Flers',
5462
  3326197 => 'Avranches',
5463
  3326198 => 'Carentan-les-Marais',
5464
  3326199 => 'Coutances',
5465
+ 3326201 => 'Saint-Denis',
5466
+ 3326202 => 'Saint-Denis',
5467
+ 3326203 => 'Saint-Denis',
5468
+ 3326204 => 'Saint-Denis',
5469
+ 3326205 => 'Saint-Denis',
5470
+ 3326206 => 'Saint-Denis',
5471
+ 3326207 => 'Saint-Denis',
5472
+ 3326208 => 'Saint-Denis',
5473
+ 3326209 => 'Saint-Denis',
5474
+ 332621 => 'Saint-Denis',
5475
+ 332622 => 'Saint-Denis',
5476
+ 332623 => 'Saint-Denis',
5477
+ 332624 => 'Saint-Denis',
5478
+ 332625 => 'Saint-Denis',
5479
+ 332626 => 'Saint-Denis',
5480
+ 332627 => 'Saint-Denis',
5481
+ 332628 => 'Saint-Denis',
5482
+ 332629 => 'Saint-Denis',
5483
  3326300 => 'Saint-Denis',
5484
  3327202 => 'Nantes',
5485
  3327210 => 'Cholet',
7425
  3335348 => 'Reims',
7426
  3335349 => 'Reims',
7427
  3335350 => 'Troyes',
7428
+ 3335370 => 'Troyes',
7429
+ 3335371 => 'Reims',
7430
  3335400 => 'Nancy',
7431
  3335401 => 'Saint-Avold',
7432
  3335402 => 'Bar-le-Duc',
7660
  3335657 => 'Nancy',
7661
  3335658 => 'Nancy',
7662
  3335660 => 'Nancy',
7663
+ 3335680 => 'Nancy',
7664
+ 3335681 => 'Metz',
7665
  3335700 => 'Remiremont',
7666
  3335701 => 'Saint-Avold',
7667
  3335702 => 'Saint-Dié-des-Vosges',
9377
  3337604 => 'Lille',
9378
  3337605 => 'Lille',
9379
  3337606 => 'Lens',
9380
+ 3337610 => 'Hazebrouck',
9381
+ 3337611 => 'Lille',
9382
+ 3337612 => 'Calais',
9383
+ 3337613 => 'Béthune',
9384
+ 3337614 => 'Dunkerque',
9385
+ 3337615 => 'Lille',
9386
+ 3337616 => 'Béthune',
9387
+ 3337617 => 'Béthune',
9388
+ 3337618 => 'Béthune',
9389
+ 3337619 => 'Lille',
9390
+ 3337630 => 'Calais',
9391
  3337900 => 'Autun',
9392
  3337901 => 'Louhans',
9393
  3337902 => 'Montceau-les-Mines',
10212
  3342088 => 'Corse',
10213
  3342094 => 'Corse',
10214
  3342095 => 'Corse',
10215
+ 3342096 => 'Corse',
10216
  3342200 => 'Cannes',
10217
  3342201 => 'Grasse',
10218
  3342202 => 'Nice',
10314
  3342318 => 'Saint-Raphael',
10315
  3342319 => 'Cannes',
10316
  3342320 => 'Nice',
10317
+ 3342321 => 'Cannes',
10318
+ 3342322 => 'Draguignan',
10319
  3342323 => 'Nice',
10320
+ 3342324 => 'Nice',
10321
+ 3342326 => 'Toulon',
10322
+ 3342327 => 'Nice',
10323
+ 3342328 => 'Brignoles',
10324
+ 3342329 => 'Nice',
10325
  3342610 => 'Lyon',
10326
  3342611 => 'Bourg-en-Bresse',
10327
  3342612 => 'Nantua',
10787
  3344404 => 'Le Puy-en-Velay',
10788
  3344405 => 'Clermont-Ferrand',
10789
  3344406 => 'Clermont-Ferrand',
10790
+ 3344407 => 'Montluçon',
10791
+ 3344408 => 'Clermont-Ferrand',
10792
  3344437 => 'Ambert',
10793
  3344438 => 'Clermont-Ferrand',
10794
  3344439 => 'Issoire',
11960
  3348545 => 'Aix-les-Bains',
11961
  3348546 => 'Annecy',
11962
  3348547 => 'Annemasse',
11963
+ 3348550 => 'Voiron',
11964
+ 3348551 => 'Grenoble',
11965
+ 3348552 => 'Annecy',
11966
+ 3348553 => 'Annecy',
11967
+ 3348554 => 'Bellegarde-sur-Valserine',
11968
+ 3348555 => 'Belley',
11969
+ 3348556 => 'Grenoble',
11970
+ 3348557 => 'Saint-Marcellin',
11971
+ 3348558 => 'Grenoble',
11972
+ 3348559 => 'Grenoble',
11973
+ 3348560 => 'Chambéry',
11974
+ 3348561 => 'Annecy',
11975
+ 3348562 => 'Annecy',
11976
  3348571 => 'Saint-Jean-de-Maurienne',
11977
  3348572 => 'Annecy',
11978
  3348573 => 'Annemasse',
12474
  3351805 => 'Limoges',
12475
  3351806 => 'Limoges',
12476
  3351807 => 'Limoges',
12477
+ 3351820 => 'Limoges',
12478
+ 3351821 => 'Tulle',
12479
+ 3351822 => 'Limoges',
12480
+ 3351823 => 'Limoges',
12481
+ 3351824 => 'Tulle',
12482
+ 3351825 => 'Limoges',
12483
  3351900 => 'Boussac',
12484
  3351901 => 'Gueret',
12485
  3351902 => 'La Souterraine',
12971
  3353607 => 'Saint-Gaudens',
12972
  3353608 => 'Figeac',
12973
  3353609 => 'Toulouse',
12974
+ 3353610 => 'Toulouse',
12975
  3353611 => 'Toulouse',
12976
  3353612 => 'Pamiers',
12977
  3353613 => 'Decazeville',
13009
  3353647 => 'Toulouse',
13010
  3353648 => 'Montauban',
13011
  3353653 => 'Toulouse',
13012
+ 3353700 => 'Albi',
13013
+ 3353701 => 'Montauban',
13014
+ 3353702 => 'Sud Ouest',
13015
+ 3353703 => 'Decazeville',
13016
  3354010 => 'Blaye',
13017
  3354011 => 'Langon',
13018
  3354012 => 'Bordeaux',
13140
  3354787 => 'Mont-de-Marsan',
13141
  3354788 => 'Mussidan',
13142
  3354789 => 'Nerac',
13143
+ 3354800 => 'Cognac',
13144
+ 3354801 => 'Confolens',
13145
+ 3354802 => 'Jonzac',
13146
+ 3354803 => 'La Rochelle',
13147
+ 3354804 => 'Saintes',
13148
+ 3354805 => 'Saint-Jean-d\'Angély',
13149
+ 3354806 => 'Bressuire',
13150
+ 3354807 => 'Melle',
13151
+ 3354808 => 'Niort',
13152
+ 3354809 => 'Parthenay',
13153
+ 3354810 => 'Châtellerault',
13154
+ 3354811 => 'Civray',
13155
+ 3354812 => 'Loudun',
13156
+ 3354813 => 'Montmorillon',
13157
+ 3354814 => 'Cognac',
13158
+ 3354815 => 'Montmorillon',
13159
+ 3354816 => 'Poitiers',
13160
+ 3354817 => 'Poitiers',
13161
+ 3354818 => 'Poitiers',
13162
+ 3354819 => 'La Rochelle',
13163
+ 3354820 => 'Niort',
13164
+ 3354821 => 'Barbezieux-Saint-Hilaire',
13165
+ 3354822 => 'Poitiers',
13166
+ 3354823 => 'Rochefort',
13167
+ 3354824 => 'Angoulême',
13168
+ 3354825 => 'La Rochelle',
13169
+ 3354826 => 'Niort',
13170
+ 3354827 => 'Poitiers',
13171
+ 3354828 => 'Poitiers',
13172
  335495 => 'Poitiers',
13173
  3355400 => 'Dax',
13174
  3355401 => 'Marmande',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/34.php CHANGED
@@ -52,7 +52,7 @@ return array (
52
  34868 => 'Murcia',
53
  34869 => 'Cuenca',
54
  34871 => 'Balearic Islands',
55
- 34872 => 'Gerona',
56
  34873 => 'Lleida',
57
  34874 => 'Huesca',
58
  34875 => 'Soria',
@@ -153,7 +153,7 @@ return array (
153
  349698 => 'Cuenca',
154
  349699 => 'Cuenca',
155
  34971 => 'Balearic Islands',
156
- 34972 => 'Gerona',
157
  349730 => 'Lleida',
158
  349731 => 'Lleida',
159
  349732 => 'Lleida',
52
  34868 => 'Murcia',
53
  34869 => 'Cuenca',
54
  34871 => 'Balearic Islands',
55
+ 34872 => 'Girona',
56
  34873 => 'Lleida',
57
  34874 => 'Huesca',
58
  34875 => 'Soria',
153
  349698 => 'Cuenca',
154
  349699 => 'Cuenca',
155
  34971 => 'Balearic Islands',
156
+ 34972 => 'Girona',
157
  349730 => 'Lleida',
158
  349731 => 'Lleida',
159
  349732 => 'Lleida',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php CHANGED
@@ -12,12 +12,7 @@
12
 
13
  return array (
14
  44113 => 'Leeds',
15
- 441140 => 'Sheffield',
16
- 441141 => 'Sheffield',
17
- 441142 => 'Sheffield',
18
- 441143 => 'Sheffield',
19
- 441144 => 'Sheffield',
20
- 441145 => 'Sheffield',
21
  44115 => 'Nottingham',
22
  44116 => 'Leicester',
23
  44117 => 'Bristol',
@@ -30,15 +25,7 @@ return array (
30
  441207 => 'Consett',
31
  441208 => 'Bodmin',
32
  441209 => 'Redruth',
33
- 441210 => 'Birmingham',
34
- 441211 => 'Birmingham',
35
- 441212 => 'Birmingham',
36
- 441213 => 'Birmingham',
37
- 441214 => 'Birmingham',
38
- 441215 => 'Birmingham',
39
- 441216 => 'Birmingham',
40
- 441217 => 'Birmingham',
41
- 4412180 => 'Birmingham',
42
  441223 => 'Cambridge',
43
  441224 => 'Aberdeen',
44
  441225 => 'Bath',
@@ -301,12 +288,6 @@ return array (
301
  441477 => 'Holmes Chapel',
302
  441478 => 'Isle of Skye - Portree',
303
  441479 => 'Grantown-on-Spey',
304
- 44147981 => 'Aviemore',
305
- 44147982 => 'Nethy Bridge',
306
- 44147983 => 'Boat of Garten',
307
- 44147984 => 'Carrbridge',
308
- 44147985 => 'Dulnain Bridge',
309
- 44147986 => 'Cairngorm',
310
  441480 => 'Huntingdon',
311
  441481 => 'Guernsey',
312
  441482 => 'Kingston-upon-Hull',
@@ -772,13 +753,19 @@ return array (
772
  44239 => 'Portsmouth',
773
  44241 => 'Coventry',
774
  44247 => 'Coventry',
 
775
  44281 => 'Northern Ireland',
776
  442820 => 'Ballycastle',
777
  442821 => 'Martinstown',
 
 
 
778
  442825 => 'Ballymena',
 
779
  442827 => 'Ballymoney',
780
  442828 => 'Larne',
781
  442829 => 'Kilrea',
 
782
  442830 => 'Newry',
783
  442837 => 'Armagh',
784
  442838 => 'Portadown',
@@ -787,9 +774,16 @@ return array (
787
  442842 => 'Kircubbin',
788
  442843 => 'Newcastle (Co. Down)',
789
  442844 => 'Downpatrick',
 
 
 
 
 
 
790
  442866 => 'Enniskillen',
791
  442867 => 'Lisnaskea',
792
  442868 => 'Kesh',
 
793
  442870 => 'Coleraine',
794
  442871 => 'Londonderry',
795
  442877 => 'Limavady',
@@ -797,9 +791,12 @@ return array (
797
  442880 => 'Carrickmore',
798
  442881 => 'Newtownstewart',
799
  442882 => 'Omagh',
 
 
800
  442885 => 'Ballygawley',
801
  442886 => 'Cookstown',
802
  442887 => 'Dungannon',
 
803
  442889 => 'Fivemiletown',
804
  442890 => 'Belfast',
805
  442891 => 'Bangor (Co. Down)',
@@ -810,6 +807,7 @@ return array (
810
  442896 => 'Belfast',
811
  442897 => 'Saintfield',
812
  442898 => 'Belfast',
 
813
  44291 => 'Cardiff',
814
  44292 => 'Cardiff',
815
  );
12
 
13
  return array (
14
  44113 => 'Leeds',
15
+ 44114 => 'Sheffield',
 
 
 
 
 
16
  44115 => 'Nottingham',
17
  44116 => 'Leicester',
18
  44117 => 'Bristol',
25
  441207 => 'Consett',
26
  441208 => 'Bodmin',
27
  441209 => 'Redruth',
28
+ 44121 => 'Birmingham',
 
 
 
 
 
 
 
 
29
  441223 => 'Cambridge',
30
  441224 => 'Aberdeen',
31
  441225 => 'Bath',
288
  441477 => 'Holmes Chapel',
289
  441478 => 'Isle of Skye - Portree',
290
  441479 => 'Grantown-on-Spey',
 
 
 
 
 
 
291
  441480 => 'Huntingdon',
292
  441481 => 'Guernsey',
293
  441482 => 'Kingston-upon-Hull',
753
  44239 => 'Portsmouth',
754
  44241 => 'Coventry',
755
  44247 => 'Coventry',
756
+ 44280 => 'Northern Ireland',
757
  44281 => 'Northern Ireland',
758
  442820 => 'Ballycastle',
759
  442821 => 'Martinstown',
760
+ 442822 => 'Northern Ireland',
761
+ 442823 => 'Northern Ireland',
762
+ 442824 => 'Northern Ireland',
763
  442825 => 'Ballymena',
764
+ 442826 => 'Northern Ireland',
765
  442827 => 'Ballymoney',
766
  442828 => 'Larne',
767
  442829 => 'Kilrea',
768
+ 44283 => 'Northern Ireland',
769
  442830 => 'Newry',
770
  442837 => 'Armagh',
771
  442838 => 'Portadown',
774
  442842 => 'Kircubbin',
775
  442843 => 'Newcastle (Co. Down)',
776
  442844 => 'Downpatrick',
777
+ 442845 => 'Northern Ireland',
778
+ 442846 => 'Northern Ireland',
779
+ 442847 => 'Northern Ireland',
780
+ 442848 => 'Northern Ireland',
781
+ 442849 => 'Northern Ireland',
782
+ 44286 => 'Northern Ireland',
783
  442866 => 'Enniskillen',
784
  442867 => 'Lisnaskea',
785
  442868 => 'Kesh',
786
+ 44287 => 'Northern Ireland',
787
  442870 => 'Coleraine',
788
  442871 => 'Londonderry',
789
  442877 => 'Limavady',
791
  442880 => 'Carrickmore',
792
  442881 => 'Newtownstewart',
793
  442882 => 'Omagh',
794
+ 442883 => 'Northern Ireland',
795
+ 442884 => 'Northern Ireland',
796
  442885 => 'Ballygawley',
797
  442886 => 'Cookstown',
798
  442887 => 'Dungannon',
799
+ 442888 => 'Northern Ireland',
800
  442889 => 'Fivemiletown',
801
  442890 => 'Belfast',
802
  442891 => 'Bangor (Co. Down)',
807
  442896 => 'Belfast',
808
  442897 => 'Saintfield',
809
  442898 => 'Belfast',
810
+ 442899 => 'Northern Ireland',
811
  44291 => 'Cardiff',
812
  44292 => 'Cardiff',
813
  );
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/54.php CHANGED
@@ -293,6 +293,7 @@ return array (
293
  543832 => 'Recreo, Catamarca',
294
  543834 => 'San Fernando del Valle de Catamarca, Catamarca',
295
  543835 => 'Andalgalá, Catamarca',
 
296
  543837 => 'Tinogasta, Catamarca',
297
  543838 => 'Santa María, Catamarca',
298
  543841 => 'Monte Quemado, Santiago del Estero',
293
  543832 => 'Recreo, Catamarca',
294
  543834 => 'San Fernando del Valle de Catamarca, Catamarca',
295
  543835 => 'Andalgalá, Catamarca',
296
+ 543836 => 'Andalgalá, Catamarca',
297
  543837 => 'Tinogasta, Catamarca',
298
  543838 => 'Santa María, Catamarca',
299
  543841 => 'Monte Quemado, Santiago del Estero',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php CHANGED
@@ -3839,7 +3839,8 @@ return array (
3839
  61253307 => 'Canowindra',
3840
  61253308 => 'Harden',
3841
  61253309 => 'Baldry',
3842
- 61253320 => 'Canowindra',
 
3843
  61253330 => 'Dunedoo',
3844
  61253331 => 'Dunedoo',
3845
  61253332 => 'Dunedoo',
@@ -3850,14 +3851,15 @@ return array (
3850
  61253337 => 'Mudgee',
3851
  61253338 => 'Mudgee',
3852
  61253339 => 'Hill End',
3853
- 61253349 => 'Hampton',
3854
  6125335 => 'Orange',
3855
  61253350 => 'Hampton',
3856
  61253351 => 'Hampton',
3857
  61253355 => 'Mudgee',
3858
- 61253369 => 'Running Stream',
3859
- 61253380 => 'Young',
3860
- 61253381 => 'Lyndhurst',
 
3861
  6125353 => 'Orange',
3862
  6125354 => 'Lithgow',
3863
  61253550 => 'Bathurst',
@@ -14894,8 +14896,7 @@ return array (
14894
  61269997 => 'Gundagai',
14895
  61269998 => 'Mannus',
14896
  61269999 => 'Nangus',
14897
- 6127200 => 'Sydney',
14898
- 6127201 => 'Sydney',
14899
  61275000 => 'Engadine',
14900
  61275001 => 'Sutherland',
14901
  61275002 => 'Engadine',
@@ -17908,106 +17909,16 @@ return array (
17908
  613431997 => 'Wilkur',
17909
  613431998 => 'Willaura',
17910
  613431999 => 'Yaapeet',
17911
- 613432000 => 'Ararat',
17912
- 613432001 => 'Bacchus Marsh',
17913
- 613432002 => 'Ballan',
17914
- 613432003 => 'Ballarat',
17915
- 613432004 => 'Balliang',
17916
- 613432005 => 'Bangerang',
17917
- 613432006 => 'Banyena',
17918
- 613432007 => 'Beaufort',
17919
- 613432008 => 'Beulah',
17920
- 613432009 => 'Broughton',
17921
- 613432010 => 'Buangor',
17922
- 613432011 => 'Buninyong',
17923
- 613432012 => 'Clear Lake',
17924
- 613432013 => 'Creswick',
17925
- 613432014 => 'Crymelon',
17926
- 613432015 => 'Dadswells Bridge',
17927
- 613432016 => 'Daylesford',
17928
- 613432017 => 'Dimboola',
17929
- 613432018 => 'Elmhurst',
17930
- 613432019 => 'Gerang Gerung',
17931
- 613432020 => 'Glenisla',
17932
- 613432021 => 'Glenorchy',
17933
- 613432022 => 'Goroke',
17934
- 613432023 => 'Halls Gap',
17935
- 613432024 => 'Horsham',
17936
- 613432025 => 'Jeparit',
17937
- 613432026 => 'Kalkee',
17938
- 613432027 => 'Kaniva',
17939
- 613432028 => 'Laharum',
17940
- 613432029 => 'Lake Bolac',
17941
- 613432030 => 'Landsborough',
17942
- 613432031 => 'Learmonth',
17943
- 613432032 => 'Linton',
17944
- 613432033 => 'Lorquon',
17945
- 613432034 => 'Marnoo',
17946
- 613432035 => 'Maroona',
17947
- 613432036 => 'Minimay',
17948
- 613432037 => 'Minyip',
17949
- 613432038 => 'Mount Wallace',
17950
- 613432039 => 'Moyston',
17951
- 613432040 => 'Murtoa',
17952
- 613432041 => 'Natimuk',
17953
- 613432042 => 'Navarre',
17954
- 613432043 => 'Nhill',
17955
- 613432044 => 'Polkemmet',
17956
- 613432045 => 'Rainbow',
17957
- 613432046 => 'Rokewood',
17958
- 613432047 => 'Scarsdale',
17959
- 613432048 => 'Serviceton',
17960
- 613432049 => 'Skipton',
17961
- 613432050 => 'Stawell',
17962
- 613432051 => 'Stoneleigh',
17963
- 613432052 => 'Streatham',
17964
- 613432053 => 'Telopea Downs',
17965
- 613432054 => 'Warracknabeal',
17966
- 613432055 => 'Wilkur',
17967
- 613432056 => 'Willaura',
17968
- 613432057 => 'Yaapeet',
17969
- 613432058 => 'Ararat',
17970
- 613432059 => 'Bacchus Marsh',
17971
- 613432060 => 'Ballan',
17972
- 613432061 => 'Ballarat',
17973
- 613432062 => 'Balliang',
17974
- 613432063 => 'Bangerang',
17975
- 613432064 => 'Banyena',
17976
- 613432065 => 'Beaufort',
17977
- 613432066 => 'Beulah',
17978
- 613432067 => 'Broughton',
17979
- 613432068 => 'Buangor',
17980
- 613432069 => 'Buninyong',
17981
- 613432070 => 'Clear Lake',
17982
- 613432071 => 'Creswick',
17983
- 613432072 => 'Crymelon',
17984
- 613432073 => 'Dadswells Bridge',
17985
- 613432074 => 'Daylesford',
17986
- 613432075 => 'Dimboola',
17987
- 613432076 => 'Elmhurst',
17988
- 613432077 => 'Gerang Gerung',
17989
- 613432078 => 'Glenisla',
17990
- 613432079 => 'Glenorchy',
17991
- 613432080 => 'Goroke',
17992
- 613432081 => 'Halls Gap',
17993
- 613432082 => 'Horsham',
17994
- 613432083 => 'Jeparit',
17995
- 613432084 => 'Kalkee',
17996
- 613432085 => 'Kaniva',
17997
- 613432086 => 'Laharum',
17998
- 613432087 => 'Lake Bolac',
17999
- 613432088 => 'Landsborough',
18000
- 613432089 => 'Learmonth',
18001
- 613432090 => 'Linton',
18002
- 613432091 => 'Lorquon',
18003
- 613432092 => 'Marnoo',
18004
- 613432093 => 'Maroona',
18005
- 613432094 => 'Minimay',
18006
- 613432095 => 'Minyip',
18007
- 613432096 => 'Mount Wallace',
18008
- 613432097 => 'Moyston',
18009
- 613432098 => 'Murtoa',
18010
- 613432099 => 'Natimuk',
18011
  613432100 => 'Navarre',
18012
  613432101 => 'Nhill',
18013
  613432102 => 'Polkemmet',
@@ -18094,8 +18005,31 @@ return array (
18094
  61343227 => 'Balliang',
18095
  61343228 => 'Balliang',
18096
  61343229 => 'Dadswells Bridge',
 
18097
  61343240 => 'Maroona',
18098
  61343259 => 'Serviceton',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18099
  6134330 => 'Ballarat',
18100
  6134331 => 'Ballarat',
18101
  6134332 => 'Ballarat',
@@ -18818,6 +18752,15 @@ return array (
18818
  61344230 => 'Birchip',
18819
  61344249 => 'Lake Meran',
18820
  61344260 => 'Moonambel',
 
 
 
 
 
 
 
 
 
18821
  61344311 => 'Bendigo',
18822
  61344312 => 'Bendigo',
18823
  61344313 => 'Bendigo',
@@ -29254,8 +29197,7 @@ return array (
29254
  6137005 => 'Melbourne',
29255
  6137006 => 'Melbourne',
29256
  6137007 => 'Melbourne',
29257
- 6137010 => 'Melbourne',
29258
- 6137017 => 'Melbourne',
29259
  6137020 => 'Melbourne',
29260
  6137021 => 'Melbourne',
29261
  6137022 => 'Melbourne',
@@ -29660,8 +29602,7 @@ return array (
29660
  6138587 => 'Clayton',
29661
  6138588 => 'Clayton',
29662
  6138589 => 'Melbourne',
29663
- 6138590 => 'Melbourne',
29664
- 6138591 => 'Melbourne',
29665
  6138604 => 'Melbourne',
29666
  6138607 => 'Melbourne',
29667
  6138608 => 'Melbourne',
@@ -29926,64 +29867,11 @@ return array (
29926
  61389030 => 'Dandenong',
29927
  61389031 => 'Dandenong',
29928
  61389032 => 'Dandenong',
29929
- 6139000 => 'Melbourne',
29930
- 6139001 => 'Melbourne',
29931
- 6139002 => 'Melbourne',
29932
- 6139003 => 'Melbourne',
29933
- 6139004 => 'Melbourne',
29934
- 6139005 => 'Melbourne',
29935
- 6139006 => 'Melbourne',
29936
  61390070 => 'Eltham',
29937
- 61390071 => 'Melbourne',
29938
- 61390072 => 'Melbourne',
29939
- 61390073 => 'Melbourne',
29940
- 61390074 => 'Melbourne',
29941
- 61390075 => 'Melbourne',
29942
- 61390076 => 'Melbourne',
29943
- 6139008 => 'Melbourne',
29944
- 6139009 => 'Melbourne',
29945
  61390090 => 'Eltham',
29946
  61390091 => 'Eltham',
29947
  61390092 => 'Eltham',
29948
- 61390130 => 'Melbourne',
29949
- 61390154 => 'Melbourne',
29950
- 61390163 => 'Melbourne',
29951
- 6139022 => 'Melbourne',
29952
- 6139023 => 'Melbourne',
29953
- 6139024 => 'Melbourne',
29954
- 6139029 => 'Melbourne',
29955
- 6139034 => 'Melbourne',
29956
- 6139035 => 'Melbourne',
29957
- 6139036 => 'Melbourne',
29958
- 6139048 => 'Melbourne',
29959
- 6139049 => 'Melbourne',
29960
- 6139050 => 'Melbourne',
29961
- 6139051 => 'Melbourne',
29962
- 6139052 => 'Melbourne',
29963
- 6139055 => 'Melbourne',
29964
- 6139058 => 'Melbourne',
29965
- 61390635 => 'Melbourne',
29966
- 61390636 => 'Melbourne',
29967
- 61390637 => 'Melbourne',
29968
- 61390638 => 'Melbourne',
29969
- 61390639 => 'Melbourne',
29970
- 6139064 => 'Melbourne',
29971
- 6139065 => 'Melbourne',
29972
- 6139066 => 'Melbourne',
29973
- 6139067 => 'Melbourne',
29974
- 6139068 => 'Melbourne',
29975
- 6139069 => 'Melbourne',
29976
- 61390710 => 'Melbourne',
29977
- 61390711 => 'Melbourne',
29978
- 61390712 => 'Melbourne',
29979
- 61390713 => 'Melbourne',
29980
- 61390714 => 'Melbourne',
29981
- 6139076 => 'Melbourne',
29982
- 6139077 => 'Melbourne',
29983
- 6139078 => 'Melbourne',
29984
- 6139079 => 'Melbourne',
29985
- 613908 => 'Melbourne',
29986
- 61390990 => 'Melbourne',
29987
  6139100 => 'Melbourne',
29988
  61391011 => 'Melbourne',
29989
  61391012 => 'Melbourne',
@@ -30514,43 +30402,11 @@ return array (
30514
  61730594 => 'Samford',
30515
  61730595 => 'Beenleigh',
30516
  61730597 => 'Ipswich',
30517
- 61730600 => 'Brisbane',
30518
- 61730601 => 'Samford',
30519
- 61730602 => 'Redcliffe',
30520
- 61730603 => 'Cleveland',
30521
- 61730604 => 'Ipswich',
30522
- 61730605 => 'Beenleigh',
30523
- 61730606 => 'Samford',
30524
- 61730607 => 'Redcliffe',
30525
- 61730608 => 'Cleveland',
30526
- 61730609 => 'Ipswich',
30527
- 6173061 => 'Brisbane',
30528
- 61730610 => 'Redcliffe',
30529
- 61730611 => 'Samford',
30530
- 61730640 => 'Brisbane',
30531
- 61730641 => 'Brisbane',
30532
- 61730642 => 'Bribie Island',
30533
- 61730643 => 'Brisbane',
30534
- 61730644 => 'Dayboro',
30535
- 61730645 => 'Dunwich',
30536
- 61730646 => 'Kooringal',
30537
- 61730647 => 'Redcliffe',
30538
- 61730648 => 'Russell Island',
30539
- 61730649 => 'Samford',
30540
- 61730650 => 'Bribie Island',
30541
- 61730651 => 'Brisbane',
30542
- 61730652 => 'Dayboro',
30543
- 61730653 => 'Dunwich',
30544
- 61730654 => 'Kooringal',
30545
- 61730655 => 'Redcliffe',
30546
- 61730656 => 'Russell Island',
30547
- 61730657 => 'Samford',
30548
- 61730658 => 'Bribie Island',
30549
- 61730659 => 'Brisbane',
30550
- 6173066 => 'Brisbane',
30551
- 6173067 => 'Brisbane',
30552
- 6173068 => 'Brisbane',
30553
- 6173069 => 'Brisbane',
30554
  6173070 => 'Brisbane',
30555
  6173071 => 'Brisbane',
30556
  6173072 => 'Brisbane',
@@ -30698,9 +30554,7 @@ return array (
30698
  6173297 => 'Beenleigh',
30699
  6173298 => 'Samford',
30700
  6173299 => 'Beenleigh',
30701
- 6173300 => 'Brisbane',
30702
- 61733095 => 'Brisbane',
30703
- 61733099 => 'Brisbane',
30704
  6173316 => 'Brisbane',
30705
  6173319 => 'Brisbane',
30706
  6173322 => 'Brisbane',
@@ -30709,6 +30563,7 @@ return array (
30709
  6173342 => 'Brisbane',
30710
  617335 => 'Brisbane',
30711
  617336 => 'Brisbane',
 
30712
  6173380 => 'Beenleigh',
30713
  6173381 => 'Ipswich',
30714
  6173382 => 'Beenleigh',
@@ -30721,6 +30576,7 @@ return array (
30721
  6173389 => 'Ipswich',
30722
  61733898 => 'Beenleigh',
30723
  61733899 => 'Beenleigh',
 
30724
  61734000 => 'Kooringal',
30725
  61734001 => 'Kooringal',
30726
  61734002 => 'Kooringal',
@@ -42352,6 +42208,14 @@ return array (
42352
  617750421 => 'Yuleba',
42353
  61775049 => 'Bonshaw',
42354
  61775060 => 'Bunya Mountains',
 
 
 
 
 
 
 
 
42355
  61775079 => 'Durham Downs',
42356
  61775090 => 'Inglewood',
42357
  61775109 => 'Southwood',
@@ -43213,30 +43077,7 @@ return array (
43213
  61861201 => 'Herne Hill',
43214
  61861202 => 'Herne Hill',
43215
  61861203 => 'Herne Hill',
43216
- 61861402 => 'Perth',
43217
- 6186141 => 'Perth',
43218
- 6186142 => 'Perth',
43219
- 6186143 => 'Perth',
43220
- 6186144 => 'Perth',
43221
- 6186145 => 'Perth',
43222
- 6186146 => 'Perth',
43223
- 61861471 => 'Perth',
43224
- 61861472 => 'Perth',
43225
- 61861473 => 'Perth',
43226
- 61861474 => 'Perth',
43227
- 61861475 => 'Perth',
43228
- 61861476 => 'Perth',
43229
- 61861477 => 'Perth',
43230
- 61861478 => 'Perth',
43231
- 61861479 => 'Perth',
43232
- 6186148 => 'Perth',
43233
- 61861490 => 'Perth',
43234
- 61861491 => 'Perth',
43235
- 61861492 => 'Perth',
43236
- 61861493 => 'Perth',
43237
- 61861494 => 'Perth',
43238
- 61861495 => 'Perth',
43239
- 61861496 => 'Perth',
43240
  6186150 => 'Perth',
43241
  6186151 => 'Perth',
43242
  6186152 => 'Perth',
@@ -46684,6 +46525,16 @@ return array (
46684
  61875409 => 'Policemans Point',
46685
  61875420 => 'Tailem Bend',
46686
  61875433 => 'Mannum',
 
 
 
 
 
 
 
 
 
 
46687
  61875550 => 'Murray Bridge',
46688
  61875551 => 'Windsor',
46689
  61875552 => 'Willunga',
3839
  61253307 => 'Canowindra',
3840
  61253308 => 'Harden',
3841
  61253309 => 'Baldry',
3842
+ 6125331 => 'Blayney/Bylong/Canowindra',
3843
+ 6125332 => 'Canowindra/Caragabal/Cassilis/Cowra',
3844
  61253330 => 'Dunedoo',
3845
  61253331 => 'Dunedoo',
3846
  61253332 => 'Dunedoo',
3851
  61253337 => 'Mudgee',
3852
  61253338 => 'Mudgee',
3853
  61253339 => 'Hill End',
3854
+ 6125334 => 'Frogmore/Gooloogong/Greenethorpe/Hampton',
3855
  6125335 => 'Orange',
3856
  61253350 => 'Hampton',
3857
  61253351 => 'Hampton',
3858
  61253355 => 'Mudgee',
3859
+ 6125336 => 'Koorawatha/Lyndhurst/Ooma/Running Stream',
3860
+ 6125337 => 'Running Stream/Twelve Mile/Tyagong/Young',
3861
+ 6125338 => 'Young/Lyndhurst/Oberon/Cowra/Grenfell/Bathurst/Orange',
3862
+ 6125339 => 'Orange/Lithgow/Gooloogong/Greenethorpe/Grenfell/Cassilis/Gulgong/Cowra/Hampton/Harden/Hill End/Kandos/Killongbutta/Koorawatha/Laheys Creek/Leadville/Limekilns/Lue/Lyndhurst/Bathurst',
3863
  6125353 => 'Orange',
3864
  6125354 => 'Lithgow',
3865
  61253550 => 'Bathurst',
14896
  61269997 => 'Gundagai',
14897
  61269998 => 'Mannus',
14898
  61269999 => 'Nangus',
14899
+ 61272 => 'Sydney',
 
14900
  61275000 => 'Engadine',
14901
  61275001 => 'Sutherland',
14902
  61275002 => 'Engadine',
17909
  613431997 => 'Wilkur',
17910
  613431998 => 'Willaura',
17911
  613431999 => 'Yaapeet',
17912
+ 61343200 => 'Ballarat',
17913
+ 61343201 => 'Horsham',
17914
+ 61343202 => 'Dadswells Bridge',
17915
+ 61343203 => 'Balliang',
17916
+ 61343204 => 'Maroona',
17917
+ 61343205 => 'Ararat/Bacchus Marsh/Ballan/Ballarat/Balliang/Bangerang/Banyena/Beaufort',
17918
+ 61343206 => 'Ballan/Ballarat/Balliang/Bangerang/Banyena/Beaufort/Beulah/Broughton/Buangor/Buninyong',
17919
+ 61343207 => 'Clear Lake/Creswick/Crymelon/Dadswells Bridge/Daylesford/Dimboola/Elmhurst/Gerang Gerung/Glenisla/Glenorchy',
17920
+ 61343208 => 'Goroke/Halls Gap/Horsham/Jeparit/Kalkee/Kaniva/Laharum/Lake Bolac/Landsborough/Learmonth',
17921
+ 61343209 => 'Linton/Lorquon/Marnoo/Maroona/Minimay/Minyip/Mount Wallace/Moyston/Murtoa/Natimuk',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17922
  613432100 => 'Navarre',
17923
  613432101 => 'Nhill',
17924
  613432102 => 'Polkemmet',
18005
  61343227 => 'Balliang',
18006
  61343228 => 'Balliang',
18007
  61343229 => 'Dadswells Bridge',
18008
+ 6134323 => 'Dadswells Bridge/Daylesford/Glenisla/Maroona',
18009
  61343240 => 'Maroona',
18010
  61343259 => 'Serviceton',
18011
+ 6134326 => 'Serviceton/Warracknabeal/Halls Gap/Bacchus Marsh',
18012
+ 6134327 => 'Ballarat/Bacchus Marsh/Kaniva/Learmonth/Clear Lake/Creswick/Crymelon/Dadswells Bridge/Daylesford/Dimboola/Elmhurst/Gerang Gerung/Glenisla/Glenorchy',
18013
+ 61343280 => 'Goroke/Halls Gap/Horsham/Jeparit/Kalkee/Natimuk/Navarre/Nhill/Polkemmet/Rainbow',
18014
+ 61343281 => 'Rokewood/Scarsdale/Serviceton/Skipton/Stawell/Stoneleigh/Streatham/Telopea Downs/Warracknabeal/Wilkur',
18015
+ 61343282 => 'Willaura/Yaapeet/Kaniva/Laharum/Lake Bolac/Landsborough/Learmonth/Linton/Lorquon/Marnoo',
18016
+ 61343283 => 'Maroona/Minimay/Minyip/Mount Wallace/Moyston/Murtoa/Natimuk/Navarre/Nhill/Polkemmet',
18017
+ 61343284 => 'Ararat',
18018
+ 61343285 => 'Rainbow/Rokewood/Scarsdale/Serviceton/Skipton/Stawell/Stoneleigh/Streatham/Telopea Downs/Warracknabeal',
18019
+ 61343286 => 'Bacchus Marsh',
18020
+ 61343287 => 'Wilkur/Willaura/Yaapeet/Glenisla/Glenorchy/Goroke/Halls Gap/Horsham/Jeparit/Kalkee',
18021
+ 61343288 => 'Ballan',
18022
+ 61343289 => 'Warracknabeal',
18023
+ 61343290 => 'Ballarat',
18024
+ 61343291 => 'Ballarat',
18025
+ 61343292 => 'Balliang',
18026
+ 61343293 => 'Ballarat',
18027
+ 61343294 => 'Bangerang',
18028
+ 61343295 => 'Kaniva/Laharum/Lake Bolac/Landsborough/Learmonth/Linton/Lorquon/Marnoo/Maroona/Minimay',
18029
+ 61343296 => 'Banyena',
18030
+ 61343297 => 'Minyip/Mount Wallace/Moyston/Murtoa/Natimuk/Navarre/Nhill/Polkemmet/Rainbow/Rokewood',
18031
+ 61343298 => 'Beaufort',
18032
+ 61343299 => 'Horsham',
18033
  6134330 => 'Ballarat',
18034
  6134331 => 'Ballarat',
18035
  6134332 => 'Ballarat',
18752
  61344230 => 'Birchip',
18753
  61344249 => 'Lake Meran',
18754
  61344260 => 'Moonambel',
18755
+ 61344261 => 'St Arnaud',
18756
+ 61344262 => 'St Arnaud',
18757
+ 61344263 => 'St Arnaud',
18758
+ 61344264 => 'Talbot',
18759
+ 61344265 => 'Talbot',
18760
+ 61344266 => 'Talbot',
18761
+ 61344267 => 'Traynors Lagoon',
18762
+ 61344268 => 'Traynors Lagoon',
18763
+ 61344269 => 'Traynors Lagoon',
18764
  61344311 => 'Bendigo',
18765
  61344312 => 'Bendigo',
18766
  61344313 => 'Bendigo',
29197
  6137005 => 'Melbourne',
29198
  6137006 => 'Melbourne',
29199
  6137007 => 'Melbourne',
29200
+ 613701 => 'Melbourne',
 
29201
  6137020 => 'Melbourne',
29202
  6137021 => 'Melbourne',
29203
  6137022 => 'Melbourne',
29602
  6138587 => 'Clayton',
29603
  6138588 => 'Clayton',
29604
  6138589 => 'Melbourne',
29605
+ 613859 => 'Melbourne',
 
29606
  6138604 => 'Melbourne',
29607
  6138607 => 'Melbourne',
29608
  6138608 => 'Melbourne',
29867
  61389030 => 'Dandenong',
29868
  61389031 => 'Dandenong',
29869
  61389032 => 'Dandenong',
29870
+ 61390 => 'Melbourne',
 
 
 
 
 
 
29871
  61390070 => 'Eltham',
 
 
 
 
 
 
 
 
29872
  61390090 => 'Eltham',
29873
  61390091 => 'Eltham',
29874
  61390092 => 'Eltham',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29875
  6139100 => 'Melbourne',
29876
  61391011 => 'Melbourne',
29877
  61391012 => 'Melbourne',
30402
  61730594 => 'Samford',
30403
  61730595 => 'Beenleigh',
30404
  61730597 => 'Ipswich',
30405
+ 617306 => 'Brisbane',
30406
+ 6173060 => 'Brisbane/Beenleigh/Cleveland/Ipswich/Redcliffe/Samford',
30407
+ 6173061 => 'Brisbane/Redcliffe/Samford',
30408
+ 6173064 => 'Brisbane/Bribie Island/Dayboro/Dunwich/Kooringal/Redcliffe/Russell Island/Samford',
30409
+ 6173065 => 'Brisbane/Bribie Island/Dayboro/Dunwich/Kooringal/Redcliffe/Russell Island/Samford',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30410
  6173070 => 'Brisbane',
30411
  6173071 => 'Brisbane',
30412
  6173072 => 'Brisbane',
30554
  6173297 => 'Beenleigh',
30555
  6173298 => 'Samford',
30556
  6173299 => 'Beenleigh',
30557
+ 617330 => 'Brisbane',
 
 
30558
  6173316 => 'Brisbane',
30559
  6173319 => 'Brisbane',
30560
  6173322 => 'Brisbane',
30563
  6173342 => 'Brisbane',
30564
  617335 => 'Brisbane',
30565
  617336 => 'Brisbane',
30566
+ 617337 => 'Brisbane',
30567
  6173380 => 'Beenleigh',
30568
  6173381 => 'Ipswich',
30569
  6173382 => 'Beenleigh',
30576
  6173389 => 'Ipswich',
30577
  61733898 => 'Beenleigh',
30578
  61733899 => 'Beenleigh',
30579
+ 617339 => 'Brisbane',
30580
  61734000 => 'Kooringal',
30581
  61734001 => 'Kooringal',
30582
  61734002 => 'Kooringal',
42208
  617750421 => 'Yuleba',
42209
  61775049 => 'Bonshaw',
42210
  61775060 => 'Bunya Mountains',
42211
+ 61775070 => 'Cooyar',
42212
+ 61775071 => 'Cooyar',
42213
+ 61775072 => 'Cooyar',
42214
+ 61775073 => 'Cunnamulla',
42215
+ 61775074 => 'Cunnamulla',
42216
+ 61775075 => 'Cunnamulla',
42217
+ 61775077 => 'Darr Creek',
42218
+ 61775078 => 'Darr Creek',
42219
  61775079 => 'Durham Downs',
42220
  61775090 => 'Inglewood',
42221
  61775109 => 'Southwood',
43077
  61861201 => 'Herne Hill',
43078
  61861202 => 'Herne Hill',
43079
  61861203 => 'Herne Hill',
43080
+ 618614 => 'Perth',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43081
  6186150 => 'Perth',
43082
  6186151 => 'Perth',
43083
  6186152 => 'Perth',
46525
  61875409 => 'Policemans Point',
46526
  61875420 => 'Tailem Bend',
46527
  61875433 => 'Mannum',
46528
+ 61875521 => 'Pinnaroo',
46529
+ 61875523 => 'Policemans Point',
46530
+ 61875525 => 'Renmark',
46531
+ 61875527 => 'Riverton',
46532
+ 61875529 => 'Robertstown',
46533
+ 61875531 => 'Sanderston',
46534
+ 61875533 => 'Sandleton',
46535
+ 61875535 => 'Sedan',
46536
+ 61875537 => 'Strathalbyn',
46537
+ 61875539 => 'Swan Reach',
46538
  61875550 => 'Murray Bridge',
46539
  61875551 => 'Windsor',
46540
  61875552 => 'Willunga',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/34.php CHANGED
@@ -19,6 +19,7 @@ return array (
19
  34854 => 'Sevilla',
20
  34857 => 'Córdoba',
21
  34871 => 'Baleares',
 
22
  34873 => 'Lérida',
23
  34888 => 'Orense',
24
  34944 => 'Vizcaya',
@@ -29,6 +30,7 @@ return array (
29
  34955 => 'Sevilla',
30
  34957 => 'Córdoba',
31
  34971 => 'Baleares',
 
32
  349730 => 'Lérida',
33
  349731 => 'Lérida',
34
  349732 => 'Lérida',
19
  34854 => 'Sevilla',
20
  34857 => 'Córdoba',
21
  34871 => 'Baleares',
22
+ 34872 => 'Gerona',
23
  34873 => 'Lérida',
24
  34888 => 'Orense',
25
  34944 => 'Vizcaya',
30
  34955 => 'Sevilla',
31
  34957 => 'Córdoba',
32
  34971 => 'Baleares',
33
+ 34972 => 'Gerona',
34
  349730 => 'Lérida',
35
  349731 => 'Lérida',
36
  349732 => 'Lérida',
vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/212.php CHANGED
@@ -29,7 +29,7 @@ return array (
29
  2125366 => 'Oujda/Figuig',
30
  2125367 => 'Oujda/Bouarfa',
31
  2125380 => 'Rabat et alentours',
32
- 21253880 => 'Tanger et alentours',
33
  21253890 => 'Fès/Maknès et alentours',
34
  2125393 => 'Tanger',
35
  2125399 => 'Tanger/Larache/Al Hoceima',
29
  2125366 => 'Oujda/Figuig',
30
  2125367 => 'Oujda/Bouarfa',
31
  2125380 => 'Rabat et alentours',
32
+ 2125388 => 'Tanger et alentours',
33
  21253890 => 'Fès/Maknès et alentours',
34
  2125393 => 'Tanger',
35
  2125399 => 'Tanger/Larache/Al Hoceima',
vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php CHANGED
@@ -666,7 +666,14 @@ return array (
666
  1308874 => 'America/Denver',
667
  1308882 => 'America/Denver',
668
  1309 => 'America/Chicago',
669
- 1310 => 'America/Los_Angeles',
 
 
 
 
 
 
 
670
  1312 => 'America/Chicago',
671
  1313 => 'America/New_York',
672
  1314 => 'America/Chicago',
@@ -1611,6 +1618,7 @@ return array (
1611
  1819 => 'America/Toronto',
1612
  1820 => 'America/Los_Angeles',
1613
  1825 => 'America/Edmonton',
 
1614
  1828 => 'America/New_York',
1615
  1829 => 'America/Santo_Domingo',
1616
  1830 => 'America/Chicago',
@@ -2173,6 +2181,7 @@ return array (
2173
  391 => 'Europe/Rome&Europe/Vatican',
2174
  393 => 'Europe/Rome&Europe/Vatican',
2175
  395 => 'Europe/Rome&Europe/Vatican',
 
2176
  398 => 'Europe/Rome&Europe/Vatican',
2177
  40 => 'Europe/Bucharest',
2178
  41 => 'Europe/Zurich',
666
  1308874 => 'America/Denver',
667
  1308882 => 'America/Denver',
668
  1309 => 'America/Chicago',
669
+ 13102 => 'America/Los_Angeles',
670
+ 13103 => 'America/Los_Angeles',
671
+ 13104 => 'America/Los_Angeles',
672
+ 13105 => 'America/Los_Angeles',
673
+ 13106 => 'America/Los_Angeles',
674
+ 13107 => 'America/Los_Angeles',
675
+ 13108 => 'America/Los_Angeles',
676
+ 13109 => 'America/Los_Angeles',
677
  1312 => 'America/Chicago',
678
  1313 => 'America/New_York',
679
  1314 => 'America/Chicago',
1618
  1819 => 'America/Toronto',
1619
  1820 => 'America/Los_Angeles',
1620
  1825 => 'America/Edmonton',
1621
+ 1826 => 'America/New_York',
1622
  1828 => 'America/New_York',
1623
  1829 => 'America/Santo_Domingo',
1624
  1830 => 'America/Chicago',
2181
  391 => 'Europe/Rome&Europe/Vatican',
2182
  393 => 'Europe/Rome&Europe/Vatican',
2183
  395 => 'Europe/Rome&Europe/Vatican',
2184
+ 397 => 'Europe/Rome',
2185
  398 => 'Europe/Rome&Europe/Vatican',
2186
  40 => 'Europe/Bucharest',
2187
  41 => 'Europe/Zurich',
vendor/symfony/polyfill-iconv/README.md CHANGED
@@ -6,7 +6,7 @@ This component provides a native PHP implementation of the
6
  (short of [`ob_iconv_handler`](https://php.net/ob-iconv-handler)).
7
 
8
  More information can be found in the
9
- [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
10
 
11
  License
12
  =======
6
  (short of [`ob_iconv_handler`](https://php.net/ob-iconv-handler)).
7
 
8
  More information can be found in the
9
+ [main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
10
 
11
  License
12
  =======
vendor/symfony/polyfill-iconv/composer.json CHANGED
@@ -31,7 +31,7 @@
31
  "minimum-stability": "dev",
32
  "extra": {
33
  "branch-alias": {
34
- "dev-main": "1.23-dev"
35
  },
36
  "thanks": {
37
  "name": "symfony/polyfill",
31
  "minimum-stability": "dev",
32
  "extra": {
33
  "branch-alias": {
34
+ "dev-main": "1.26-dev"
35
  },
36
  "thanks": {
37
  "name": "symfony/polyfill",
wgact.php CHANGED
@@ -10,17 +10,16 @@
10
  * Developer URI: https://sweetcode.com
11
  * Text Domain: woocommerce-google-adwords-conversion-tracking-tag
12
  * Domain path: /languages
13
- * * Version: 1.17.9
14
  *
15
  * WC requires at least: 3.7
16
- * WC tested up to: 6.5
17
  *
18
  * License: GNU General Public License v3.0
19
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
20
  *
21
- *
22
  **/
23
- const WPM_CURRENT_VERSION = '1.17.9' ;
24
  // TODO export settings function
25
  // TODO add option checkbox on uninstall and ask if user wants to delete options from db
26
 
10
  * Developer URI: https://sweetcode.com
11
  * Text Domain: woocommerce-google-adwords-conversion-tracking-tag
12
  * Domain path: /languages
13
+ * * Version: 1.17.10
14
  *
15
  * WC requires at least: 3.7
16
+ * WC tested up to: 6.6
17
  *
18
  * License: GNU General Public License v3.0
19
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
20
  *
 
21
  **/
22
+ const WPM_CURRENT_VERSION = '1.17.10' ;
23
  // TODO export settings function
24
  // TODO add option checkbox on uninstall and ask if user wants to delete options from db
25