{"version":3,"file":"js/base.js","mappings":";;;;;;;;;;;;;;;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAGA;AAEA;AACA;AAAA;AAGA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;AC3EA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAGA;AAAA;AACA;AAEA;AACA;AAAA;AAGA;AAAA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAGA;AAAA;AACA;AAEA;AAAA;AACA;AAGA;AAAA;AACA;AAGA;AAAA;AACA;AAGA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AACA;AACA;AAGA;AAAA;AAGA;AAEA;AACA;AAAA;AACA;AACA;AAGA;AAAA;AACA;AAGA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AACA;AAGA;AAEA;AAEA;AAAA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AAAA;AAGA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAGA;AACA;AAAA;AAEA;AACA;AAAA;AAIA;AACA;AAAA;AACA;AACA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5SA;AACA;AAAA;AAEA;AAEA;AAEA;AACA;AAOA;AACA;AAAA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AAGA;AACA;AAMA;AACA;AAAA;AACA;AACA;AAEA;AAOA;AACA;AAAA;AACA;AACA;AAEA;AAaA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAcA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAiBA;AACA;AACA;AAcA;AACA;AACA;AAUA;AACA;AACA;AAUA;AACA;AACA;AAcA;AACA;AACA;AAaA;AACA;AACA;AASA;AACA;AACA;AACA;AAAA;AAEA;AAMA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AASA;;;;;;;ACrQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACRA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;ACJA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClGA;AACA;AACA;;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA","sources":["webpack://@mlssoccer/netcore/./scripts/libraries/_modules/auth0/helpers.js","webpack://@mlssoccer/netcore/./scripts/libraries/_modules/auth0/index.js","webpack://@mlssoccer/netcore/./scripts/libraries/_modules/tracking/helpers.js","webpack://@mlssoccer/netcore/webpack/bootstrap","webpack://@mlssoccer/netcore/webpack/runtime/chunk loaded","webpack://@mlssoccer/netcore/webpack/runtime/chunk prefetch function","webpack://@mlssoccer/netcore/webpack/runtime/compat get default export","webpack://@mlssoccer/netcore/webpack/runtime/create fake namespace object","webpack://@mlssoccer/netcore/webpack/runtime/define property getters","webpack://@mlssoccer/netcore/webpack/runtime/ensure chunk","webpack://@mlssoccer/netcore/webpack/runtime/get javascript chunk filename","webpack://@mlssoccer/netcore/webpack/runtime/global","webpack://@mlssoccer/netcore/webpack/runtime/hasOwnProperty shorthand","webpack://@mlssoccer/netcore/webpack/runtime/load script","webpack://@mlssoccer/netcore/webpack/runtime/make namespace object","webpack://@mlssoccer/netcore/webpack/runtime/node module decorator","webpack://@mlssoccer/netcore/webpack/runtime/publicPath","webpack://@mlssoccer/netcore/webpack/runtime/jsonp chunk loading","webpack://@mlssoccer/netcore/webpack/runtime/startup prefetch","webpack://@mlssoccer/netcore/./scripts/bundles/base.js"],"sourcesContent":["import { trackUserFreemiumLoginWallViewed, trackUserFreemiumLoginWallCtaClicked } from \"../tracking/helpers\";\n\n/**\n * Update account button if user is logged\n * @param isLogged the meta data\n */\n\nexport const updateWalledElements = (isLogged) => {\n var mlsAccountLoading = document.querySelectorAll('.mls-account-wall-loading');\n var mlsAccountWall = document.querySelectorAll(\".mls-account-wall\");\n var mlsAccountWallContent = document.querySelectorAll('.mls-account-wall-content');\n var mlsAccountWallContentRight = document.querySelectorAll(\".mls-account-wall-content--right \");\n var mlsLockVideoIcon = document.querySelectorAll(\".-lock\");\n\n if (mlsAccountLoading?.length) {\n mlsAccountLoading.forEach(function (element) {\n element.classList.remove(\"mls-account-wall-loading\");\n });\n }\n\n if (isLogged) {\n\n if (mlsLockVideoIcon?.length) {\n mlsLockVideoIcon.forEach((el) => el.remove());\n }\n\n if (mlsAccountWall?.length) {\n mlsAccountWall.forEach(function (element) {\n element.remove();\n });\n }\n\n if (mlsAccountWallContent) {\n mlsAccountWallContent.forEach(function (element) {\n element.classList.remove(\"mls-account-wall-content\");\n });\n }\n\n if (mlsAccountWallContentRight?.length) {\n mlsAccountWallContentRight.forEach(function (element) {\n element.classList.remove(\"mls-account-wall-content--right\");\n });\n }\n\n } else {\n if (mlsAccountWallContent) {\n var mlsAccountWallDivs = document.querySelectorAll('.mls-account-wall-content .body-part');\n var mlsAccountWallAds = document.querySelectorAll('.mls-account-wall-content .adv-part');\n var mlsAccountWallFooter = document.querySelectorAll('.mls-c-article__footer');\n\n if (mlsAccountWallDivs) {\n mlsAccountWallDivs.forEach((el, i) => {\n if (i > 1) {\n el.remove();\n }\n });\n }\n\n if (mlsAccountWallAds) {\n mlsAccountWallAds.forEach((el, i) => {\n el.remove();\n });\n }\n\n if (mlsAccountWallFooter) {\n mlsAccountWallFooter.forEach((el, i) => {\n el.remove();\n });\n }\n\n mlsAccountWallContent.forEach(function (element) {\n element.classList.remove(\"mls-account-wall-content\");\n });\n }\n }\n}\n","import { trackUserLogged, trackUserFreemiumLoginWallCtaClicked, trackUserFreemiumLoginWallViewed, trackUserFreemiumSuccessfulLogin, trackUserFreemiumSuccessfulSignup } from \"../tracking/helpers\";\nimport { updateWalledElements } from \"./helpers\";\n\nconst configureClient = async () => {\n window.auth0Client = await auth0.createAuth0Client({\n domain: window.forgeVariables.auth0.domain,\n clientId: window.forgeVariables.auth0.clientId,\n useRefreshTokens: true,\n cacheLocation: \"localstorage\",\n });\n};\n\nexport const login = async (redirect_uri = null) => {\n if (window.auth0Client) {\n await window.auth0Client.loginWithRedirect({\n authorizationParams: {\n redirect_uri: redirect_uri ? redirect_uri : `${window.location.origin}/mlsid/callback?return_uri=${window.location.pathname}`,\n connection: \"fan-id\",\n display: \"signin\",\n prompt: \"login\"\n },\n });\n }\n};\n\nconst logout = async () => {\n if (window.auth0Client) {\n await window.auth0Client.logout({\n clientId: window.forgeVariables.auth0.clientId,\n logoutParams: {\n returnTo: window.location.origin\n }\n });\n }\n};\n\nexport const signUp = async (redirect_uri = null) => {\n if (window.auth0Client) {\n await window.auth0Client.loginWithRedirect({\n authorizationParams: {\n redirect_uri: redirect_uri ? redirect_uri : `${window.location.origin}/mlsid/callback?return_uri=${window.location.pathname}`,\n connection: \"fan-id\",\n display: \"signup\",\n prompt: \"login\"\n },\n });\n }\n};\n\nconst updateWall = (isAuthenticated) => {\n console.log(\"AUTHENTICATED ? \", isAuthenticated)\n if (isAuthenticated) {\n updateWalledElements(true);\n } else {\n updateWalledElements(false);\n }\n};\n\nconst updateUI = async () => {\n if (window.auth0Client) {\n const isAuthenticated = await window.auth0Client.isAuthenticated();\n const query = window.location.search;\n const params = new URLSearchParams(query);\n const freemiumType = params.get(\"freemiumType\");\n const event = params.get(\"event\");\n const signupType = params.get(\"signupType\");\n const method = params.get(\"method\") || \"\";\n\n if (window.dataLayerInitialized) {\n if (isAuthenticated) {\n const user = await window.auth0Client.getUser();\n const sub = user?.sub;\n \n if (sub) {\n window.dataLayer.push({\n ...window.dataLayerInitialized,\n userId: user?.sub\n });\n }\n }\n }\n\n updateWall(isAuthenticated);\n\n if (isAuthenticated) {\n\n if (event === \"successful-signup\" && event && signupType) {\n trackUserFreemiumSuccessfulSignup({\n freemiumType,\n event,\n signupType,\n method\n });\n }\n \n if (event === \"successful-login-freemium\" && freemiumType) {\n trackUserFreemiumSuccessfulLogin({\n freemiumType,\n event,\n method\n });\n }\n\n const accountSelector = document.querySelectorAll(\n \".mls-o-navigation__item-link--account\"\n );\n\n if (accountSelector?.length) {\n accountSelector.forEach((el) =>\n el.setAttribute(\"href\", \"/mlsid/profile\")\n );\n }\n\n const accountIconSelector = document.querySelectorAll(\n \".mls-o-navigation__item-link--account .oc-o-icon--mls-profile\"\n );\n if (accountIconSelector?.length) {\n accountIconSelector.forEach((el) => el.classList.remove(\"d-none\"));\n }\n\n const accountTextSelector = document.querySelectorAll(\n \".mls-o-navigation__item-link--account .mls-o-navigation__item-text\"\n );\n if (accountTextSelector?.length) {\n accountTextSelector.forEach((el) => el.classList.add(\"d-none\"));\n }\n\n const profile = await window.auth0Client.getUser();\n const profilePage = document.querySelector(\".mls-c-auth0-profile\");\n\n if (profile && profilePage) {\n const accountContainer = document.querySelector(\".mls-c-account_info\");\n const divider = document.querySelector(\".mls-c-account__divider\");\n const logoutButton = document.querySelector(\".mls-c-account__logout-button\");\n const connectedAccountsContainer = document.querySelector(\".mls-c-account__connected_accounts--title\");\n const appleAccount = document.querySelector(\".mls-c-account__connected_accounts--apple\");\n const fbAccount = document.querySelector(\".mls-c-account__connected_accounts--facebook\");\n\n if (accountContainer) {\n accountContainer.style.display = \"grid\";\n }\n\n if (divider) {\n divider.style.display = \"block\";\n }\n\n if (logoutButton) {\n logoutButton.style.display = \"block\";\n }\n\n const nameContainer = document.querySelector(\n \".mls-c-account__name\"\n );\n const emailContainer = document.querySelector(\n \".mls-c-account__email\"\n );\n\n const favoriteClubContainer = document.querySelector(\n \".mls-c-account__favorite-club-wrapper\"\n );\n\n const favoriteClubEl = document.querySelector(\n \".mls-c-account__favorite-club\"\n );\n\n if (nameContainer) nameContainer.innerHTML = profile?.given_name && profile?.family_name ? profile?.given_name + \" \" + profile?.family_name : profile?.nickname;\n if (emailContainer) emailContainer.innerHTML = profile?.email;\n if (profile?.user_metadata?.favorite_club_opta_id) {\n const clubsUrl = `${window.forgeVariables.apiList.forgeDAPI}/content/${window.forgeVariables.currentSite.culture}/clubs?fields.inMLSCompetition=true&$skip=0&$limit=99`\n const clubs = await fetch(clubsUrl)\n .then((res) => res.json())\n .catch((_) => []);\n\n if (clubs?.items?.length) {\n const optaId = profile.user_metadata.favorite_club_opta_id;\n const club = clubs?.items.find((club) => club.fields.optaId == optaId);\n if (club && favoriteClubContainer && favoriteClubEl) {\n favoriteClubContainer.style.display = \"block\";\n favoriteClubEl.innerHTML = club.title;\n }\n }\n }\n\n if (connectedAccountsContainer && appleAccount && profile?.sub?.includes(\"apple\")) {\n appleAccount.style.display = \"block\";\n connectedAccountsContainer.style.display = \"flex\";\n }\n\n if (connectedAccountsContainer && fbAccount && profile?.sub?.includes(\"facebook\")) {\n fbAccount.style.display = \"block\";\n connectedAccountsContainer.style.display = \"flex\";\n }\n\n if (!profile?.sub?.includes(\"facebook\") && !profile?.sub?.includes(\"apple\")) {\n const connectedAccountsTitle = document.querySelector(\".mls-c-account__connected_accounts--title\");\n if (connectedAccountsTitle) {\n connectedAccountsTitle.style.display = \"none\";\n }\n }\n }\n\n return;\n } else {\n\n const wall = document.querySelector(\".mls-account-wall\");\n\n if (wall) {\n trackUserFreemiumLoginWallViewed({\n freemiumType: 'article'\n });\n }\n\n const accountTextSelector = document.querySelectorAll(\n \".mls-o-navigation__item-link--account .mls-o-navigation__item-text\"\n );\n\n const signinButton = document.querySelector(\".mls-c-account__signin-button\");\n\n if (signinButton) {\n signinButton.style.display = \"block\";\n }\n\n if (accountTextSelector?.length) {\n accountTextSelector.forEach((el) => el.classList.remove(\"d-none\"));\n }\n }\n\n if (query.includes(\"code=\") && query.includes(\"state=\")) {\n // Process the login state\n await window.auth0Client.handleRedirectCallback();\n\n updateUI();\n }\n }\n};\n\n\nexport const initializeAuth = async () => {\n\n const callbackEvent = new Event(\"callback_check\");\n await configureClient();\n await updateUI();\n document.dispatchEvent(callbackEvent);\n\n const signUpButton = document.querySelector(\n \".mls-c-account__sign-up--button\"\n );\n\n const accountLoginButton = document.querySelector('.mls-o-navigation__item-link--login .mls-o-navigation__item-text');\n const accountLoginButtonMobile = document.querySelectorAll('.mls-o-navigation__item-link--login-mobile .mls-o-navigation__item-text');\n const profileSigninButton = document.querySelector(\".mls-c-account__signin-button\");\n\n const loginButton = document.querySelector(\".mls-c-account__sign-in--button\");\n const signUpWallButton = document.querySelector(\".mls-account-wall__btn\");\n const signInWallButton = document.querySelector(\".mls-account-wall__use-profile\");\n const logoutButton = document.querySelector(\".mls-c-account__logout-button\");\n\n if (signUpButton) {\n signUpButton.onclick = () => signUp();\n }\n\n if (logoutButton) {\n logoutButton.onclick = () => logout();\n }\n\n if (loginButton) {\n loginButton.onclick = () => login();\n }\n\n if (signInWallButton) {\n signInWallButton.onclick = () => {\n trackUserFreemiumLoginWallCtaClicked({\n freemiumType: \"article\",\n ctaAction: \"signin\"\n });\n const redirect_uri = `${window.location.origin}/mlsid/callback?return_uri=${window.location.pathname}&freemiumType=article&event=successful-login-freemium`\n login(redirect_uri);\n };\n }\n\n if (signUpWallButton) {\n signUpWallButton.onclick = () => {\n trackUserFreemiumLoginWallCtaClicked({\n freemiumType: \"article\",\n ctaAction: \"signup\"\n });\n const redirect_uri = `${window.location.origin}/mlsid/callback?return_uri=${window.location.pathname}&freemiumType=article&event=successful-signup&signupType=freemium`\n signUp(redirect_uri);\n }\n }\n\n if (accountLoginButton) {\n accountLoginButton.onclick = () => login();\n }\n if (profileSigninButton) {\n profileSigninButton.onclick = () => login();\n }\n\n\n if (accountLoginButtonMobile?.length) {\n accountLoginButtonMobile.forEach((el) =>\n el.onclick = () => login()\n );\n }\n\n};\n","/**\n * @private\n * Push somethig in dataLayer\n * @param obj object to push\n */\nconst dataLayerPush = (obj) => {\n if (!obj) return;\n\n window.dataLayer = window.dataLayer ?? [];\n\n obj = cleanupNull(obj);\n\n window.dataLayer.push(obj);\n};\n\n/**\n * @private\n * cleanup inner props\n * @param {object} obj\n */\nconst cleanupNull = (obj) => {\n if (obj === null) return undefined;\n\n if (typeof obj === 'string') return obj;\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (Array.isArray(obj[key])) {\n for (let index = 0; index < obj[key].length; index++) {\n obj[key][index] = cleanupNull(obj[key][index]);\n }\n } else {\n obj[key] = cleanupNull(obj[key]);\n }\n }\n }\n\n return obj;\n};\n\n/**\n * Push new Core dataLayer info\n * @param data the meta data\n */\nexport const addCoreDataLayer = (data) => {\n dataLayerPush({\n 'event': 'dataLayer-initialized',\n ...data,\n });\n};\n\n/**\n * Track generic event\n * @param {string} eventName event name\n * @param {any} data event data\n */\nexport const trackEvent = (eventName, data = {}) => {\n dataLayerPush({\n 'event': eventName,\n ...data\n });\n};\n\n/**\n * track block impression\n * @param {string} bucketName\n * @param {string} blockType\n * @param {{\n * id: string,\n * name: string,\n * creative: string,\n * position: string,\n * }[]} promotions\n */\nexport const trackBlockImpression = (bucketName, blockType, promotions) => {\n const impressionData = {\n bucketName,\n blockType,\n 'ecommerce': promotions?.length ? {\n 'promoView': {\n promotions,\n },\n } : undefined,\n };\n\n trackEvent('block-impression', impressionData);\n};\n\n/**\n * track block click\n * @param {string} bucketName\n * @param {string} blockType\n * @param {object} data\n * @param {{\n * id: string,\n * name: string,\n * creative: string,\n * position: string,\n * }} promotion\n */\nexport const trackBlockClick = (bucketName, blockType, layoutName, blockLayout, blockStyle, data, promotion) => {\n const clickData = {\n bucketName,\n blockType,\n layoutName,\n blockLayout,\n blockStyle,\n ...data,\n 'ecommerce': promotion ? {\n 'promoClick': {\n promotions: [promotion],\n },\n } : undefined,\n };\n\n trackEvent('block-click', clickData);\n};\n\n/**\n * Track MatchHub click event\n * @param {{\n * clickType: string,\n * clickItem: string,\n * match: string,\n * matchState: string,\n * clubName: string,\n * playerName: string,\n * competition: string,\n * cardType: string,\n * optaEventType: string,\n * toggle: string\n * }} clickData\n */\nexport const trackMatchHubClick = (clickData) => {\n trackEvent('match-hub-click', clickData);\n};\n\n/**\n * Track Match interaction event\n * @param {{\n * clickType: string,\n * clickItem: string,\n * clickPosition: string,\n * matchState: string,\n * match: string,\n * competition: string,\n * travelType: string\n * }} clickData\n */\nexport const trackMatchInteraction = (clickData) => {\n trackEvent('match-interaction', clickData);\n};\n\n/**\n * Track Week Selector event\n * @param {{\n * selectorLocation: 'top' | 'bottom',\n * direction: 'forward' | 'back',\n * selection: string\n * }} clickData\n */\nexport const trackWeekSelector = (clickData) => {\n trackEvent('week-selector-click', clickData);\n};\n\n/**\n * Track Filter interaction event\n * @param {{\n * statsCategory: string,\n * filterType: string,\n * clickItem: string\n * }} clickData\n */\nexport const trackFilterClick = (clickData) => {\n trackEvent('filter-click', clickData);\n};\n\n/**\n * Track FeaturedMatch click event\n * @param {{\n* clickType: string,\n* clickItem: string,\n* match: string,\n* matchState: string,\n* playerName: string,\n* competition: string,\n* toggle: string\n* }} clickData\n*/\nexport const trackFeaturedMatchClick = (clickData) => {\n trackEvent('featured-match-click', clickData);\n};\n\n/**\n * Track HorizontalScoreboardMatch click event\n * @param {{\n* clickType: string,\n* clickItem: string,\n* match: string,\n* matchState: string,\n* competition: string,\n* clickPosition: string,\n* }} clickData\n*/\nexport const trackHorizontalScoreboardMatch = (clickData) => {\n trackEvent('horizontal-scoreboard-match-click', clickData);\n};\n\n/**\n * Track user successful login event\n * @param {{\n* userId: string,\n* method: string,\n* }} eventData\n*/\nexport const trackUserLogin = (eventData) => {\n const hasUserLoginEventTracked = findUserLoginEvent(eventData?.userId);\n if (!hasUserLoginEventTracked) {\n trackEvent('successful-login-freemium', eventData);\n }\n};\n\n\n/**\n * Track user login freemium login wall event\n*/\nexport const trackUserFreemiumLoginWall = (eventData) => {\n trackEvent('freemium-login-wall', eventData);\n};\n\n\nconst findUserLoginEvent = (userId = '') => {\n const dataLayer = window.dataLayer || [];\n return dataLayer?.find(event => event?.userId === userId);\n}\n\nexport const trackUserFreemiumLoginWallViewed = (eventData) => {\n trackEvent('freemium-login-wall_viewed', eventData);\n};\n\nexport const trackUserFreemiumLoginWallCtaClicked = (eventData) => {\n trackEvent('freemium-cta-click', eventData);\n};\n\nexport const trackUserFreemiumSuccessfulSignup = (eventData) => {\n trackEvent('successful-signup', eventData);\n};\n\nexport const trackUserFreemiumSuccessfulLogin = (eventData) => {\n trackEvent('successful-login-freemium', eventData);\n};\n\nexport const trackUserLogged = (userId) => {\n // const dataLayerInitialized = window.dataLayer.find((e) => e.event == 'dataLayer-initialized');\n\n // if (dataLayerInitialized) {\n // dataLayerPush({\n // ...dataLayerInitialized,\n // 'userId': userId,\n // });\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\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","__webpack_require__.F = {};\n__webpack_require__.E = (chunkId) => {\n\tObject.keys(__webpack_require__.F).map((key) => {\n\t\t__webpack_require__.F[key](chunkId);\n\t});\n}","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".js?_t=\" + {\"vendors-_yarn_cache_lodash-npm-4_17_21-6382451519-c08619c038_zip_node_modules_lodash_lodash_js\":\"0b045822d29665d4728e\",\"vendors-_yarn_unplugged_swiper-npm-8_3_2-1fc49d1c17_node_modules_swiper_core_core_js-_yarn_un-112bef\":\"0f3436864a3fd8e597cf\",\"vendors-_yarn_cache_body-scroll-lock-npm-3_1_5-fbe946063b-c86f149e5c_zip_node_modules_body-sc-44e5e0\":\"a2fec60fb30f75b43f43\",\"scripts_libraries__utilities_lib_js\":\"05fb5acadb30142e3b34\",\"vendors-_yarn_cache_lazysizes-npm-5_3_2-e135ce29c0-15dfa1cc8b_zip_node_modules_lazysizes_lazy-371733\":\"dd146e1d1935a58a561b\",\"scripts_libraries__modules_tracking_index_js\":\"68a8f8aaac7258958ad1\",\"scripts_libraries__modules_AlpineModules_js\":\"3d56e4347aca3f23b731\",\"vendors-_yarn_cache_alpinejs-npm-2_8_2-d63cb5efa5-6c6d6b7cf4_zip_node_modules_alpinejs_dist_a-aebde4\":\"5da3fce94b29de98a9cf\",\"scripts_libraries__utilities_throttle_js\":\"02e070e7633d527613c2\"}[chunkId] + \"\";\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})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@mlssoccer/netcore:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\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};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/assets/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"base\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n__webpack_require__.F.j = (chunkId) => {\n\tif((!__webpack_require__.o(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && true) {\n\t\tinstalledChunks[chunkId] = null;\n\t\tvar link = document.createElement('link');\n\n\t\tif (__webpack_require__.nc) {\n\t\t\tlink.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tlink.rel = \"prefetch\";\n\t\tlink.as = \"script\";\n\t\tlink.href = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\tdocument.head.appendChild(link);\n\t}\n};\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_mlssoccer_netcore\"] = self[\"webpackChunk_mlssoccer_netcore\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.O(0, [\"base\"], () => {\n\t[\"vendors-_yarn_cache_alpinejs-npm-2_8_2-d63cb5efa5-6c6d6b7cf4_zip_node_modules_alpinejs_dist_a-aebde4\",\"scripts_libraries__modules_AlpineModules_js\",\"scripts_libraries__modules_tracking_index_js\",\"vendors-_yarn_cache_lazysizes-npm-5_3_2-e135ce29c0-15dfa1cc8b_zip_node_modules_lazysizes_lazy-371733\"].map(__webpack_require__.E);\n}, 5);","import { initializeAuth } from \"../libraries/_modules/auth0\";\n\nimport(\"../libraries/_utilities/lib\");\nimport(/* webpackPrefetch: 1 */ \"lazysizes\");\nimport(/* webpackPrefetch: 2 */ \"../libraries/_modules/tracking/\");\n// import(/* webpackPrefetch: 3 */ '../libraries/core');\nimport(/* webpackPrefetch: 4 */ \"../libraries/_modules/AlpineModules\");\nimport(/* webpackPrefetch: 5 */ \"alpinejs\");\nimport(/* webpackPrefetch: 6 */ \"../libraries/_modules/auth0\");\n\nsetTimeout(() => {\n initializeAuth();\n}, 1200);\n"],"names":[],"sourceRoot":""}