PageSourceSearch

https://www.goodsuniteus.com/wp-content/themes/FoundationPress/react/scripts/main.441bee957e3841d3b52a.js

js goodsuniteus.com collected 2026-10-02 05:19:03 UTC 77,246 bytes, 1 lines download raw bytes

1!function(){var e,t,r,n,a,o={680:function(e,t,r){"use strict";r.d(t,{s:function(){return n}});class n{}},833:function(e,t,r){"use strict";var n=r(6540);t.A=class extends n.PureComponent{render(){return n.createElement("div",{className:"content-block"},n.createElement("div",{className:"progress",role:"progressbar",tabIndex:0,"aria-valuenow":100,"aria-valuemin":100,"aria-valuetext":"Loading","aria-valuemax":100},n.createElement("span",{className:"progress-meter"},n.createElement("p",{className:"progress-meter-text"},"Loading"))))}}},2122:function(e,t,r){"use strict";r.d(t,{zR:function(){return p},vG:function(){return b},Ay:function(){return f}});var n=r(9988),a=(r(252),r(1229),r(9941),r(7254)),o=Object.freeze(a.A.IS_DEVELOPMENT_MODE?{apiKey:"AIzaSyDe3l0WUrrRQr_7Cz3FSBb3hxVNO2tzQb4",authDomain:"dev-goodsuniteus.firebaseapp.com",databaseURL:"https://dev-goodsuniteus-new.firebaseio.com",messagingSenderId:"263286294932",projectId:"dev-goodsuniteus",storageBucket:"dev-goodsuniteus.appspot.com"}:{apiKey:"AIzaSyAL3hlzDaWnyG0UgHwM8xWOs4x_dWB3QSg",authDomain:"goodsuniteus-4441a.firebaseapp.com",databaseURL:"https://goodsuniteus.firebaseio.com",messagingSenderId:"870576560923",projectId:"goodsuniteus-4441a",storageBucket:"goodsuniteus-4441a.appspot.com"}),i=r(4436);const{projectId:s,apiKey:u,authDomain:c,storageBucket:l,messagingSenderId:d,databaseURL:m}=o;try{n.A.initializeApp({projectId:s,apiKey:u,authDomain:c,databaseURL:m,messagingSenderId:d,storageBucket:l})}catch(e){i.A.error("===========FIREBASE INITIALIZATION ERROR==========="),i.A.error(e),i.A.error("====================================")}const p=n.A.database().ref(),b=n.A.storage().ref();var f=n.A},3719:function(e,t,r){"use strict";r.d(t,{m:function(){return u}});var n=r(680);class a extends n.s{constructor(e,t,r,n,a,o,i,s,u,c,l,d,m,p,b){super(),Object.defineProperty(this,"_id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"createdAt",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"contribution",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"categories",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"slug",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"score",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"social",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(this,"modifiedAt",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(this,"claim",{enumerable:!0,configurable:!0,writable:!0,value:l}),Object.defineProperty(this,"parentCompany",{enumerable:!0,configurable:!0,writable:!0,value:d}),Object.defineProperty(this,"views",{enumerable:!0,configurable:!0,writable:!0,value:m}),Object.defineProperty(this,"logoUrl",{enumerable:!0,configurable:!0,writable:!0,value:p}),Object.defineProperty(this,"affiliateTrackingLink",{enumerable:!0,configurable:!0,writable:!0,value:b})}}var o=r(2122),i=r(3776),s=r(8145);class u{constructor(){Object.defineProperty(this,"getAllBrands",{enumerable:!0,configurable:!0,writable:!0,value:async()=>{const e=await(0,s.n)("/api/brands/all"),t=[];return Object.keys(e).forEach(r=>{const n=e[r];n.name&&n.contribution&&t.push(new a(r,n.created_at,n.contribution,n.categories,n.hidden,n.name,n.slug,n.score,n.social,n.modified_at,n.claim,n.parent_company,n.views||0))}),t}}),Object.defineProperty(this,"getBrandBySlug",{enumerable:!0,configurable:!0,writable:!0,value:async e=>{const t=await(0,s.n)("/api/brands/all");for(const r of Object.keys(t))if(t[r].slug===e){const e=await(0,s.n)(`/api/brands/${r}`);return new a(r,e.created_at,e.contribution,e.categories,e.hidden,e.name,e.slug,e.score,e.social,e.modified_at,e.claim,e.parent_company,e.views||0,e.logo_url,e.affiliate_tracking_link)}throw new Error(i.A.brand404)}}),Object.defineProperty(this,"getBrandsByCategory",{enumerable:!0,configurable:!0,writable:!0,value:async e=>{const t=await(0,s.n)("/api/brands/all"),r=[];if(Object.keys(t).forEach(n=>{const o=t[n];if(o.categories&&!0===o.categories[e]){if(!o.name||!o.contribution)return;r.push(new a(n,o.created_at,o.contribution,o.categories,o.hidden,o.name,o.slug,o.score,o.social,o.modified_at,o.claim,o.parent_company,o.views||0))}}),0===r.length)throw new Error(i.A.categoriesNoBrands);return r}}),Object.defineProperty(this,"getAlternativeBrands",{enumerable:!0,configurable:!0,writable:!0,value:async(e,t,r)=>{if(!e||!e.categories||0===Object.keys(e.categories).length)throw new Error(i.A.brandNoAlternativeBrands);const n=await(0,s.n)("/api/brands/all"),a=Object.keys(e.categories),o=r||a[Math.floor(Math.random()*a.length)],u=Object.entries(n).filter(([t,r])=>t!==e._id&&r.name&&r.categories&&r.categories[o]&&!r.hidden).map(([e,t])=>({...t,id:e})),c=u.filter(e=>
1e.contribution&&"DeMinimis"===e.contribution.primary_party),l=u.filter(e=>e.contribution&&"Democrat"===e.contribution.primary_party),d=u.filter(e=>e.contribution&&"Republican"===e.contribution.primary_party),m=[],p=(e,t)=>((e,t)=>{const{length:r}=e;if(t>r)throw new RangeError("pickRandomElementsOfArray: trying to pick more elements than available");return function(e){const t=e.slice(0);let r,n,a=t.length;for(;0!==a;)r=Math.floor(Math.random()*a),a--,n=t[a],t[a]=t[r],t[r]=n;return t}(e).slice(0,t)})(e,Math.min(t,e.length));if(m.push(...p(c,1)),m.push(...p(l,2)),m.push(...p(d,2)),m.length<5){const e=new Set(m.map(e=>e.id)),t=u.filter(t=>!e.has(t.id));m.push(...p(t,5-m.length))}if(0===m.length)throw new Error(i.A.brandNoAlternativeBrands);return m}}),Object.defineProperty(this,"incrementBrandView",{enumerable:!0,configurable:!0,writable:!0,value:e=>{o.zR.child(`brands/${e._id}/views`).transaction(e=>(e?e++:e=1,e))}})}static getInstance(){return u.instance||(u.instance=new u),u.instance}}},3776:function(e,t){"use strict";t.A=Object.freeze({default:"An unknown error occurred",defaultInfo:"Processing...",timeout:"Server Timed Out. Check your internet connection",invalidJson:"Response returned is not valid JSON",invali
1dFirebase:"Firebase is not connected correctly",userExists:"User already exists",userDoesNotExist:"User does not exist",userLoginDefaultError:"Login was not successful",missingFirstName:"First name is missing",missingLastName:"Last name is missing",missingUsername:"Username is missing",takenUsername:"Username already taken",regexUsername:"Username can only contain letters from a to z, numbers from 0 through 9, and the '_' symbol",lengthUsername:"Username must be longer than 2 characters",usernameNotAllowed:"Username contains a banned word or phrase",missingEmail:"Email is missing",missingPassword:"Password is missing",passwordsDontMatch:"Passwords do not match",missingAnyField:"Nothing changed",userNotAdmin:"Mismatched user permissions, not admin",userNotAuthenticated:"Current session is not logged in",postingTooMuch:"You may only post a comment once every few minutes",brand404:"Brand not found",brandNoReviews:"Brand has no reviews",brandNoAlternativeBrands:"Brand has no possible alternative brands",categories404:"Category not found",categoriesNoBrands:"Category has no brands",issues404:"Issue not found",localeDoesNotExist:"Sorry, we do not support that local",adminBrandMissingName:"Brand name is missing",adminBrandMissingId:"Brand ID is missing",adminCategoryMissingName:"Category name is missing",adminCategoryMissingId:"Category ID is missing",adminCategorySlugExists:"Category slug already exists",adminIssueMissingName:"Issue name is missing",adminIssueMissingId:"Issue ID is missing",adminIssueNameExists:"Issue name already exists",adminPoliticianMissingName:"Poltician name is missing",adminPoliticianMissingId:"Poltician ID is missing"})},3925:function(e,t,r){"use strict";r.d(t,{g:function(){return s}});var n=r(680);class a extends n.s{constructor(e,t){super(),Object.defineProperty(this,"_id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:t})}}var o=r(2122),i=r(8145);class s{constructor(){Object.defineProperty(this,"definitionsCache",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"getAllIssues",{enumerable:!0,configurable:!0,writable:!0,value:async()=>(await(0,i.n)("/api/issues")).items.map(e=>new a(e.id||e._id,e.name))}),Object.defineProperty(this,"getBrandIssueDefinitions",{enumerable:!0,configurable:!0,writable:!0,value:async()=>{if(this.definitionsCache)return this.definitionsCache;const e=await(0,i.n)("/api/v2/issues/definitions");return this.definitionsCache=(e.issues||[]).filter(e=>"active"===e.status&&(e.scopes||[]).includes("brands")).sort((e,t)=>e.order-t.order),this.definitionsCache}}),Object.defineProperty(this,"getBrandIssues",{enumerable:!0,configurable:!0,writable:!0,value:async e=>{const t=await new Promise(e=>{const t=o.Ay.auth().currentUser;if(t)return e(t);const r=o.Ay.auth().onAuthStateChanged(t=>{r(),e(t)})});if(!t)throw new Error("Sign in required for issue data");const r=await t.getIdToken();try{return(await(0,i.n)(`/api/v2/issues/${encodeURIComponent(e)}`,{authToken:r})).issues||{}}catch(e){if(e instanceof Error&&e.message.includes("404"))return null;throw e}}})}static getInstance(){return s.instance||(s.instance=new s),s.instance}}},3978:function(e,t,r){"use strict";var n=r(833);t.A=n.A},4436:function(e,t,r){"use strict";r.d(t,{A:function(){return i}});var n=r(7254),a=r(7419),o=r(6135);class i{static _getPrefix(e){const t=new Date;return`[GUU]${e&&`[${e}]`} - ${(0,o.A)(t,"h:mm:ss.SSS a")}: `}static debug(...e){n.A.IS_DEVELOPMENT_MODE&&a.k.debug>=n.A.LOG_LEVEL&&console.log(i._getPrefix("DEBUG"),...e)}static info(...e){a.k.info>=n.A.LOG_LEVEL&&console.log(i._getPrefix("INFO"),...e)}static warn(...e){a.k.warn>=n.A.LOG_LEVEL&&console.warn(...e)}static error(...e){console.error(...e)}}},4665:function(e,t,r){"use strict";var n=r(7254),a=r(3776),o=r(6540),i=r(7767);t.A=({title:e="Error!",content:t=a.A.default})=>{const r=(0,i.Zp)();return o.createElement("div",{className:"content-block"},o.createElement("div",{className:"grid-y grid-padding-y align-center-middle text-center"},o.createElement("div",{className:"cell small-4"},o.createElement("h2",null,e),o.createElement("p",null,t)),o.createElement("div",{className:"cell small-4"},o.createElement("p",{className:"button-group"},o.createElement("button",{type:"button",className:"primary button",onClick:()=>{r(-1)}},o.createElement("i",{className:"fas fa-long-arrow-left"}),"\xa0Back"),o.createElement("a",{href:n.A.homepageUrl,className:"clear button"}
1,"Go Home")))))}},5741:function(){},5908:function(e,t,r){"use strict";var n=r(4665);t.A=n.A},6914:function(e,t,r){"use strict";r.d(t,{Rj:function(){return i},w2:function(){return o}}),r(6540);var n=r(5275),a=r(7254);const o=(e,t={})=>{a.A.IS_DEVELOPMENT_MODE||n.Ay.set({userId:e,...t})},i=(e,t,r,o={})=>{a.A.IS_DEVELOPMENT_MODE||n.Ay.event({category:e,action:t,label:r,...o})}},7254:function(e,t,r){"use strict";var n=r(7419);t.A=Object.freeze({BANNED_USERNAME_FULL:["brian","amy","abigail","harris","lindsay","developer","admin","administrator","guu","goodsuniteus-team","goodsuniteus_team","gu","goodsunited-team","goodsunited_team"],BANNED_USERNAME_PARTS:["guu-dev","guu-developer","guu-admin","goodsuniteus","goods_unite_us","goods-unite-us","guu-team","gu-dev","gu-developer","gu-admin","goodsunited","goods_united","goods-united","gu-team"],PROMO_ADMIN_KEY:"518dfb934003b49ef9228565008690e584d7c61de12c65c42944205b414dcd23",BRANDS_ADMIN_KEY:"A9Snx_E0VBYJnwE773jNGctfJvVSEh5V5xgL8aLRMGQ",REVIEW_API_BASE:"https://fec-pipeline.goodsuniteus.com",GA_TRACKING_ID:"UA-100077192-1",BRANDS_API:"https://3r0wkxikve.execute-api.us-east-2.amazonaws.com",BRANDS_API_KEY:"ARqUSQKLLWj-Ul6cX4wIFPd-lhSzoroXy0rPJSPK-9M",IS_DEVELOPMENT_MODE:!1,LOG_LEVEL:n.k.info,SENTINEL_VALUE:"X",WORDPRESS_IMAGE_PATH:"/wp-content/themes/FoundationPress/dist/assets/images/",amazonReferral:"goodsuniteu09-20",appName:"GoodsUniteUs",description:"Corporate money in government is the problem. We are the solution. Find out the leanings of thousands of brands and companies.",facebookAppId:"2073108929682109",homepageUrl:"https://goodsuniteus.com",mailchimp:"https://goodsuniteus.us14.list-manage.com/subscribe/post?u=21a6c9199894a32714fde8521&id=65af0614b1",name:"Goods Unite Us",socialUrls:{facebook:"https://www.facebook.com/Goods-Unite-Us-296356694135040",instagram:"https://www.instagram.com/goodsuniteus",twitter:"https://twitter.com/goodsuniteus",youtube:"https://www.youtube.com/channel/UCG7fJGa0rGvkV5mHAFl6pNw"},title:"We Run Background Checks On Companies",twitterHandle:"@goodsuniteus"})},7419:function(e,t,r){"use strict";var n;r.d(t,{k:function(){return n}}),function(e){e[e.debug=0]="debug",e[e.info=1]="info",e[e.warn=2]="warn",e[e.error=3]="error"}(n||(n={}))},8089:function(e,t,r){"use strict";var n=r(6540),a=r(5338),o=r(9733),i=r(4976),s=r(8131),u=r(5556),c=r.n(u),l=r(4436),d=r(8783);class m extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{modal:!1,loggedIn:!1,canSeeDashboard:!1}}),Object.defineProperty(this,"unmounted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"readDashboardClaim",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,d.vZ)().then(e=>{this.unmounted||this.setState({canSeeDashboard:null!==e})}).catch(()=>{})}}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{modal:e,loggedIn:t}=this.state;t||this.setState({modal:!e})}}),Object.defineProperty(this,"onLogout",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const{logout:t}=this.props;e.preventDefault(),t().then(()=>{window.location.href="/users/#/login"}).catch(e=>l.A.error(e))}})}componentDidMount(){const{auth:e}=this.props;
1e&&e.isAuthenticated&&this.setState({loggedIn:!0}),this.readDashboardClaim()}componentDidUpdate(e){(!e.auth||!e.auth.isAuthenticated)&&this.props.auth&&this.props.auth.isAuthenticated&&this.readDashboardClaim()}componentWillUnmount(){this.unmounted=!0}render(){const{auth:e}=this.props,t=e&&e.isAuthenticated,{canSeeDashboard:r}=this.state,a=t&&r;return n.createElement(n.Fragment,null,n.createElement("ul",{className:t?"dropdown menu logged-in-menu":"dropdown menu logged-out-menu",role:"menu","data-dropdown-menu":!0},n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children is-dropdown-submenu-parent opens-left",role:"menuitem"},n.createElement("a",{href:"#"}," ",n.createElement("i",{className:"fas fa-caret-down"})," ",n.createElement("i",{className:"far fa-user"})),!t&&n.createElement("ul",{className:"menu vertical submenu is-dropdown-submenu first-sub","data-sub-menu":!0,role:"menu"},n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"/users/#/login"},"Login")),n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"/users/#/rate-yourself"},"Sign up"))),t&&n.createElement("ul",{className:"menu vertical submenu is-dropdown-submenu first-sub","data-sub-menu":!0,role:"menu"},n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:`/users/#/profile/${e.user.username}`},"View Profile")),n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"/users/#/update-profile"},"Update Profile")),n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"/users/#/premium"},e.subscriptionTier?"Manage Subscription":"Get Premium")),a&&n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"/users/#/dashboard"},"View Dashboard")),n.createElement("li",{className:"menu-item menu-item-type-custom menu-item-object-custom is-submenu-item is-dropdown-submenu-item",role:"menuitem"},n.createElement("a",{href:"#",onClick:this.onLogout},"Logout"))))))}}Object.defineProperty(m,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{auth:c().shape({username:c().string}),logout:c().func.isRequired,history:c().shape({push:c().func.isRequired}).isRequired}}),Object.defineProperty(m,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{auth:{}}});var p,b=m,f=r(2122),h=r(6214),g=r.n(h),y=r(7254),w=r(3776),E=r(680);class v extends E.s{constructor(e,t,r="",n="",a="",o=""){super(),Object.defineProperty(this,"uid",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"emailVerified",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"providerId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"displayName",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"email",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"avatarURL",{enumerable:!0,configurable:!0,writable:!0,value:o})}}class P extends E.s{constructor(e){super(),Object.defineProperty(this,"uid",{enumerable:!0,configurable:!0,writable:!0,value:e})}}!function(e){e.User="user",e.Admin="admin",e.Moderator="moderator"}(p||(p={}));class O{constructor(){Object.defineProperty(this,"waitForScore",{enumerable:!0,configurable:!0,writable:!0,value:e=>new Promise((t,r)=>{const n=f.zR.child(`usernames/${e.toLowerCase()}`);l.A.debug("waiting for score 1"),n.once("value",e=>{if(e.exists()){const r=e.val(),n=f.zR.child(`users/${r}/score/latest`);n.on("child_changed",e=>{l.A.debug("Updated score"),n.off("child_changed"),t()})}else r(new Error(w.A.userDoesNotExist))}).then(()=>t()).catch(e=>l.A.error(e.message))})}),Object.defineProperty(this,"signUp",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const{email:t,username:r,password:n,postalCode:a,options:o}=e,i=new(g());return new Promise((e,s)=>{const u=f.zR.child(`usernames/${r.toLowerCase()}`);return y.A.BANNED_USERNAME_PARTS.some(e=>r.toLowerCase().includes(e.toLowerCase()))||y.A.BANNED_USERNAME_FULL.includes(r)||i.isProfane(r)?s(new Error(w.A.usernameNotAllowed)):u.once("value",i=>i.exists()?s(new Error(w.A.takenUsername)):f.Ay.auth().createUserWithEmailAndPassword(t,n).then(async t=>{if(t&&t.user){const{uid:n}=t.user,i=O.cleanUserReportOptions(o);return await t.user.updateProfile({displayName:r}),await f.zR.child("usernames").child(r.toLowerCase()).set(n).then(e=>{}).catch(e=>{}),await f.zR.child(`users/${n}`).set({username:r,rating:{new_choices:i},postal_code:a,role:p.User,signed_up:f.Ay.database.ServerValue.TIMESTAMP,last_logged_in:f.Ay.database.ServerValue.TIMESTAMP}),e(new P(n))}return s(new Error(w.A.default))}).catch(e=>s(new Error(e.message))))}).catch(e=>{throw e})}}),Object.defineProperty(this,"login",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>
1new Promise((r,n)=>f.Ay.auth().setPersistence(f.Ay.auth.Auth.Persistence.LOCAL).then(()=>f.Ay.auth().signInWithEmailAndPassword(e,t).then(async e=>{const t=e&&e.user?e.user:null;if(t&&t.uid){if(await f.zR.child(`users/${t.uid}`).update({last_logged_in:f.Ay.database.ServerValue.TIMESTAMP}).catch(()=>l.A.error("Failed to save last logged in time to database")),!t.emailVerified&&!y.A.IS_DEVELOPMENT_MODE){const e=await f.Ay.auth().currentUser;e&&await e.sendEmailVerification().catch(()=>l.A.error("Verification email failed to send"))}return r(new v(t.uid,t.emailVerified,t.providerId,t.displayName,t.email,t.photoURL))}return n(new Error(w.A.userDoesNotExist))}).catch(e=>n(new Error(e.message||w.A.userDoesNotExist)))))}),Object.defineProperty(this,"resetPassword",{enumerable:!0,configurable:!0,writable:!0,value:e=>new Promise((t,r)=>e?f.Ay.auth().sendPasswordResetEmail(e).then(()=>t()).catch(e=>r(new Error(e.message||w.A.default))):r(new Error(w.A.missingEmail)))}),Object.defineProperty(this,"logout",{enumerable:!0,configurable:!0,writable:!0,value:()=>new Promise((e,t)=>{f.Ay.auth().signOut().then(()=>e()).catch(e=>t(new Error(e.message||w.A.default)))})}),Object.defineProperty(this,"updateProfile",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const{email:r,password:n,password2:a,firstName:o,lastName:i,postalCode:s,politicalAffiliation:u,phoneNumber:c,changeEmail:l,changePassword:d}=e;return new Promise((e,m)=>{if(l&&!r)return m(new Error(w.A.missingEmail));if(d){if(!n||!a)return m(new Error(w.A.missingPassword));if(n!==a)return m(new Error(w.A.passwordsDontMatch))}let p="";return c&&(p=c.match(/\d+/g),null!==p&&"object"==typeof p&&(p=p.join(""))),f.zR.child(`users/${t}`).update({first_name:o,last_name:i,postal_code:s,political_affiliation:u,phone_number:p}).then(async()=>{const t=await f.Ay.auth().currentUser;return null!==t&&(l&&await t.updateEmail(r).catch(e=>{m(new Error(e.message))}),d&&await t.updatePassword(n).catch(e=>{m(new Error(e.message))})),e()}).catch(e=>m(new Error(e.message||w.A.default)))})}}),Object.defineProperty(this,"updateRating",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>new Promise((r,n)=>{const a=f.zR.child(`users/${t}/rating`),o=O.cleanUserReportOptions(e);return a.update({new_choices:o}).then(()=>r()).catch(e=>n(new Error(e.message||w.A.default)))})}),Object.defineProperty(this,"saveHearFromCompanyEmail",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>new Promise((r,n)=>{f.zR.child("followed_brands").child(t).push().set(e).then(()=>r()).catch(e=>n(new Error(e.message||w.A.userDoesNotExist)))})})}static getInstance(){return O.instance||(O.instance=new O),O.instance}}Object.defineProperty(O,"cleanUserReportOptions",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e,r=e;return Object.keys(r).forEach(e=>{0===Object.keys(r[e].choices).length&&delete r[e]}),t}});var A,j=r(1932);class L extends E.s{constructor(e,t,r,n,a,o,i=p.User,s,u,c,l,d){super(),Object.defineProperty(this,"contribution",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"signedUp",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"lastLoggedIn",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"rating",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"score",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"username",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"role",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"firstName",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"lastName",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(this,"postalCode",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(this,"politicalAffiliation",{enumerable:!0,configurable:!0,writable:!0,value:l}),Object.defineProperty(this,"phoneNumber",{enumerable:!0,configurable:!0,writable:!0,value:d}),Object.defineProperty(this,A,{enumerable:!0,configurable:!0,writable:!0,value:!0})}}A=j.lE;class C{constructor(){Object.defineProperty(this,"getUid",{enumerable:!0,configurable:!0,writable:!0,value:e=>new Promise((t,r)=>{f.zR.child(`usernames/${e.toLowerCase()}`).once("value",e=>
1{if(e.exists()){const r=e.val();return t(r)}return r(new Error(w.A.userDoesNotExist))}).catch(e=>r(new Error(e.message||w.A.userDoesNotExist)))})}),Object.defineProperty(this,"getUserData",{enumerable:!0,configurable:!0,writable:!0,value:e=>new Promise((t,r)=>{f.zR.child(`users/${e}`).once("value",e=>{if(e.exists()){const r=e.val()||{},n=new L(r.contribution,r.signed_up,r.last_logged_in,r.rating,r.score,r.username,r.role,r.first_name,r.last_name,r.postal_code,r.political_affiliation,r.phone_number);return t(n)}return r(new Error(w.A.userDoesNotExist))}).catch(e=>r(new Error(e.message||w.A.userDoesNotExist)))})})}static getInstance(){return C.instance||(C.instance=new C),C.instance}}var R=r(3719);class S extends E.s{constructor(e,t,r){super(),Object.defineProperty(this,"_id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"slug",{enumerable:!0,configurable:!0,writable:!0,value:r})}}var _=r(8145);class I{constructor(){Object.defineProperty(this,"getAllCategories",{enumerable:!0,configurable:!0,writable:!0,value:async()=>{const e=await(0,_.n)("/api/categories/brands");return Object.entries(e).map(([e,t])=>new S(e,t.name,t.slug))}}),Object.defineProperty(this,"getCategoryBySlug",{enumerable:!0,configurable:!0,writable:!0,value:async e=>{const t=await(0,_.n)("/api/categories/brands"),r=Object.entries(t).find(([,t])=>t.slug===e);if(!r)throw new Error(w.A.categories404);return new S(r[0],r[1].name,r[1].slug)}})}static getInstance(){return I.instance||(I.instance=new I),I.instance}}var T=r(3925);class x extends E.s{constructor(e,t,r){super(),Object.defineProperty(this,"_id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"party",{enumerable:!0,configurable:!0,writable:!0,value:r})}}class N{constructor(){Object.defineProperty(this,"getAllPoliticians",{enumerable:!0,configurable:!0,writable:!0,value:async()=>(await(0,_.n)("/api/politicians")).items.map(e=>new x(e.id||e._id,e.name,e.party))})}static getInstance(){return N.instance||(N.instance=new N),N.instance}}class U{constructor(){Object.defineProperty(this,"getAuthorizeService",{enumerable:!0,configurable:!0,writable:!0,value:()=>O.getInstance()}),Object.defineProperty(this,"getBrandsService",{enumerable:!0,configurable:!0,writable:!0,value:()=>R.m.getInstance()}),Object.defineProperty(this,"getIssuesService",{enumerable:!0,configurable:!0,writable:!0,value:()=>T.g.getInstance()}),Object.defineProperty(this,"getCategoriesService",{enumerable:!0,configurable:!0,writable:!0,value:()=>I.getInstance()}),Object.defineProperty(this,"getPoliticiansService",{enumerable:!0,configurable:!0,writable:!0,value:()=>N.getInstance()}),Object.defineProperty(this,"getUsersService",{enumerable:!0,configurable:!0,writable:!0,value:()=>C.getInstance()})}static getInstance(){return U.instance||(U.instance=new U),U.instance}}const q=U.getInstance();var D=r(5307);const k={isAuthenticated:!1,uid:null,user:null,heardFromCompany:!1,subscriptionTier:null},M=(0,D.Z0)({name:"auth",initialState:k,reducers:{login(e,t){e.isAuthenticated=!0,e.uid=t.payload?.uid||null,e.user=t.payload},setDetails(e,t){e.isAuthenticated=!0,e.uid=t.payload?.uid||e.uid,e.user=t.payload},updateDetails(e,t){e.user={...e.user,...t.payload}},reset:()=>k,hearFromCompanyFulfilled(e){e.heardFromCompany=!0},setSubscriptionTier(e,t){e.subscriptionTier=t.payload}}}),{setDetails:B,updateDetails:z,reset:F,setSubscriptionTier:G}=M.actions;var V=M.reducer;const K="guu_ad_free",H=new Set(["premium","ad_free"]);async function Y(e){const t=function(){try{return window.localStorage}catch{return null}}();if(!e)return t?.removeItem(K),null;try{const{claims:r}=await e.getIdTokenResult(),n="string"==typeof r.subscriptionTier?r.subscriptionTier:null;return n&&H.has(n)?t?.setItem(K,"1"):t?.removeItem(K),n}catch{return null}}const W=(0,D.Z0)({name:"status",initialState:{loading:!1,error:null,success:null,info:null},reducers:{updateStatus(e,t){void 0!==t.payload.loading&&(e.loading=t.payload.loading),e.error=void 0!==t.payload.error?t.payload.error:null,e.success=void 0!==t.payload.success?t.payload.success:null,e.info=void 0!==t.payload.info?t.payload.info:null}}}),{updateStatus:Z}=W.actions;var J=W.reducer;function X(e,t,r){return new Promise((n,a)=>
1{if(!["error","success","info","loading"].includes(t))return a(new Error(`Error: Received "${t}". Type should be one of loading, success, error or info.`));let o=r;return(!r||""===r||r&&"string"==typeof r&&""===r.trim())&&("success"===t&&(o="Success"),"error"===t&&(o=w.A.default),"info"===t&&(o=w.A.defaultInfo),"loading"===t&&!1!==r&&(o=!0)),n(e(Z({[t]:o})))})}const Q=q.getAuthorizeService(),ee=q.getUsersService();function te(){return(e,t)=>new Promise(t=>{f.Ay.auth().onAuthStateChanged(async r=>{const n=await Y(r);if(e(G(n)),r){const r=await f.Ay.auth().currentUser;if(r){const n=await ee.getUserData(r.uid);return e(B(n)),t()}}return()=>new Promise(()=>t())})})}function re(e,t){return async(r,n)=>{await X(r,"loading",!0);try{const n=await Q.login(e,t);if(!n)throw new Error(w.A.userLoginDefaultError);const a={...await ee.getUserData(n.uid),uid:n.uid};return r(B(a)),n.emailVerified||await X(r,"info","Account email is not verified, new email sent."),await X(r,"loading",!1),await X(r,"success","Logged in successfully."),a}catch(e){await X(r,"loading",!1);let t="An error occured";return e instanceof Error&&(t=e.message),X(r,"error",t)}}}var ne=r(6914);class ae extends n.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"componentDidMount",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,getAuthData:t}=this.props;t(),e.isAuthenticated&&e.uid&&(0,ne.w2)(e.uid)}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{Layout:e,auth:t,logout:r}=this.props;return n.createElement(e,{auth:t,logout:r})}})}componentDidUpdate(e,t,r){const{auth:n}=this.props;n.isAuthenticated&&n.uid&&(0,ne.w2)(n.uid)}componentDidCatch(e,t){l.A.error("===========CAUGHT BY REACT componentDidCatch=============="),l.A.error(e,t),l.A.error("====================================")}}Object.defineProperty(ae,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,logout:c().func.isRequired,getAuthData:c().func.isRequired,auth:c().object.isRequired}});var oe=(0,o.Ng)((e,t)=>({auth:e.auth||{}}),(e,t)=>({logout:()=>e(async(e,t)=>{await X(e,"loading",!0);try{return await Q.logout(),e(F()),await X(e,"loading",!1),X(e,"success","Logged out successfully.")}catch(t){await X(e,"loading",!1);let r="An error occured";return t instanceof Error&&(r=t.message),X(e,"error",r)}}),getAuthData:()=>e(te())}))(ae),ie=oe,se=()=>n.createElement(ie,{Layout:b}),ue=r(4644),ce=r(960),le=r(9282);const de=(0,D.Z0)({name:"brands",initialState:{isLoaded:!1,brandList:[],error:null},reducers:{addBrands(e,t){t.payload.forEach(t=>{const r=e.brandList.findIndex(e=>e._id===t._id);-1===r?e.brandList.push(t):!t.score&&e.brandList[r].score||(e.brandList[r]=t)}),e.isLoaded=!0},replaceBrands(e,t){e.brandList=t.payload,e.isLoaded=!0},setBrandsError(e,t){e.error=t.payload}}}),{addBrands:me}=de.actions;var pe=de.reducer;const be=(0,D.Z0)({name:"categories",initialState:{isLoaded:!1,categoryList:[],error:null},reducers:{addCategories(e,t){e.categoryList.push(...t.payload),e.isLoaded=!0},replaceCategories(e,t){e.categoryList=t.payload,e.isLoaded=!0},setCategoriesError(e,t){e.error=t.payload}}}),{addCategories:fe,replaceCategories:he}=be.actions;var ge=be.reducer,ye=(0,D.Z0)({name:"issues",initialState:{isLoaded:!1,issuesList:[],error:null},reducers:{addIssues(e,t){e.issuesList.push(...t.payload),e.isLoaded=!0},replaceIssues(e,t){e.issuesList=t.payload,e.isLoaded=!0},setIssuesError(e,t){e.error=t.payload}}}).reducer;const we=(0,D.Z0)({name:"politicians",initialState:{isLoaded:!1,politicianList:[],error:null},reducers:{addPoliticians(e,t){e.politicianList.push(...t.payload),e.isLoaded=!0},replacePoliticians(e,t){e.politicianList=t.payload,e.isLoaded=!0},setPoliticiansError(e,t){e.error=t.payload}}}),{replacePoliticians:Ee}=we.actions;var ve,Pe=we.reducer;!function(e){e.RATING_ERROR="RATING_ERROR",e.RATING_REPLACE="RATING_REPLACE"}(ve||(ve={}));const Oe={isLoaded:!1,questionList:[],error:null},Ae=(0,D.Z0)({name:"users",initialState:{isLoaded:!1,userMap:{},error:null},reducers:{updateUser(e,t){e.isLoaded=!0,e.userMap[t.payload.username||t.payload.uid]=t.payload}}}),{updateUser:je}=Ae.actions,Le={key:"root",storage:le.A,whitelist:["auth"]},Ce=(0,ue.HY)({auth:V,brands:pe,categories:ge,issues:ye,politicians:Pe,rating:(e=Oe,t)=>{switch(t.type){case ve.RATING_REPLACE:return{...e,questionList:t.payload,isLoaded:!0};case ve.RATING_ERROR:return{...e,error:t.payload||"An error occurred",isLoaded:!0};default:return e}},status:J,users:Ae.reducer}),Re=(0,ce.rL)(Le,Ce);var Se=r(3978),_e=r(3997),Ie=class extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{email:"",valid:""}}),Object.defineProperty(this,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({email:e.target.value})}}),Object.defineProperty(this,"handleKeyPress",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>
1{"Enter"===e.key&&this.handleSubmit(e,t)}}),Object.defineProperty(this,"handleSubmit",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{e.preventDefault();const{email:r}=this.state;r?(this.setState({valid:"valid"}),t({EMAIL:r}),(0,ne.Rj)("Newsletter","Submitted email",null)):this.setState({valid:"invalid"})}})}render(){return n.createElement(n.Fragment,null,n.createElement(_e.A,{url:y.A.mailchimp,render:e=>{const{subscribe:t,status:r,message:a}=e,{email:o,valid:i}=this.state;return n.createElement("form",{onSubmit:e=>this.handleSubmit(e,t)},n.createElement("input",{type:"email",name:"email",value:o,onChange:this.handleChange,onKeyPress:e=>this.handleKeyPress(e,t),placeholder:"Your email",className:`is-${"error"===r?"invalid":i}`,required:!0}),n.createElement("button",{type:"submit"},"Sign up"),n.createElement("div",{className:"valid-feedback"},"sending"===r&&"Sending...","success"===r&&"Subscribed!"),"error"===r&&n.createElement("div",{className:"invalid-feedback",dangerouslySetInnerHTML:{__html:a}}))}}))}},Te=r(1787),xe=Object.freeze({apiKey:"9a9ce3097d1767dd421cb0f85675c8bc",appId:"K2KFZ867I9",brandIndexName:"brands"});const{apiKey:Ne,appId:Ue}=xe;class qe extends n.Component{constructor(e){super(e),Object.defineProperty(this,"suggestionSelected",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{t&&t.slug?(window.location.href=`/brands/#/brand/${t.slug}`,$("#off-canvas-menu").foundation("close")):e.preventDefault()}}),Object.defineProperty(this,"autocompleteComponent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.autocompleteComponent=n.createRef()}componentDidMount(){const{autoFocus:e}=this.props;e&&this.autocompleteComponent&&window.setTimeout(()=>this.autocompleteComponent.current.focus(),0)}render(){const{index:e,cssId:t,cssClasses:r,placeholder:a}=this.props,o=["form-control","input-no-border"];return r&&o.push(r),n.createElement(n.Fragment,null,n.createElement("i",{className:"far fa-search"}),n.createElement(Te.A,{ref:this.autocompleteComponent,apiKey:Ne,appId:Ue,displayKey:e=>`${e.name}`,inputId:t,ariaLabel:"Search",inputMode:"search",indices:[{index:e}],placeholder:a,selected:(e,t)=>this.suggestionSelected(e,t),options:{autoselect:!0,autoselectOnBlur:!1,hint:!1,debug:y.A.IS_DEVELOPMENT_MODE,cssClasses:{input:o.join(" ")}},...this.props}))}}Object.defineProperty(qe,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{autoFocus:c().bool,cssClasses:c().string,placeholder:c().string,index:c().string,cssId:c().string.isRequired}}),Object.defineProperty(qe,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{autoFocus:!1,cssClasses:"",placeholder:"Search...",index:"brands"}});var $e=qe,De=r(7767),ke=r(5908);const Me=({children:e})=>n.createElement("div",{style:{maxWidth:"1200px",margin:"0 auto",padding:"80px 20px 20px"}},e);Me.defaultProps={children:null};var Be=Me;const ze=q.getBrandsService(),Fe=q.getPoliticiansService();class Ge extends n.Component{constructor(e){super(e),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{alternativeBrands:[]}});const{slug:t,brand:r,fetchBrand:n,fetchPoliticians:a}=e;r&&0!==Object.keys(r).length&&r.score||t&&n(t),a()}componentDidUpdate(e){const{slug:t,fetchBrand:r,brand:n,auth:a}=this.props;e.slug!==t&&t&&r(t),!n||!n._id||e.brand&&e.brand._id===n._id||this.fetchAlternativeBrands(n,a)}fetchAlternativeBrands(e,t){const r=t&&t.user&&t.user.politicalAffiliation,n=this.props.location&&this.props.location.state&&this.props.location.state.categoryId;R.m.getInstance().getAlternativeBrands(e,r||void 0,n||void 0).then(e=>{this.setState({alternativeBrands:e})}).catch(()=>{this.setState({alternativeBrands:[]})})}render(){const{Layout:e,brand:t,politiciansInBrand:r,auth:a,isLoaded:o}=this.props,{alternativeBrands:i}=this.state;return n.createElement(e,{brand:t,politiciansInBrand:r,alternativeBrands:i,auth:a,isLoaded:o})}}Object.defineProperty(Ge,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,slug:c().string,brand:c().object.isRequired,politiciansInBrand:c().arrayOf(c().object).isRequired,auth:c().object.isRequired,isLoaded:c().bool.isRequired,fetchBrand:c().func.isRequired,fetchPoliticians:c().func.isRequired}});const Ve=(0,o.Ng)((e,t)=>{const r=e.brands||{},n=e.politicians||{},a=e.auth||{},o=!e.status.loading&&r.isLoaded,{slug:i}
1=t,s=r.brandList?.find(e=>e.slug===i&&e.score)||r.brandList?.find(e=>e.slug===i)||{};let u=[];if(s&&s.contribution&&n.isLoaded&&n.politicianList){const e=s.contribution.politician&&s.contribution.politician.latest&&Object.keys(s.contribution.politician.latest.top_politicians_only)||[];u=n.politicianList.filter(t=>e.includes(t._id))||[]}return{brand:s,politiciansInBrand:u,auth:a,isLoaded:o}},e=>({fetchBrand:t=>{return e((r=t,async(e,t)=>{await X(e,"loading",!0);try{const t=await ze.getBrandBySlug(r);return e(me([t])),X(e,"loading",!1)}catch(t){return await X(e,"loading",!1),X(e,"error",t.message)}}));var r},fetchPoliticians:()=>e(async(e,t)=>{await X(e,"loading",!0);try{const t=await Fe.getAllPoliticians();return e(Ee(t)),X(e,"loading",!1)}catch(t){return await X(e,"loading",!1),X(e,"error",t.message)}})}))(Ge);var Ke=e=>{const t=(0,De.g)();return n.createElement(Ve,{...e,slug:t.slug})};const He=q.getCategoriesService();class Ye extends n.PureComponent{constructor(e){super(e),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{Layout:e,categories:t,isLoaded:r}=this.props;return n.createElement(e,{categories:t.categoryList,isLoaded:r})}}),e.fetchCategories()}}Object.defineProperty(Ye,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,categories:c().shape({isLoaded:c().bool.isRequired,categoryList:c().arrayOf(c().object)}).isRequired,fetchCategories:c().func.isRequired,isLoaded:c().bool.isRequired}});var We=(0,o.Ng)((e,t)=>{const r=e.categories||{};return{isLoaded:!e.status.loading&&r.isLoaded,categories:r}},(e,t)=>({fetchCategories:()=>e(async(e,t)=>{await X(e,"loading",!0);try{const t=await He.getAllCategories();return e(he(t)),X(e,"loading",!1)}catch(t){return await X(e,"loading",!1),X(e,"error",t.message)}})}))(Ye),Ze=We;class Je extends n.Component{constructor(e){super(e),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{Layout:e,brands:t,category:r,isLoaded:a}=this.props;return n.createElement(e,{brands:t,category:r,isLoaded:a})}});const{slug:t,category:r,fetchCategory:a,fetchBrandsInCategory:o}=e,i=t?.toLowerCase()||"";r&&"All Brands"===r.name||(r&&0!==Object.keys(r).length?o(r._id):a(i))}componentDidUpdate(e,t,r){const{category:n,fetchBrandsInCategory:a}=this.props;e.category._id!==n._id&&a(n._id)}}Object.defineProperty(Je,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,slug:c().string,brands:c().arrayOf(c().object).isRequired,category:c().object.isRequired,fetchBrandsInCategory:c().func.isRequired,fetchCategory:c().func.isRequired,isLoaded:c().bool.isRequired}});const Xe=(0,o.Ng)((e,t)=>{const r=e.brands||{},n=e.categories||{},a=!e.status.loading&&n.isLoaded&&r.isLoaded,o=t.slug?.toLowerCase()||"",i=n.categoryList?.find(e=>e.slug===o)||{};let s=[];return i&&r.isLoaded&&r.brandList&&(s=r.brandList.filter(e=>e.categories&&Object.hasOwnProperty.call(e.categories,i._id))||[]),{category:i,brands:s,isLoaded:a}},e=>({fetchBrandsInCategory:t=>e(function(e){return async(t,r)=>{await X(t,"loading",!0);try{const r=await ze.getBrandsByCategory(e);return t(me(r)),X(t,"loading",!1)}catch(e){return await X(t,"loading",!1),X(t,"error",e.message)}}}(t)),fetchCategory:t=>{return e((r=t,async(e,t)=>{await X(e,"loading",!0);try{const t=await He.getCategoryBySlug(r);return e(fe([t])),X(e,"loading",!1)}catch(t){return await X(e,"loading",!1),X(e,"error",t.message)}}));var r}}))(Je);var Qe=e=>{const t=(0,De.g)();return n.createElement(Xe,{...e,slug:t.slug})};class et extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"componentDidMount",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,getAuthData:t}=this.props;e.isAuthenticated||t()}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,Layout:t}=this.props;return n.createElement(t,{auth:e})}})}}Object.defineProperty(et,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,auth:c().object.isRequired,getAuthData:c().func.isRequired}});var tt=(0,o.Ng)((e,t)=>({auth:e.auth||{}}),(e,t)=>({getAuthData:()=>e(te())}))(et),rt=r(6663);class nt extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{success:!1,error:!1,email:""}}),Object.defineProperty(this,"checkCode",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{oobCode:e}=this.props,t=f.Ay.auth();t.checkActionCode(e).then(r=>(t.applyActionCode(e),this.setState({email:r.data.email,success:!0}),null)).catch(e=>this.setState({error:e}))}})}componentDidMount(){this.checkCode()}render(){const{email:e,success:t,error:r}=this.state;return n.createElement("div",{className:"content-block guu-user-profile"},n.createElement("div",{className:"contain-to-grid"},n.createElement("section",{className:"update-profile-form"},t&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Updated Email Address"),n.createElement("p",null,"Your sign-in email address has been changed back to ",n.createElement("b",null,e)),n.createElement("p",null,"If you didn\u2019t ask to change your sign-in email, it\u2019s possible someone is trying to access your account and 
1you should",n.createElement(i.N_,{to:"/reset-password"},"change your password right away"))),!!r&&n.createElement("div",{className:"callout alert"},`We can't complete your request. Reason: ${"object"==typeof r&&r.message}`))))}}Object.defineProperty(nt,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{oobCode:c().string.isRequired}});var at=nt;class ot extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{email:"",password:"",success:!1,error:!1}}),Object.defineProperty(this,"checkCode",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{oobCode:e}=this.props;f.Ay.auth().checkActionCode(e).then(e=>this.setState({email:e.data.email})).catch(e=>this.setState({error:e}))}}),Object.defineProperty(this,"handleSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault();const{password:t}=this.state,{oobCode:r}=this.props;f.Ay.auth().confirmPasswordReset(r,t).then(()=>this.setState({success:!0})).catch(e=>this.setState({error:e}))}}),Object.defineProperty(this,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.target;var r={};r[t.name]=t.value,this.setState(r)}})}componentDidMount(){this.checkCode()}render(){const{email:e,password:t,success:r,error:a}=this.state;return n.createElement(n.Fragment,null,n.createElement("div",{className:"content-block guu-user-profile"},n.createElement("div",{className:"contain-to-grid"},n.createElement("section",{className:"update-profile-form"},a&&n.createElement("div",{className:"callout alert"},`We can't complete your request. Reason: ${"object"==typeof a&&a.message}`),r&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Your password has been updated for ",e),n.createElement("p",null,"You may now ",n.createElement(i.N_,{to:"/login"},"login")," with your new password.")),!r&&!a&&n.createElement("form",{onSubmit:this.handleSubmit},n.createElement("h4",null,"Reset your password for ",e),n.createElement("label",{htmlFor:"password"},"New Password"),n.createElement("input",{type:"password",name:"password",id:"password",inputMode:"password",placeholder:"New Password",minLength:2,autoComplete:"current-password",value:t,onChange:this.handleChange}),n.createElement("button",{type:"submit",className:"button success"},"Save Changes"))))))}}Object.defineProperty(ot,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{oobCode:c().string.isRequired}});var it=ot;class st extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{success:!1,error:!1}}),Object.defineProperty(this,"checkCode",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{oobCode:e}=this.props;f.Ay.auth().applyActionCode(e).then(()=>this.setState({success:!0})).catch(e=>this.setState({error:e}))}})}componentDidMount(){this.checkCode()}render(){const{success:e,error:t}=this.state;return n.createElement("div",{className:"content-block guu-user-profile"},n.createElement("div",{className:"contain-to-grid"},n.createElement("section",{className:"update-profile-form"},e&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Your email has been verified"),n.createElement("p",null,"You can now ",n.createElement(i.N_,{to:"/login"},"sign in")," with your new account.")),t&&n.createElement(n.Fragment,null,n.createElement("h3",null,"Try verifying your email again"),n.createElement("p",null,"object"==typeof t&&t.message)))))}}Object.defineProperty(st,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{oobCode:c().string.isRequired}});var ut=st;class ct extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{mode:"",oobCode:""}})}componentDidMount(){const{location:e}=this.props,t=rt.parse(e.search),{mode:r,oobCode:n}=t;console.log(r),console.log(n),this.setState({mode:r,oobCode:n})}render(){const{mode:e,oobCode:t}=this.state;return n.createElement(n.Fragment,null,"resetPassword"===e&&n.createElement(it,{oobCode:t}),"recoverEmail"===e&&n.createElement(at,{oobCode:t}
1),"verifyEmail"===e&&n.createElement(ut,{oobCode:t}))}}Object.defineProperty(ct,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{location:c().object.isRequired}});const lt=(0,o.Ng)((e,t)=>({auth:e.auth||{}}))(ct);var dt=e=>{const t=(0,De.zy)();return n.createElement(lt,{...e,location:t})};class mt extends n.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,Layout:t,login:r}=this.props;return n.createElement(t,{auth:e,login:r})}})}}Object.defineProperty(mt,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,auth:c().object.isRequired,login:c().func.isRequired}});var pt=(0,o.Ng)((e,t)=>({auth:e.auth||{}}),(e,t)=>({login:(t,r)=>e(re(t,r))}))(mt);class bt extends E.s{constructor(e,t,r,n,a){super(),Object.defineProperty(this,"_id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"question",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"choices",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"related_categories",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"weight",{enumerable:!0,configurable:!0,writable:!0,value:a})}}const ft=q.getAuthorizeService();class ht extends n.Component{constructor(e){super(e),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{errorMessage:"",successMessage:"",infoMessage:""}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,Layout:t,isLoaded:r,updateRating:a,login:o,signup:i,rating:s}=this.props,{errorMessage:u,successMessage:c,infoMessage:l}=this.state;if(!r)return n.createElement(Se.A,null);const d=s&&s.questionList||[],m={};return d.forEach(e=>{m[e._id]={choices:{}}}),n.createElement(t,{auth:e,questionList:d,info:l,error:u,success:c,signup:i,updateRating:a,waitForScore:ft.waitForScore,login:o,options:m})}});const{fetchRating:t,rating:r}=e;r&&r.isLoaded||t()}}Object.defineProperty(ht,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,auth:c().object.isRequired,updateRating:c().func.isRequired,login:c().func.isRequired,signup:c().func.isRequired,fetchRating:c().func.isRequired,isLoaded:c().bool.isRequired}});var gt=(0,o.Ng)(e=>{const t=e.rating||{};return{auth:e.auth||{},rating:t,isLoaded:!e.status.loading&&t.isLoaded,infoMessage:e.status.info||null,successMessage:e.status.success||null}},e=>({signup:t=>e(function(e){return async(t,r)=>{await X(t,"loading",!0);try{const r=await Q.signUp(e),n=await ee.getUserData(r.uid);return t(B(n)),await X(t,"loading",!1),X(t,"success","Signed up successfully.")}catch(e){await X(t,"loading",!1);let r="An error occured";return e instanceof Error&&(r=e.message),X(t,"error",r)}}}(t)),updateRating:t=>e(function(e){return async(t,r)=>{await X(t,"loading",!0);try{const r=await new Promise(e=>{const t=f.Ay.auth().currentUser;if(t)return e(t);const r=f.Ay.auth().onAuthStateChanged(t=>{r(),e(t)})});if(!r)throw new Error("You must be logged in to update your rating.");{await Q.updateRating(e,r.uid);const n=await ee.getUserData(r.uid);t(B(n))}return await X(t,"loading",!1),X(t,"success","Updated rating successfully.")}catch(e){await X(t,"loading",!1);let r="An error occured";return e instanceof Error&&(r=e.message),X(t,"error",r)}}}(t)),login:(t,r)=>e(re(t,r)),fetchRating:()=>e(async e=>{await X(e,"loading",!0);try{const t=await new Promise((e,t)=>{f.zR.child("rating").once("value",t=>{if(t.exists()){const r=[];return t.forEach(e=>{const t=e.val()||{};e.key&&r.push(new bt(e.key,t.question,t.choices,t.related_categories,t.weight))}),e(r)}return e([])}).catch(e=>{t(new Error(e.message))})});return e((e=>({type:ve.RATING_REPLACE,payload:e}))(t)),X(e,"loading",!1)}catch(t){return await X(e,"loading",!1),X(e,"error",t.message)}})}))(ht),yt=gt,wt=(0,o.Ng)(e=>({auth:e.auth||{}}),e=>({refreshTier:()=>e(async e=>{const t=f.Ay.auth().currentUser;t&&await t.getIdTokenResult(!0);const r=await Y(t);return e(G(r)),r})}))(({Layout:e,auth:t,refreshTier:r,isSuccess:a})=>n.createElement(e,{auth:t,refreshTier:r,isSuccess:a}));class Et extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,Layout:t,isLoading:r,resetPassword:a}=this.props;return n.createElement(t,{auth:e,loading:r,resetPassword:a})}})}}Object.defineProperty(Et,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().object.isRequired,auth:c().object.isRequired,resetPassword:c().func.isRequired,isLoading:c().bool.isRequired}});var vt=(0,o.Ng)((e,t)=>({auth:e.auth||{},isLoading:e.status.loading||!1}),(e,t)=>({resetPassword:t=>e(function(e){return async(t,r)=>{await X(t,"loading",!0);try{return await Q.resetPassword(e),t(F()),await X(t,"loading",!1),X(t,"success","We have emailed you a reset link")}catch(e){await X(t,"loading",!1);let r="An error occured";return e instanceof Error&&(r=e.message),X(t,"error",r)}}}(t))}))(Et),Pt=vt;class Ot extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{errorMessage:void 0}}),Object.defineProperty(this,"onFormSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const{updateProfile:t}=this.props,{changePassword:r,changeEmail:n,email:a,password:o,password2:i}=e;let s=!1;if(r&&(""===o.trim()?(this.setState({errorMessage:w.A.missingPassword}),s=!0):o!==i&&(this.setState({errorMessage:w.A.passwordsDontMatch}),s=!0)),n&&""===a.trim()&&(this.setState({errorMessage:w.A.missingEmail}),s=!0),!s){const{auth:r}=this.props;t(e).then(()=>{const e=r&&r.user&&(r.user.username||r.user.displayName);e&&(window.location.hash=`#/profile/${e}`)})}}}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{auth:e,Layout:t}=this.props,{errorMessage:r}=this.state;return n.createElement(t,{auth:e,error:r,updateProfile:this.onFormSubmit})}})}}Object.defineProperty(Ot,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,auth:c().object.isRequired,updateProfile:c().func.isRequired}});var At=(0,o.Ng)((e,t)=>({auth:e.auth||{}}),(e,t)=>({updateProfile:t=>e(function(e){return async(t,r)=>{await X(t,"loading",!0);try{const r=await f.Ay.auth().currentUser;if(r){await Q.updateProfile(e,r.uid),t(z({...e}));const n=await ee.getUserData(r.uid);t(B(n))}return await X(t,"loading",!1),X(t,"success","Updated profile successfully.")}catch(e){await X(t,"loading",!1);let r="An error occured";return e instanceof Error&&(r=e.message),X(t,"error",r)}}}(t))}))(Ot),jt=At;const Lt=q.getUsersService();class Ct extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"componentDidMount",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const{fetchAuthData:e,fetchUser:t,auth:r}=this.props;
1r.isAuthenticated&&0!==Object.keys(r).length?t(r.uid):e()}})}render(){const{Layout:e,auth:t,user:r,isLoaded:a}=this.props;return n.createElement(e,{auth:t,user:r,isLoaded:a})}}Object.defineProperty(Ct,"propTypes",{enumerable:!0,configurable:!0,writable:!0,value:{Layout:c().oneOfType([c().object,c().func]).isRequired,username:c().string,isLoaded:c().bool.isRequired,auth:c().object.isRequired,user:c().object.isRequired,fetchAuthData:c().func.isRequired,fetchUser:c().func.isRequired}});const Rt=(0,o.Ng)((e,t)=>{const r=e.auth||{},n=e.users||{},a=!e.status.loading,{username:o}=t;return{auth:r,user:n.userMap?.[o]||{},isLoaded:a}},e=>({fetchAuthData:()=>e(te()),fetchUser:t=>{return e((r=t,async(e,t)=>{await X(e,"loading",!0);try{const t=await Lt.getUserData(r);e(je({username:t.username,...t})),await X(e,"loading",!1)}catch(t){await X(e,"loading",!1);let r="An error occurred loading user data";return t instanceof Error&&(r=t.message),X(e,"error",r)}}));var r}}))(Ct);var St=e=>{const t=(0,De.g)();return n.createElement(Rt,{...e,username:t.username})},_t=r(9965),It=({children:e})=>{const t=(0,De.zy)(),r=(0,o.d4)(e=>e.auth?.isAuthenticated),{tier:a,loading:i}=(0,_t.Y)();return r?i?null:a?n.createElement(n.Fragment,null,e):n.createElement(De.C5,{to:"/",replace:!0}):n.createElement(De.C5,{to:"/login",state:{from:t},replace:!0})},Tt=({children:e})=>{const t=(0,De.zy)();return(0,o.d4)(e=>e.auth?.isAuthenticated)?n.createElement(n.Fragment,null,e):n.createElement(De.C5,{to:"/login",state:{from:t},replace:!0})};const xt=(0,n.lazy)(()=>r.e(872).then(r.bind(r,9872))),Nt=(0,n.lazy)(()=>r.e(37).then(r.bind(r,1037))),Ut=(0,n.lazy)(()=>Promise.all([r.e(726),r.e(588)]).then(r.bind(r,4588))),qt=(0,n.lazy)(()=>Promise.all([r.e(726),r.e(543)]).then(r.bind(r,5543))),$t=(0,n.lazy)(()=>r.e(701).then(r.bind(r,4701))),Dt=(0,n.lazy)(()=>r.e(144).then(r.bind(r,2144))),kt=(0,n.lazy)(()=>r.e(774).then(r.bind(r,5774))),Mt=(0,n.lazy)(()=>r.e(113).then(r.bind(r,1113))),Bt=(0,n.lazy)(()=>Promise.all([r.e(689),r.e(456)]).then(r.bind(r,9456))),zt=(0,n.lazy)(()=>r.e(740).then(r.bind(r,2740))),Ft=(0,n.lazy)(()=>r.e(950).then(r.bind(r,3950))),Gt=(0,n.lazy)(()=>r.e(121).then(r.bind(r,4121))),Vt=({children:e})=>{const t=(0,De.zy)();return n.useEffect(()=>{},[t]),n.createElement(n.Fragment,null,e)};var Kt=()=>n.createElement(n.Suspense,{fallback:n.createElement(Se.A,null)},n.createElement(Vt,null,n.createElement(xt,null),n.createElement(De.BV,null,n.createElement(De.qh,{path:"/rate-yourself",element:n.createElement(yt,{Layout:$t})}),n.createElement(De.qh,{path:"/rating",element:n.createElement(yt,{Layout:$t})}),n.createElement(De.qh,{path:"/signup",element:n.createElement(yt,{Layout:$t})}),n.createElement(De.qh,{path:"/register",element:n.createElement(yt,{Layout:$t})}),n.createElement(De.qh,{path:"/sign-up",element:n.createElement(yt,{Layout:$t})}),n.createElement(De.qh,{path:"/login",element:n.createElement(pt,{Layout:Dt})}),n.createElement(De.qh,{path:"/dashboard",element:n.createElement(It,null,n.createElement(Be,null,n.createElement(tt,{Layout:Bt})))}),n.createElement(De.qh,{path:"/dashboard/*",element:n.createElement(It,null,n.createElement(Be,null,n.createElement(tt,{Layout:Bt})))}),n.createElement(De.qh,{path:"/reset-password",element:n.createElement(Pt,{Layout:kt})}),n.createElement(De.qh,{path:"/update-profile",element:n.createElement(Tt,null,n.createElement(jt,{Layout:Mt}))}),n.createElement(De.qh,{path:"/premium",element:n.createElement(wt,{Layout:Ft})}),n.createElement(De.qh,{path:"/premium/success",element:n.createElement(wt,{Layout:Ft,isSuccess:!0})}),n.createElement(De.qh,{path:"/claim/:token",element:n.createElement(wt,{Layout:Gt})}),n.createElement(De.qh,{path:"/",element:n.createElement(Ze,{Layout:qt})}),n.createElement(De.qh,{path:"/categories",element:n.createElement(Ze,{Layout:qt})}),n.createElement(De.qh,{path:"/categories/:slug",element:n.createElement(Qe,{Layout:Ut})}),n.createElement(De.qh,{path:"/brand/:slug",element:n.createElement(Ke,{Layout:Nt})}),n.createElement(De.qh,{path:"/profile/:username",element:n.createElement(St,{Layout:zt})}),n.createElement(De.qh,{path:"/profile",element:n.createElement(St,{Layout:zt})}),n.createElement(De.qh,{path:"/auth",element:n.createElement(dt,null)}),n.createElement(De.qh,{path:"*",element:n.createElement(ke.A,{title:"404",content:"Sorry, the page you requested does not exist"})}))));const{persistor:Ht,store:Yt}=function(e={}){const t=(0,D.U1)({reducer:Re,middleware:e=>e({serializableCheck:{ignoredActions:[ce.ZM,ce.r2,ce.Hz,ce.DY,ce.Cq,ce.eY]}}),preloadedState:e,devTools:!1});
1return{store:t,persistor:(0,ce.GM)(t)}}();document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("#root"),t=document.querySelectorAll(".wrapper-react-search"),r=document.querySelectorAll(".wrapper-react-user-menu"),u=document.querySelector("#wrapper-react-newsletter-signup");e&&(0,a.H)(e).render(n.createElement(o.Kq,{store:Yt},n.createElement(s.Q,{loading:n.createElement(Se.A,null),persistor:Ht},n.createElement(i.I9,null,n.createElement(Kt,null))))),t.length>0&&t.forEach((e,t)=>{(0,a.H)(e).render(n.createElement(o.Kq,{store:Yt},n.createElement($e,{cssId:`react-search-${t}`,placeholder:"Search for a brand"})))}),u&&(0,a.H)(u).render(n.createElement(Ie,null)),r.length>0&&r.forEach(e=>{(0,a.H)(e).render(n.createElement(o.Kq,{store:Yt},n.createElement(se,null)))})})},8145:function(e,t,r){"use strict";r.d(t,{n:function(){return o}});const n="https://3r0wkxikve.execute-api.us-east-2.amazonaws.com",a="ARqUSQKLLWj-Ul6cX4wIFPd-lhSzoroXy0rPJSPK-9M";async function o(e,t={}){const r={"X-API-Key":a};t.authToken&&(r.Authorization=`Bearer ${t.authToken}`);const o=await fetch(`${n}${e}`,{headers:r});if(!o.ok)throw new Error(`API error: ${o.status}`);return o.json()}},8783:function(e,t,r){"use strict";r.d(t,{$A:function(){return Oe},$x:function(){return nt},AW:function(){return et},Az:function(){return V},Bt:function(){return he},C1:function(){return O},CT:function(){return rt},CY:function(){return dt},Do:function(){return ve},Du:function(){return D},Ex:function(){return Ye},GF:function(){return w},GJ:function(){return me},GV:function(){return te},Gx:function(){return re},H4:function(){return ct},Ht:function(){return k},In:function(){return Xe},Is:function(){return Ee},J:function(){return xe},KE:function(){return oe},KF:function(){return Ze},LS:function(){return ut},LZ:function(){return se},M3:function(){return Ve},M6:function(){return L},MX:function(){return Be},ND:function(){return Ke},No:function(){return He},Nt:function(){return Fe},OV:function(){return be},Oq:function(){return s},PS:function(){return fe},Qf:function(){return G},Re:function(){return pe},Rn:function(){return o},T8:function(){return H},TH:function(){return Qe},Vr:function(){return J},Xp:function(){return X},Yd:function(){return st},Z2:function(){return W},ZX:function(){return ne},_T:function(){return K},_Y:function(){return Ce},_p:function(){return l},aG:function(){return ue},aY:function(){return bt},ax:function(){return ht},bV:function(){return ze},c1:function(){return Z},cm:function(){return je},dG:function(){return C},dS:function(){return Ue},dl:function(){return gt},e1:function(){return A},eG:function(){return _},eK:function(){return Se},f:function(){return Q},f_:function(){return Je},fk:function(){return we},fm:function(){return Me},gW:function(){return Ge},hs:function(){return ot},jY:function(){return S},jx:function(){return ie},k7:function(){return x},kC:function(){return ge},kG:function(){return ae},kL:function(){return Pe},lC:function(){return ft},le:function(){return v},lp:function(){return le},mA:function(){return pt},mh:function(){return yt},mm:function(){return P},mz:function(){return de},n0:function(){return qe},nA:function(){return at},nc:function(){return Ie},ng:function(){return We},o$:function(){return U},o4:function(){return F},oD:function(){return Ne},po:function(){return I},pq:function(){return _e},q9:function(){return mt},qb:function(){return ee},qw:function(){return Ae},r8:function(){return tt},rI:function(){return z},sA:function(){return E},sX:function(){return it},sb:function(){return De},tM:function(){return q},uZ:function(){return M},ue:function(){return T},uk:function(){return $},v6:function(){return N},vA:function(){return B},vZ:function(){return y},vj:function(){return ke},w3:function(){return j},wp:function(){return $e},xP:function(){return Re},xU:function(){return Te},xX:function(){return Le},yJ:function(){return ye},yO:function(){return lt},zK:function(){return ce},zR:function(){return Y},zp:function(){return R}});var n=r(2122);const a=r(7254).A.REVIEW_API_BASE;class o extends Error{constructor(e,t,r){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"detail",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="ReviewApiError",this.status=e,this.detail=r}}const i=e=>{if(!e)return"";const t=[];for(const[r,n]of Object.entries(e))null!=n&&""!==n&&t.push(`${encodeURIComponent(r)}=${encodeURIComponent(String(n))}`);return t.length>0?`?${t.join("&")}`:""},s=async()=>(await u())?.uid||null,u=()=>{const e=n.Ay.auth().currentUser;return e?Promise.resolve(e):new Promise(e=>{let t=!1;const r=r=>{if(!t){t=!0;try{a()}catch{}e(r)}},a=n.Ay.auth().onAuthStateChanged(e=>r(e));setTimeout(()=>r(n.Ay.auth().currentUser),4e3)})},c=async(e=!1)=>{const t=await u();return t?{Authorization:`Bearer ${await t.getIdToken(e)}`}:{}},l=(e,t)=>
1{const r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)};async function d(e,t={}){return h(e,t,!1)}const m=3,p=6e3,b=(e,t)=>503===e&&!!t&&("number"==typeof t.retry_after_s||/rebuilding/i.test(String(t.detail||""))),f=e=>new Promise(t=>setTimeout(t,e));async function h(e,t,r,s=0){const{method:u="GET",body:l,query:d}=t,g={...await c(r)};void 0!==l&&(g["Content-Type"]="application/json");const y=await fetch(`${a}${e}${i(d)}`,{method:u,headers:g,body:void 0===l?void 0:JSON.stringify(l)});if(401===y.status&&!r&&n.Ay.auth().currentUser)return h(e,t,!0);if(!y.ok){let n,a=y.statusText;try{n=await y.json(),n&&"string"==typeof n.detail?a=n.detail:n&&n.detail&&(a=JSON.stringify(n.detail))}catch{}if(401===y.status&&(window.location.hash="#/login"),b(y.status,n)&&"GET"===u&&s<m){const a=Number(y.headers.get("Retry-After")),o="number"==typeof n?.retry_after_s?n.retry_after_s:Number.isFinite(a)&&a>0?a:5;return await f(Math.min(1e3*o,p)),h(e,t,r,s+1)}throw new o(y.status,a||`Request failed (${y.status})`,n)}return 204!==y.status?y.json():void 0}const g=e=>"admin"===e||"owner"===e;async function y(){const e=await u();if(!e)return null;try{const t=(await e.getIdTokenResult(!0)).claims||{};return"owner"===t.role?"owner":"admin"===t.role?"admin":"reviewer"===t.role?"reviewer":null}catch{return null}}async function w(){return g(await y())}const E=()=>d("/decisions"),v=()=>d("/health"),P=e=>d("/companies",{query:e}),O=e=>d(`/companies/${e}`),A=(e,t)=>
1d(`/companies/${e}/execs`,{query:t}),j=(e,t)=>d(`/companies/${e}/matched`,{query:t}),L=(e,t)=>d(`/companies/${e}/flagged`,{query:t}),C=e=>d(`/companies/${e}/pacs`),R=(e,t)=>d(`/pacs/${encodeURIComponent(e)}/outgoing`,{query:t}),S=e=>d("/special-interest-pacs",{query:e}),_=e=>d(`/special-interest-pacs/${encodeURIComponent(e)}`),I=e=>d("/execs",{query:e}),T=e=>d("/execs/duplicates",{query:e}),x=e=>d("/execs",{method:"POST",body:e}),N=(e,t)=>d(`/execs/${e}/associations`,{method:"POST",body:t}),U=(e,t,r)=>d(`/execs/${e}/associations/${t}`,{method:"PATCH",body:r}),q=(e,t)=>d(`/execs/${e}/associations/${t}`,{method:"DELETE"}),$=e=>d("/exec-merge-suggestions",{query:e}),D=e=>d(`/execs/${encodeURIComponent(e)}/merge-suggestions`),k=(e,t,r)=>d(`/execs/${encodeURIComponent(e)}/merge-suggestions/${encodeURIComponent(t)}/dismiss`,{method:"POST",body:r?{reason:r}:{}}),M=(e,t)=>d(`/execs/${encodeURIComponent(e)}/merge-suggestions/${encodeURIComponent(t)}/dismiss`,{method:"DELETE"}),B=(e,t)=>d(`/execs/${e}/merge`,{method:"POST",body:{duplicate_ids:t}}),z=(e,t)=>d(`/execs/${e}/merge/${t}`,{method:"DELETE"}),F=e=>d(`/execs/${e}`),G=e=>d(`/execs/${encodeURIComponent(e)}/trust`),V=(e,t)=>d(`/execs/${e}/matched`,{query:t}),K=(e,t)=>d(`/execs/${e}/flagged`,{query:t}),H=e=>e instanceof o&&409===e.status&&e.detail&&"object"==typeof e.detail.detail&&e.detail.detail?.error?e.detail.detail:null,Y=e=>{if(!(e instanceof o)||409!==e.status)return null;const t=/exec (\S+) already exists/i.exec(e.message);return t?t[1]:null},W=(e,t)=>d(`/companies/${e}/execs`,{method:"POST",body:t}),Z=(e,t)=>d(`/execs/${e}`,{method:"PATCH",body:t}),J=e=>d(`/execs/${e}`,{method:"DELETE"}),X=e=>d(`/execs/${e}/promotions`,{method:"DELETE"}),Q=(e,t,r,n)=>d(`/companies/${e}/pacs`,{method:"POST",body:{committee_id:t,...r?{name:r}:{},...n?{shared:!0}:{}}}),ee=(e,t)=>d(`/companies/${e}/pacs/${encodeURIComponent(t)}`,{method:"DELETE"}),te=e=>d(`/companies/${e}/publish-shift`),re=e=>d(`/politicians/candidates/${encodeURIComponent(e.toUpperCase())}/matches`),ne=e=>d("/politicians/map",{method:"POST",body:e}),ae=e=>d(`/politicians/map/${encodeURIComponent(e.toUpperCase())}`,{method:"DELETE"}),oe=e=>d("/access/principals",{query:{rescan:e||void 0}}),ie=e=>d("/access/lookup",{query:{email:e}}),se=(e,t)=>d(`/access/principals/${encodeURIComponent(e)}`,{method:"PUT",body:t}),ue=e=>async function(e){const t=async t=>fetch(`${a}${e}${i(void 0)}`,{headers:await c(t)});let r=await t(!1);if(401===r.status&&n.Ay.auth().currentUser&&(r=await t(!0)),!r.ok){let e,t=r.statusText;try{e=await r.json(),e&&"string"==typeof e.detail&&(t=e.detail)}catch{}throw new o(r.status,t||`Request failed (${r.status})`,e)}const s=r.headers.get("Content-Disposition")||"",u=/filename\*?=(?:UTF-8'')?"?([^";]+)"?/i.exec(s);return{blob:await r.blob(),filename:u?decodeURIComponent(u[1]):null}}(`/companies/${encodeURIComponent(e)}/export.xlsx`),ce=(e,t)=>{const r=[];return void 0!==t?.since&&r.push(`since=${encodeURIComponent(t.since)}`),void 0!==t?.limit&&r.push(`limit=${t.limit}`),d(`/companies/${e}/changes${r.length?`?${r.join("&")}`:""}`)},le=(e,t,r)=>d(`/companies/${e}/changes/${encodeURIComponent(t)}/explain`,{method:"POST",body:{explanation:r}}),de=(e,t)=>d(`/companies/${e}/reconciliation`,{query:{top:t?.top,fan_out:void 0===t?.fanOut?void 0:t.fanOut}}),me=(e,t)=>
1d(`/companies/${e}/suggested-pacs`,{query:t}),pe=e=>d("/suggested-pacs",{query:e}),be=(e,t,r)=>d(`/companies/${e}/suggested-pacs/${encodeURIComponent(t)}/dismiss`,{method:"POST",body:r?{reason:r}:{}}),fe=(e,t)=>d(`/companies/${e}/suggested-pacs/${encodeURIComponent(t)}/dismiss`,{method:"DELETE"}),he=(e,t)=>d(`/companies/${e}/suggested-execs`,{query:t}),ge=e=>d("/suggested-execs",{query:e}),ye=(e,t)=>d(`/suggested-execs/${encodeURIComponent(e)}/records`,{query:t}),we=e=>d("/brands",{query:e}),Ee=e=>d(`/suggested-execs/${encodeURIComponent(e)}/evidence`),ve=e=>d(`/execs/${encodeURIComponent(e)}/evidence`),Pe=(e,t,r)=>d(`/suggested-execs/${encodeURIComponent(e)}/approve`,{method:"POST",body:{company_id:t,...r?.jobTitle?{job_title:r.jobTitle}:{},...r?.primaryStart?{association_start:r.primaryStart}:{},...r?.primaryEnd?{association_end:r.primaryEnd}:{},...r?.primaryStart||r?.associations?.some(e=>e.association_start)?{dates_confirmed:!0}:{},...r?.associations&&r.associations.length>0?{associations:r.associations}:{},...r?.addEmployerAlias?{add_employer_alias:!0}:{}}}),Oe=(e,t)=>d(`/suggested-execs/${encodeURIComponent(e)}/dismiss`,{method:"POST",body:t?{reason:t}:{}}),Ae=e=>d(`/suggested-execs/${encodeURIComponent(e)}/dismiss`,{method:"DELETE"}),je=(e,t)=>d(`/matched/${e}/suppress`,{method:"POST",body:t?{reason:t}:{}}),Le=e=>d(`/matched/${e}/suppress`,{method:"DELETE"}),Ce=(e,t,r)=>d(`/flagged/${e}/approve`,{method:"POST",body:{...t?{chosen_exec_id:t}:{},...r?.addEmployerAlias?{add_employer_alias:!0}:{},...r?.removedOk?{removed_ok:!0}:{},...r?.dupOk?{dup_ok:!0}:{}}}),Re=e=>d(`/flagged/${e}/approve`,{method:"DELETE"}),Se=(e,t)=>d(`/flagged/${e}/reject`,{method:"POST",body:{...t?.execId?{exec_id:t.execId}:{},...t?.reason?{reason:t.reason}:{}}}),_e=(e,t)=>d(`/flagged/${e}/reject`,{method:"DELETE",...t?{query:{exec_id:t}}:{}}),Ie=(e,t)=>d(`/execs/${e}/blacklist`,{method:"POST",body:t}),Te=(e,t)=>
1d(`/execs/${e}/blacklist/${t}`,{method:"DELETE"}),xe=(e,t)=>d(`/execs/${e}/addresses`,{method:"POST",body:t}),Ne=(e,t)=>d(`/execs/${e}/addresses/${t}`,{method:"DELETE"}),Ue=(e,t,r,n)=>d("/review/bulk",{method:"POST",body:{action:e,ids:t,...r?{reason:r}:{},...n?.includeOutOfTenure?{include_out_of_tenure:!0}:{}}}),qe=e=>d("/nohit-employers",{query:e}),$e=()=>d("/employer-aliases"),De=e=>d("/employer-aliases",{method:"POST",body:e}),ke=e=>d(`/employer-aliases/${encodeURIComponent(e)}`,{method:"DELETE"}),Me=()=>d("/ops/brand-integrity"),Be=e=>d("/execs/window-worklist",{query:e}),ze=(e,t)=>d(e,{method:"PATCH",body:t}),Fe=(e,t)=>d(`/companies/${encodeURIComponent(e)}/weightless-committees`,{query:t}),Ge=e=>d("/committees/weightless",{query:e}),Ve=e=>d("/committee-leans",{method:"POST",body:e}),Ke=e=>d("/treasury/records",{query:e}),He=(e,t)=>d(`/treasury/records/${encodeURIComponent(e)}/exclude`,{method:"POST",body:{reason:t}}),Ye=e=>d(`/treasury/records/${encodeURIComponent(e)}/exclude`,{method:"DELETE"}),We=e=>d("/treasury/orgs",{query:e}),Ze=e=>d("/treasury/orgs/decision",{method:"POST",body:e}),Je=e=>d(`/treasury/orgs/decision/${encodeURIComponent(e)}`,{method:"DELETE"}),Xe=()=>d("/rollout/phases"),Qe=e=>d("/rollout/companies",{query:e}),et=(e,t)=>d(`/rollout/${e}`,{method:"PATCH",body:t}),tt=e=>d(`/rollout/${e}/preflight`),rt=(e,t)=>d(`/rollout/${e}/signoff`,{method:"POST",body:t}),nt=e=>d("/rollout/publish",{method:"POST",body:e}),at=()=>d("/exec-watches"),ot=(e,t)=>
1d(`/execs/${encodeURIComponent(e)}/watch`,{method:"POST",body:t?{note:t}:{}}),it=e=>d(`/execs/${encodeURIComponent(e)}/watch`,{method:"DELETE"}),st=e=>d("/exec-watch-alerts",{query:e}),ut=(e,t)=>d(`/exec-watch-alerts/${e}`,{method:"PATCH",body:{status:t}}),ct=e=>d("/exec-watch-alerts/groups",{query:e}),lt=(e,t)=>d(`/exec-watch-alerts/${encodeURIComponent(e)}/draft`,{query:{opener:t}}),dt=(e,t)=>d(`/exec-watch-alerts/${encodeURIComponent(e)}/post`,{method:"POST",body:t}),mt=(e,t)=>d(`/exec-watches/${encodeURIComponent(e)}`,{method:"PATCH",body:t}),pt=()=>d("/rerun/aggregate",{method:"POST"}),bt=()=>d("/rerun/refresh",{method:"POST"}),ft=()=>d("/rerun/rematch",{method:"POST"}),ht=e=>d(`/rerun/${e}`),gt=()=>d("/rerun/latest"),yt=e=>d(`/rerun/${e}/cancel`,{method:"POST"})},9965:function(e,t,r){"use strict";r.d(t,{Y:function(){return i}});var n=r(6540),a=r(9733),o=r(8783);function i(){const e=(0,a.d4)(e=>!!e.auth?.isAuthenticated),[t,r]=(0,n.useState)("pending");return(0,n.useEffect)(()=>{if(!e)return void r(null);let t=!1;return(0,o.vZ)().then(e=>{t||r(e)}),()=>{t=!0}},[e]),{tier:"pending"===t?null:t,loading:"pending"===t}}}},i={};function s(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return o[e].call(r.exports,r,r.exports,s),r.exports}s.m=o,e=[],s.O=function(t,r,n,a){if(!r){var o=1/0;for(l=0;l<e.length;l++){r=e[l][0],n=e[l][1],a=e[l][2];for(var i=!0,u=0;u<r.length;u++)(!1&a||o>=a)&&Object.keys(s.O).every(function(e){return s.O[e](r[u])})?r.splice(u--,1):(i=!1,a<o&&(o=a));if(i){e.splice(l--,1);var c=n();void 0!==c&&(t=c)}}return t}a=a||0;for(var l=e.length;l>0&&e[l-1][2]>a;l--)e[l]=e[l-1];e[l]=[r,n,a]},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},r=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var a=Object.create(null);s.r(a);var o={};t=t||[null,r({}),r([]),r(r)];for(var i=2&n&&e;("object"==typeof i||"function"==typeof i)&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},s.d(a,o),a},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,r){return s.f[r](e,t),t},[]))},s.u=function(e){return"scripts/"+e+"."+{37:"3e924e2365cde57c4ec4",113:"1780ab3dcfd14e67459d",121:"a6133723842167dcd3c2",144:"c5af3f2307fec9c46d75",456:"639e7f95a8ef3803b348",543:"cffa8b519f92062ef798",588:"940a71455bd95d637e13",665:"3b7cc7505dc8df89f2f4",689:"d381e9fd468523d4101e",701:"74607fdc0142ffbb5412",726:"13cda365b79479e45d3e",740:"f0d4cac30b4305b18cf4",774:"5d73a8eef97601ee36b3",872:"3f19ed5f9e31e5b792db",950:"f8e53b5c9ac2693ab3af",975:"061111749295a8412d02"}[e]+".js"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n={},a="goodsuniteus:",s.l=function(e,t,r,o){if(n[e])n[e].push(t);else{var i,u;if(void 0!==r)for(var c=document.getElementsByTagName("script"),l=0;l<c.length;l++){var d=c[l];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==a+r){i=d;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",a+r),i.src=e),n[e]=[t];var m=function(t,r){i.onerror=i.onload=null,clearTimeout(p);var a=n[e];if(delete n[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(function(e){return e(r)}),t)return t(r)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=m.bind(null,i.onerror),i.onload=m.bind(null,i.onload),u&&document.head.appendChild(i)}},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}
1),Object.defineProperty(e,"__esModule",{value:!0})},s.p="/wp-content/themes/FoundationPress/react/",function(){var e={792:0};s.f.j=function(t,r){var n=s.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var a=new Promise(function(r,a){n=e[t]=[r,a]});r.push(n[2]=a);var o=s.p+s.u(t),i=new Error;s.l(o,function(r){if(s.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",i.name="ChunkLoadError",i.type=a,i.request=o,n[1](i)}},"chunk-"+t,t)}},s.O.j=function(t){return 0===e[t]};var t=function(t,r){var n,a,o=r[0],i=r[1],u=r[2],c=0;if(o.some(function(t){return 0!==e[t]})){for(n in i)s.o(i,n)&&(s.m[n]=i[n]);if(u)var l=u(s)}for(t&&t(r);c<o.length;c++)s.o(e,a=o[c])&&e[a]&&e[a][0](),e[a]=0;return s.O(l)},r=self.webpackChunkgoodsuniteus=self.webpackChunkgoodsuniteus||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}();var u=s.O(void 0,[204],function(){return s(8089)});u=s.O(u)}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.