{"version":3,"file":"index.f0d66a3e.js","sources":["webpack:///../zebomba-app/assets/js/SplashScreen.js","webpack:///../zebomba-app/assets/js/GameMessage.js","webpack:///../zebomba-app/assets/js/TechnicalWorks.js","webpack:///../zebomba-app/assets/js/FirstLoading.js","webpack:///../zebomba-app/assets/js/index.js"],"sourceRoot":"","sourcesContent":["class SplashScreen {\r\n\t#item = null\r\n\t#logo = null\r\n\t#isNewVersion = false\r\n\t#onWindowResize = null\r\n\r\n\tconstructor() {\r\n\t\tthis.#item = document.body.querySelector('#splashScreen')\r\n\r\n\t\tif (this.#item) {\r\n\t\t\tconst zebombaLogo = this.#item.querySelector('#splashScreenLogo')\r\n\t\t\tconst ganzaLogo = this.#item.querySelector('#splashScreenGanzaLogo')\r\n\r\n\t\t\tif (zebombaLogo && ganzaLogo) {\r\n\t\t\t\tif (Social.isCG || Social.isGP || Social.isTG) {\r\n\t\t\t\t\tzebombaLogo.remove()\r\n\t\t\t\t\tthis.#logo = ganzaLogo\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tganzaLogo.remove()\r\n\t\t\t\t\tthis.#logo = zebombaLogo\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.#logo = ganzaLogo || zebombaLogo\r\n\t\t\t}\r\n\r\n\t\t\tif (IS_WORDSLIKE && this.#logo == ganzaLogo) {\r\n\t\t\t\tSplashScreen.#WIDTH = 650\r\n\t\t\t}\r\n\r\n\t\t\tthis.#isNewVersion = true\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.#item = document.body.querySelector('#loadingCont.loadingCont1')\r\n\t\t\tthis.#logo = this.#item.querySelector('#loadingFirstStepBox')\r\n\t\t}\r\n\r\n\t\tthis.#onWindowResize = () => this.resize()\r\n\t\twindow.addEventListener('resize', this.#onWindowResize)\r\n\t\twindow.addEventListener('orientationchange', this.#onWindowResize)\r\n\r\n\t\tthis.show()\r\n\t}\r\n\r\n\tshow() {\r\n\t\tif (this.#isNewVersion) {\r\n\t\t\tthis.#item.classList.add('show')\r\n\r\n\t\t\tthis.resize()\r\n\t\t}\r\n\t}\r\n\r\n\tresize() {\r\n\t\tif (this.#isNewVersion) {\r\n\t\t\tlet scale = SplashScreen.#DEFAULT_SCALE\r\n\r\n\t\t\tif (window.innerWidth < window.innerHeight) {\r\n\t\t\t\tif (window.innerWidth < SplashScreen.#WIDTH) {\r\n\t\t\t\t\tscale = window.innerWidth / SplashScreen.#WIDTH\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (window.innerHeight < SplashScreen.#HEIGHT) {\r\n\t\t\t\t\tscale = window.innerHeight / SplashScreen.#HEIGHT\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.#logo.style.transform = `scale(${scale < SplashScreen.#DEFAULT_SCALE ? scale : SplashScreen.#DEFAULT_SCALE })`\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.#item.style = ''\r\n\t\t}\r\n\t}\r\n\r\n\tdispose() {\r\n\t\tif (this.#onWindowResize) {\r\n\t\t\twindow.removeEventListener('resize', this.#onWindowResize)\r\n\t\t\twindow.removeEventListener('orientationchange', this.#onWindowResize)\r\n\t\t}\r\n\t}\r\n\r\n\tstatic #DEFAULT_SCALE = 0.7\r\n\tstatic #WIDTH = 600\r\n\tstatic #HEIGHT = 700\r\n}\r\n\r\nexport default SplashScreen","class GameMessage {\r\n\t#container\r\n\t#item\r\n\t#isRussianLang = false\r\n\r\n\t#logs = []\r\n\t#trackLogs = []\r\n\t#trackingLogs = {}\r\n\r\n\tconstructor() {\r\n\t\tconst root = document.querySelector('#root')\r\n\r\n\t\tthis.#container = document.createElement('div')\r\n\t\tthis.#container.setAttribute('id', 'gameMessage')\r\n\r\n\t\troot.appendChild(this.#container)\r\n\r\n\t\tif (globalThis.navigator && typeof globalThis.navigator.language == 'string') {\r\n\t\t\tif (/^ru$|^ru-|^uk$|^uk-|^be$|^be-/.test(globalThis.navigator.language)) {\r\n\t\t\t\tthis.#isRussianLang = true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\terror(...args) {\r\n\t\tthis.message(...args)\r\n\t}\r\n\r\n\tmessage( text, config = {} ) {\r\n\t\tthis.#logs.push(text)\r\n\r\n\t\tconst item = document.createElement('div')\r\n\t\titem.classList.add('message')\r\n\r\n\t\tconst clickHandler = () => {\r\n\t\t\titem.removeEventListener('click', clickHandler)\r\n\t\t\titem.remove()\r\n\t\t}\r\n\r\n\t\titem.addEventListener('click', clickHandler)\r\n\r\n\t\tconst inner = document.createElement('div')\r\n\t\tinner.classList.add('inner')\r\n\r\n\t\tconst textItem = document.createElement('div')\r\n\t\ttextItem.classList.add('text')\r\n\r\n\t\tinner.appendChild(textItem)\r\n\t\titem.appendChild(inner)\r\n\r\n\t\titem.querySelector('.text').textContent = text\r\n\r\n\t\tthis.#container.appendChild(item)\r\n\r\n\t\titem.offsetHeight\r\n\t\titem.classList.add('show')\r\n\r\n\t\tif (config.reloadBtn) {\r\n\t\t\tconst reloadBtn = document.createElement('div')\r\n\t\t\treloadBtn.classList.add('reloadBtn', 'button')\r\n\t\t\treloadBtn.textContent = this.#isRussianLang ? 'Перезагрузить' : 'Reload'\r\n\r\n\t\t\treloadBtn.addEventListener('click', () => window.location.reload())\r\n\r\n\t\t\titem\r\n\t\t\t\t.querySelector('.inner')\r\n\t\t\t\t.appendChild(reloadBtn)\r\n\t\t}\r\n\t}\r\n\r\n\tlog(text, ...args) {\r\n\t\tthis.#logs.push(text)\r\n\t}\r\n\r\n\ttrack(name, data) {\r\n\t\tif (name && !this.#trackingLogs[name]) {\r\n\t\t\tthis.#trackingLogs[name] = Date.now()\r\n\r\n\t\t\tthis.#logs.push(`${name} tracking... ${typeof data === 'string' ? `| ${data}` : ''}`)\r\n\t\t}\r\n\t}\r\n\r\n\ttrackStop(name, data) {\r\n\t\tif (name && this.#trackingLogs[name]) {\r\n\t\t\tconst time = Date.now() - this.#trackingLogs[name]\r\n\r\n\t\t\tthis.#trackLogs.push({\r\n\t\t\t\tname,\r\n\t\t\t\ttime\r\n\t\t\t})\r\n\r\n\t\t\tthis.#logs.push(`${name} | ${time}ms ${typeof data === 'string' ? `| ${data}` : ''}`)\r\n\r\n\t\t\tdelete this.#trackingLogs[name]\r\n\t\t}\r\n\t}\r\n\r\n\ttrackAdd(name, time) {\r\n\t\tthis.#trackLogs.push({\r\n\t\t\tname,\r\n\t\t\ttime\r\n\t\t})\r\n\t}\r\n\r\n\tget logs() {\r\n\t\treturn this.#logs\r\n\t}\r\n\r\n\tget trackLogs() {\r\n\t\treturn this.#trackLogs\r\n\t}\r\n}\r\n\r\nexport default GameMessage","class TechnicalWorks {\r\n\t#container\r\n\t#content\r\n\r\n\tconstructor(settings) {\r\n\t\tconst createElement = (data, children) => {\r\n\t\t\tconst item = document.createElement('div')\r\n\r\n\t\t\tif (data) {\r\n\t\t\t\tif (data.id) {\r\n\t\t\t\t\titem.id = data.id\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (data.class) {\r\n\t\t\t\t\titem.className = data.class\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (children) {\r\n\t\t\t\tif (typeof children === \"string\") {\r\n\t\t\t\t\titem.textContent = children\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (Array.isArray(children)) {\r\n\t\t\t\t\t\tfor (const child of children) {\r\n\t\t\t\t\t\t\titem.appendChild(child)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\titem.appendChild(children)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn item\r\n\t\t} \r\n\r\n\t\tthis.#container = createElement({ id: 'technicalWorks' }, [\r\n\t\t\tthis.#content = createElement({ class: 'technicalWorks__decor' }, [\r\n\t\t\t\tcreateElement({ class: 'technicalWorks__title' }, settings.title),\r\n\t\t\t\tcreateElement({ class: 'technicalWorks__description' }, settings.description)\r\n\t\t\t])\r\n\t\t])\r\n\r\n\t\tdocument.body.appendChild(this.#container)\r\n\r\n\t\tif (IS_WG) {\r\n\t\t\twindow.addEventListener('resize', () => this.__resize(), false)\r\n\t\t\twindow.addEventListener('orientationchange', () => this.__resize(), false)\r\n\t\r\n\t\t\tthis.__resize()\r\n\t\t}\r\n\t}\r\n\r\n\t__resize() {\r\n\t\tconst scale = Math.min(1, window.innerWidth / GAME_CONFIG.viewport.minWidth, window.innerHeight / GAME_CONFIG.viewport.minHeight)\r\n\r\n\t\tthis.#content.style.transform = `translate(-50%, -50%) scale(${scale < 1 ? scale : 1 })`\r\n\r\n\t\tdocument.body.setAttribute('style', [\r\n\t\t\t`width: ${window.innerWidth}px`,\r\n\t\t\t`height: ${window.innerHeight}px`\r\n\t\t].join(';'))\r\n\t}\r\n}\r\n\r\nexport default TechnicalWorks","import SplashScreen from './SplashScreen.js'\r\nimport GameMessage from './GameMessage.js'\r\nimport Loader from './loader/Loader.js'\r\nimport TechnicalWorks from './TechnicalWorks.js'\r\n\r\nconst getGlobalThis = () => {\r\n\tif (typeof globalThis !== 'undefined') { return globalThis }\r\n\tif (typeof self !== 'undefined') { return self }\r\n\tif (typeof window !== 'undefined') { return window }\r\n\tif (typeof global !== 'undefined') { return global }\r\n\tif (typeof this !== 'undefined') { return this }\r\n}\r\n\r\nwindow.globalThis = getGlobalThis()\r\nglobalThis.startTime1 = performance.now()\r\n\r\n/**\r\n * @typedef SOCIAL_NAMES_TYPE\r\n * @property { string } name Название соц сети\r\n * @property { boolean } isVK\r\n * @property { boolean } isOK\r\n * @property { boolean } isYA\r\n * @property { boolean } isGP\r\n * @property { boolean } isDEV\r\n * @property { boolean } isFB\r\n * @property { boolean } isFS\r\n * @property { boolean } isMM\r\n * @property { boolean } isVKPLAY\r\n * @property { boolean } isCG\r\n * @property { boolean } isTG\r\n * @property { boolean } isMobileAPI\r\n */\r\n\r\n/** @type { SOCIAL_NAMES_TYPE & import(\"@zebomba/social/__social__\").Social } */\r\nglobalThis.Social = {\r\n\tname: 'DEV'\r\n}\r\n\r\nclass FirstLoading {\r\n\t#applicationBackendEndpoint = location.origin\r\n\t#applicationResourcesEndpoint = '.'\r\n\t#applicationStaticResourcesEndpoint = '.'\r\n\t#clientVersion = Date.now()\r\n\t#startGameTime = 0\r\n\t#startServerTime = 0\r\n\t#gmt = 0\r\n\t#isDev = false\r\n\t#isAndroidTV = false\r\n\t#isMobile = false\r\n\t#isMobileDevice = false\r\n\t#applicationId = 0\r\n\t#versionCode = 0\r\n\t#timerLog = false\r\n\t#isRunningByLink = false\r\n\t#qParams = {}\r\n\t#languageID = '1'\r\n\t#technicalWorks = false\r\n\t#technicalWorksConfig = {}\r\n\r\n\t/** @type { HTMLElement } */\r\n\t#rootItem = null\r\n\t#splashScreen = null\r\n\r\n\t#gameMessage = null\r\n\r\n\tconstructor() {\r\n\t\tthis.#gameMessage = new GameMessage()\r\n\t}\r\n\r\n\tasync init() {\r\n\t\tthis.#isDev = globalThis.ZEBOMBA_IS_DEV || false\r\n\r\n\t\tif (TEST_RELEASE) {\r\n\t\t\tthis.#isDev = false\r\n\t\t}\r\n\r\n\t\tthis.#rootItem = document.querySelector('#root')\r\n\r\n\t\tthis._parseQueryParams()\r\n\t\tawait this._detectSocialName()\r\n\t\tthis._detectMobileDevice()\r\n\t\tthis._detectLanguageId()\r\n\r\n\t\tthis.#splashScreen = new SplashScreen()\r\n\r\n\t\tthis._loadLogoAndFonts()\r\n\r\n\t\tawait this._retrieveSettings()\r\n\r\n\t\tconst loader = new Loader()\r\n\r\n\t\tawait loader.initialize(this.#isDev, this.isWebpSupported, this.#clientVersion)\r\n\r\n\t\tloader.resourcesEndpoint = this.#applicationResourcesEndpoint\r\n\r\n\t\tif (Social.isGP) {\r\n\t\t\tawait this._checkAPKResources(loader)\r\n\t\t}\r\n\r\n\t\tawait loader.loadManifest('preload')\r\n\r\n\t\tif (Social.isVK) {\r\n\t\t\tconst { default: vkBridge } = await import('@vkontakte/vk-bridge')\r\n\r\n\t\t\twindow.vkBridge = vkBridge.default\r\n\t\t\twindow.vkBridge.send('VKWebAppInit')\r\n\t\t}\r\n\t\telse if (Social.isVKPLAY) {\r\n\t\t\tconst { default: VkPlayApi } = await import('@zebomba/VKPlayApi.js')\r\n\r\n\t\t\twindow.vkPlayApi = new VkPlayApi(GAME_CONFIG.appIdVKPLAY)\r\n\t\t}\r\n\r\n\t\tif (!this.#isDev) {\r\n\t\t\tif (!Social.isCG) {\r\n\t\t\t\twindow.console.clear()\r\n\t\t\t}\r\n\r\n\t\t\tif (this.isWebpSupported) {\r\n\t\t\t\tloader\r\n\t\t\t\t\t.findByName(/\\/img\\/.*\\.(?!webp$|svg$)/)\r\n\t\t\t\t\t.reduce()\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tloader\r\n\t\t\t\t\t.findByName(/\\/img\\/.*\\.(webp$)/)\r\n\t\t\t\t\t.reduce()\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(this.#technicalWorks) {\r\n\t\t\tnew TechnicalWorks(this.#technicalWorksConfig)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tawait this._initApp(loader)\r\n\r\n\t\t\treturn Promise.resolve('FirstLoading init success!')\r\n\t\t}\r\n\t}\r\n\r\n\tasync _initApp(loader) {\r\n\t\tthis.#gameMessage.track('initApp')\r\n\r\n\t\tlet branchName = 'main'\r\n\r\n\t\tif (Social.isGP) {\r\n\t\t\ttry {\r\n\t\t\t\tconst data = JSON.parse(globalThis.localStorage.getItem('branch'))\r\n\r\n\t\t\t\tbranchName = data?.value || 'main'\r\n\t\t\t}\r\n\t\t\tcatch {}\r\n\t\t}\r\n\r\n\t\tif (Social.isGP && this.#isDev) {\r\n\t\t\t__webpack_public_path__ = `${ this.#applicationResourcesEndpoint }/views/${ branchName }/js/`\r\n\t\t}\r\n\t\telse {\r\n\t\t\t__webpack_public_path__ = `${ this.#applicationResourcesEndpoint }/js/`\r\n\t\t}\r\n\r\n\t\tif (TEST_RELEASE) {\r\n\t\t\tif (Social.isGP) {\r\n\t\t\t\t__webpack_public_path__ = `${ this.#applicationResourcesEndpoint }/views/${ branchName }/js/`\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t__webpack_public_path__ = `${ __webpack_public_path__ }modern/`\r\n\r\n\t\tawait import('js/app.js')\r\n\r\n\t\tconst app = globalThis.app\r\n\r\n\t\tif (app) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tapp.init({\r\n\t\t\t\t\tloader,\r\n\t\t\t\t\tgameMessage: this.#gameMessage,\r\n\t\t\t\t\tisDev: this.#isDev,\r\n\t\t\t\t\tisMobile: this.#isMobile,\r\n\t\t\t\t\tisMobileDevice: this.#isMobileDevice,\r\n\t\t\t\t\tisRunningByLink: this.#isRunningByLink,\r\n\t\t\t\t\tisAndroidTV: this.#isAndroidTV,\r\n\t\t\t\t\tisWebpSupported: this.isWebpSupported,\r\n\t\t\t\t\tlanguageID: this.#languageID,\r\n\t\t\t\t\tapplicationBackendEndpoint: this.#applicationBackendEndpoint,\r\n\t\t\t\t\tapplicationResourcesEndpoint: this.#applicationResourcesEndpoint,\r\n\t\t\t\t\tstartGameTime: this.#startGameTime,\r\n\t\t\t\t\tstartServerTime: this.#startServerTime,\r\n\t\t\t\t\tgmt: this.#gmt,\r\n\t\t\t\t\tapplicationId: this.#applicationId,\r\n\t\t\t\t\tclientVersion: this.#clientVersion,\r\n\t\t\t\t\trootItem: this.#rootItem,\r\n\t\t\t\t\ttimerLog: this.#timerLog,\r\n\t\t\t\t\tqParams: this.#qParams,\r\n\t\t\t\t\tversionCode: this.#versionCode\r\n\t\t\t\t})\r\n\t\t\t}, 0)\r\n\r\n\t\t\tthis.#gameMessage.trackStop('initApp')\r\n\r\n\t\t\treturn Promise.resolve()\r\n\t\t}\r\n\r\n\t\treturn Promise.reject('Application launch was forbidden')\r\n\t}\r\n\r\n\t_parseQueryParams() {\r\n\t\tthis.#gameMessage.log('parseQueryParams')\r\n\r\n\t\tconst qParamsArray1 = document.URL.match(/^[^?]*\\??(.*)/)[1].split('&')\r\n\r\n\t\tfor (let i = 0; i < qParamsArray1.length; i ++) {\r\n\t\t\tconst qParam = qParamsArray1[i].split('=')\r\n\r\n\t\t\tconst key = decodeURIComponent(qParam[0])\r\n\t\t\tlet value = ''\r\n\r\n\t\t\tif (qParam.length > 1) {\r\n\t\t\t\tvalue = decodeURIComponent(qParam[1])\r\n\t\t\t}\r\n\r\n\t\t\tthis.#qParams[key] = value\r\n\t\t}\r\n\t}\r\n\r\n\tasync _detectSocialName() {\r\n\t\tthis.#gameMessage.log('detectSocialName')\r\n\r\n\t\tconst socialNameMatch = document.URL.match(/((?:vk|ok|mm|fb|fs|mobile|yandex|vkplay|cg|tg))(?:-dev)?\\.((?:zebomba\\.ru|zebombagames\\.com))/)\r\n\r\n\t\tif (IS_LOCALHOST) {\r\n\t\t\tSocial.name = 'DEV'\r\n\r\n\t\t\tthis.#applicationBackendEndpoint = GAME_CONFIG.links.app.domain\r\n\t\t}\r\n\t\telse if (socialNameMatch) {\r\n\t\t\tSocial.name = socialNameMatch[1].toUpperCase()\r\n\r\n\t\t\tif (Social.name == 'YANDEX') {\r\n\t\t\t\tSocial.name = 'YA'\r\n\t\t\t}\r\n\r\n\t\t\tif (!window.name && Social.name == 'YA') {\r\n\t\t\t\tSocial.name = 'DEV'\r\n\r\n\t\t\t\tif (!IS_WORDSLIKE) {\r\n\t\t\t\t\tthis.#isMobile = true\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.#isRunningByLink = true\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this.#qParams.api_url == GAME_CONFIG.links.API.VK || this.#qParams.api_url == GAME_CONFIG.links.API.VKRU || this.#qParams.vk_app_id) {\r\n\t\t\t\tSocial.name = 'VK'\r\n\t\t\t}\r\n\t\t\telse if (this.#qParams.api_server == GAME_CONFIG.links.API.OK) {\r\n\t\t\t\tSocial.name = 'OK'\r\n\t\t\t}\r\n\t\t\telse if (this.#qParams.vid && this.#qParams.vid == this.#qParams.oid) {\r\n\t\t\t\tSocial.name = 'MM'\r\n\t\t\t}\r\n\t\t\telse if (this.#qParams.apiUrl == GAME_CONFIG.links.API.FS || this.#qParams.apiUrl == GAME_CONFIG.links.API.FS_MOB) {\r\n\t\t\t\tSocial.name = 'FS'\r\n\t\t\t}\r\n\t\t\telse if (document.referrer) {\r\n\t\t\t\tif (document.referrer.match(/facebook/)) {\r\n\t\t\t\t\tSocial.name = 'FB'\r\n\t\t\t\t}\r\n\t\t\t\telse if (document.referrer.match(/yandex/)) {\r\n\t\t\t\t\tSocial.name = 'YA'\r\n\t\t\t\t}\r\n\t\t\t\telse if (document.referrer.match(/vkplay/)) {\r\n\t\t\t\t\tSocial.name = 'VKPLAY'\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthrow new Error('Failed to detect social network.')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (globalThis.cordova || globalThis.parent.cordova) {\r\n\t\t\t\tSocial.name = 'GP'\r\n\r\n\t\t\t\tconst { default: ConnectionError } = await import('@zebomba/modules/ConnectionError.js')\r\n\r\n\t\t\t\tlet applicationBackendEndpoint\r\n\r\n\t\t\t\tif (IS_FIND) {\r\n\t\t\t\t\tif (!globalThis.cordova) {\r\n\t\t\t\t\t\tglobalThis.cordova = globalThis.parent.cordova\r\n\t\t\t\t\t\tglobalThis.plugins = globalThis.parent.plugins\r\n\t\t\t\t\t\tglobalThis.CdvPurchase = globalThis.parent.CdvPurchase\r\n\t\t\t\t\t\tglobalThis.store = globalThis.parent.store\r\n\t\t\t\t\t\tglobalThis.applovinAds = globalThis.parent.applovinAds\r\n\t\t\t\t\t\tglobalThis.facebookConnectPlugin = globalThis.parent.facebookConnectPlugin\r\n\t\t\t\t\t\tglobalThis.ZebombaBridgeAPI = globalThis.parent.ZebombaBridgeAPI || {}\r\n\t\t\t\t\t\tglobalThis.ZebombaBridge = globalThis.parent.ZebombaBridge || {}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tglobalThis.CordovaBridge = globalThis.CordovaBridge || Object.assign(globalThis.ZebombaBridge, globalThis.ZebombaBridgeAPI)\r\n\r\n\t\t\t\t\t// для старых пользователей APK\r\n\t\t\t\t\tif (globalThis.parent.APPLICATION_BACKEND_ENDPOINT) {\r\n\t\t\t\t\t\tapplicationBackendEndpoint = globalThis.parent.APPLICATION_BACKEND_ENDPOINT\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tapplicationBackendEndpoint = this.#isDev || TEST_RELEASE ? GAME_CONFIG.links.app.mobile.dev : GAME_CONFIG.links.app.mobile.release\r\n\r\n\t\t\t\t\t\tconst version = await globalThis.CordovaBridge.getVersionCode()\r\n\r\n\t\t\t\t\t\tif (version <= 40100 && !globalThis.IS_COM_CONNECTED) {\r\n\t\t\t\t\t\t\tapplicationBackendEndpoint = applicationBackendEndpoint.replace(/zebombagames\\.com/, 'zebomba.ru')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tapplicationBackendEndpoint = this.#isDev || TEST_RELEASE ? GAME_CONFIG.links.app.mobile.dev : GAME_CONFIG.links.app.mobile.release\r\n\t\t\t\t}\r\n\r\n\t\t\t\tglobalThis.appsFlyer = globalThis.plugins.appsFlyer\r\n\t\t\t\tglobalThis.OneSignal = globalThis.plugins.OneSignal\r\n\r\n\t\t\t\t/** @type { ConnectionError } */\r\n\t\t\t\tglobalThis.connectionError = new ConnectionError(applicationBackendEndpoint)\r\n\r\n\t\t\t\tthis.#applicationBackendEndpoint = applicationBackendEndpoint\r\n\t\t\t\tthis.#applicationResourcesEndpoint = globalThis.parent.APPLICATION_RESOURCES_ENDPOINT || applicationBackendEndpoint\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthrow new Error('Failed to detect social network.')\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tSocial[`is${Social.name}`] = true\r\n\r\n\t\tif (Social.isVK && (typeof this.#qParams.platform == 'string' && this.#qParams.platform != 'web' || typeof this.#qParams.vk_platform == 'string' && this.#qParams.vk_platform != 'desktop_web')) {\r\n\t\t\tSocial.isMobileAPI = true\r\n\t\t}\r\n\t\telse if (Social.isOK && typeof this.#qParams.mob == 'string' && this.#qParams.mob == 'true') {\r\n\t\t\tSocial.isMobileAPI = true\r\n\t\t}\r\n\r\n\t\tif (GAME_CONFIG.yandexMetrikaId && (Social.isYA || this.#isRunningByLink)) {\r\n\t\t\t/* eslint-disable */\r\n\t\t\t(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};\r\n\t\t\tm[i].l=1*new Date();\r\n\t\t\tfor (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}\r\n\t\t\tk=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})\r\n\t\t\t(window, document, \"script\", \"https://mc.yandex.ru/metrika/tag.js\", \"ym\");\r\n\r\n\t\t\tym(GAME_CONFIG.yandexMetrikaId, \"init\", { clickmap: false });\r\n\t\t\t/* eslint-enable */\r\n\t\t}\r\n\t}\r\n\r\n\t_detectMobileDevice() {\r\n\t\tthis.#gameMessage.log('detectMobileDevice')\r\n\r\n\t\tconst iPadOS13Up = navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1\r\n\t\tthis.#isMobileDevice = navigator && navigator.userAgent && /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent) || iPadOS13Up\r\n\r\n\t\tthis.#isAndroidTV = navigator && navigator.userAgent && /AndroidTV/i.test(navigator.userAgent)\r\n\r\n\t\tif (Social.isMobileAPI) {\r\n\t\t\tthis.#isMobile = true\r\n\t\t}\r\n\t\telse if (Social.isGP || Social.isYA || Social.isVKPLAY || Social.isCG || Social.isTG) {\r\n\t\t\tthis.#isMobile = true\r\n\t\t}\r\n\t\telse if (Social.isFS && this.#qParams.apiUrl == GAME_CONFIG.links.API.FS_MOB) {\r\n\t\t\tthis.#isMobile = true\r\n\t\t}\r\n\t\telse if (this.#isMobileDevice) {\r\n\t\t\tthis.#isMobile = true\r\n\r\n\t\t\ttry { screen.orientation.lock(IS_WORDSLIKE ? \"portrait\" : \"landscape\") }\r\n\t\t\tcatch {}\r\n\t\t}\r\n\t\telse if (IS_CAT) {\r\n\t\t\tthis.#isMobile = Social.isVK || Social.isOK\r\n\t\t}\r\n\r\n\t\tif (this.#isMobile) {\r\n\t\t\tthis.#rootItem.classList.add('mobile')\r\n\r\n\t\t\tif (this.#isMobileDevice) {\r\n\t\t\t\tthis.#rootItem.classList.add('isMobileDevice')\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t_detectLanguageId() {\r\n\t\tthis.#gameMessage.log('detectLanguageId')\r\n\r\n\t\tif (Social.isYA || Social.isVKPLAY || Social.isFB || Social.isGP || Social.isCG || Social.isTG) {\r\n\t\t\tthis.#languageID = '2'\r\n\r\n\t\t\tif (globalThis.navigator && typeof globalThis.navigator.language == 'string') {\r\n\t\t\t\tif (/^ru$|^ru-|^uk$|^uk-|^be$|^be-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '1'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^de$|^de-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '3'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^fr$|^fr-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '4'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^pt$|^pt-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '5'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^it$|^it-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '6'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^ja$|^ja-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = '7'\r\n\t\t\t\t}\r\n\t\t\t\telse if (/^es$|^es-/.test(globalThis.navigator.language)) {\r\n\t\t\t\t\tthis.#languageID = \"8\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.#languageID = '1'\r\n\t\t}\r\n\t}\r\n\r\n\t_loadLogoAndFonts() {\r\n\t\tthis.#gameMessage.log('loadLogoAndFonts')\r\n\r\n\t\tif (this.#isMobile)\t{\r\n\t\t\tconst lang = this.#languageID == 1 ? 'ru' : 'en'\r\n\r\n\t\t\tconst element = document.querySelector('#stubVerticalMobile .img')\r\n\r\n\t\t\tif (element) {\r\n\t\t\t\tconst imageExt = this.isWebpSupported ? '.webp' : '.png'\r\n\r\n\t\t\t\tconst src = `${ this.#applicationStaticResourcesEndpoint }/img/${ GAME_CONFIG.stubFolder }/bg_${ lang }${ imageExt }`\r\n\r\n\t\t\t\telement.style.backgroundImage = `url(${ src })`\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst styleTag = document.createElement('style')\r\n\t\tconst fonts = GAME_CONFIG.fonts\r\n\r\n\t\tlet styleTagContent = ''\r\n\r\n\t\tfor (let i = 0; i < fonts.length; i ++) {\r\n\t\t\tconst [ fontFileName, fontName ] = fonts[i]\r\n\r\n\t\t\tconst unicodes = IS_FIND\r\n\t\t\t\t&& fontName == 'Rotonda Bold'\r\n\t\t\t\t&& this.#languageID == 7 // японский\r\n\t\t\t\t&& 'unicode-range: U+0400-04FF, U+0500-052F, U+2DE0-2DFF, U+A640-A69F, U+0041-007A, U+00C0-00FF, U+0030-0039, U+002B, U+0021, U+0025;'\r\n\t\t\t\t|| ''\r\n\r\n\t\t\tstyleTagContent += `\r\n\t\t\t\t@font-face {\r\n\t\t\t\t\tfont-family: \"${ fontName }\";\r\n\t\t\t\t\tfont-weight: normal;\r\n\t\t\t\t\tfont-style: normal;\r\n\t\t\t\t\tsrc: url(${ this.#applicationStaticResourcesEndpoint }/fonts/${ fontFileName }.woff) format('woff');\r\n\t\t\t\t\t${ unicodes }\r\n\t\t\t\t}`\r\n\t\t}\r\n\r\n\t\tstyleTag.textContent = styleTagContent\r\n\r\n\t\tdocument.head.appendChild(styleTag)\r\n\t}\r\n\r\n\tasync _checkAPKResources(loader) {\r\n\t\tthis.#gameMessage.log('checkAPKResources')\r\n\r\n\t\treturn new Promise(resolve => {\r\n\t\t\tloader.checkAPKResources()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tglobalThis.connectionError.show()\r\n\r\n\t\t\t\t\tresolve()\r\n\t\t\t\t})\r\n\t\t\t\t.catch(resolve)\r\n\t\t})\r\n\t}\r\n\r\n\tasync _retrieveSettings() {\r\n\t\tthis.#gameMessage.track('retrieveSettings')\r\n\r\n\t\treturn new Promise(resolve => {\r\n\t\t\tconst src = this.#applicationBackendEndpoint + '/index.php/settings'\r\n\t\t\tconst request = new XMLHttpRequest()\r\n\r\n\t\t\trequest.open('GET', src, true)\r\n\t\t\trequest.onload = async () => {\r\n\t\t\t\tif (request.status == 200) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tawait this._onSettingsRetrieved(JSON.parse(request.response))\r\n\t\t\t\t\t\tresolve()\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcatch (exception) {\r\n\t\t\t\t\t\tthis.#gameMessage.trackStop('retrieveSettings', `request exception ${exception.message}`)\r\n\r\n\t\t\t\t\t\tsetTimeout(() => resolve(() => this._retrieveSettings()), 200)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.#gameMessage.trackStop('retrieveSettings', `request status ${request.status}`)\r\n\r\n\t\t\t\t\tsetTimeout(() => resolve(() => this._retrieveSettings()), 200)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\trequest.onerror = () => {\r\n\t\t\t\tthis.#gameMessage.trackStop('retrieveSettings', 'request onerror')\r\n\r\n\t\t\t\tsetTimeout(() => resolve(() => this._retrieveSettings()), 200)\r\n\t\t\t}\r\n\t\t\trequest.send()\r\n\t\t})\r\n\t}\r\n\r\n\tasync _onSettingsRetrieved(settings) {\r\n\t\tthis.#gameMessage.log('onSettingsRetrieved')\r\n\r\n\t\tglobalThis.connectionError && globalThis.connectionError.show()\r\n\r\n\t\ttry {\r\n\t\t\tif (settings) {\r\n\t\t\t\tlet settingsSocName = String(settings.soc_name)\r\n\t\t\t\t\t.toUpperCase()\r\n\r\n\t\t\t\tif (settingsSocName == 'YANDEX') {\r\n\t\t\t\t\tsettingsSocName = 'YA'\r\n\t\t\t\t}\r\n\t\t\t\telse if (settingsSocName == 'MOBILE') {\r\n\t\t\t\t\tsettingsSocName = 'GP'\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (Social.name !== settingsSocName && !IS_LOCALHOST && window.name) {\r\n\t\t\t\t\tthrow new Error('Server side social name does not match the one on client.')\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!settings.is_dev) {\r\n\t\t\t\t\tif (settings.cdn_link && settings.cdn_link != '.') {\r\n\t\t\t\t\t\tconst cdnLink = settings.cdn_link\r\n\r\n\t\t\t\t\t\tif (Social.isGP) {\r\n\t\t\t\t\t\t\tif (IS_FIND) {\r\n\t\t\t\t\t\t\t\tconst version = await globalThis.CordovaBridge.getVersionCode()\r\n\r\n\t\t\t\t\t\t\t\tif (version <= 40001) {\r\n\t\t\t\t\t\t\t\t\tthis.#applicationResourcesEndpoint = GAME_CONFIG.links.app.mobile.oldCdn\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if (version <= 40005) {\r\n\t\t\t\t\t\t\t\t\tthis.#applicationResourcesEndpoint = GAME_CONFIG.links.app.mobile.oldCdn2\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tthis.#applicationResourcesEndpoint = cdnLink\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tthis.#applicationResourcesEndpoint = cdnLink\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.#applicationResourcesEndpoint = cdnLink\r\n\t\t\t\t\t\t\tthis.#applicationStaticResourcesEndpoint = cdnLink\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.#clientVersion = settings.client_version\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.#startGameTime = Date.now()\r\n\t\t\t\tthis.#startServerTime = settings.time * 1e3\r\n\t\t\t\tthis.#gmt = settings.gmt * 1e3\r\n\r\n\t\t\t\tthis.#isDev = !!settings.is_dev\r\n\r\n\t\t\t\tthis.#applicationId = settings.application_id\r\n\t\t\t\tthis.#clientVersion = settings.client_version\r\n\t\t\t\tthis.#versionCode = parseInt(settings.version_code) || 0\r\n\r\n\t\t\t\tif (TEST_RELEASE) {\r\n\t\t\t\t\tthis.#isDev = false\r\n\t\t\t\t\tthis.#clientVersion = APP_VERSION\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof settings.timer_log != 'undefined') {\r\n\t\t\t\t\tthis.#timerLog = !!settings.timer_log\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (settings.app_stop) {\r\n\t\t\t\t\tthis.#technicalWorks = true\r\n\t\t\t\t\tthis.#technicalWorksConfig = settings.app_stop_settings\r\n\t\t\t\t\tthrow new Error('Application launch was forbidden by server.')\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.#gameMessage.trackStop('retrieveSettings', 'success')\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthrow new Error('Failed to retrieve settings.')\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (exception) {\r\n\t\t\tthrow new Error(exception)\r\n\t\t}\r\n\t}\r\n\r\n\tget isWebpSupported() {\r\n\t\tif (TEST_RELEASE) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\tif (!this.#isDev) {\r\n\t\t\tconst elem = document.createElement('canvas')\r\n\r\n\t\t\tif (elem.getContext && elem.getContext('2d')) {\r\n\t\t\t\treturn elem\r\n\t\t\t\t\t.toDataURL('image/webp')\r\n\t\t\t\t\t.indexOf('data:image/webp') == 0\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false\r\n\t}\r\n\r\n\tget qParams() {\r\n\t\treturn this.#qParams\r\n\t}\r\n\r\n\tget rootItem() {\r\n\t\treturn this.#rootItem\r\n\t}\r\n\r\n\tget isMobile() {\r\n\t\treturn this.#isMobile\r\n\t}\r\n\r\n\tset isMobile(value) {\r\n\t\tthis.#isMobile = value\r\n\t}\r\n}\r\n\r\nexport default FirstLoading","import FirstLoading from './FirstLoading.js'\r\n\r\nnew FirstLoading()\r\n\t.init()\r\n\t.then(console.log)\r\n\t.catch(console.error)"],"names":["SplashScreen","constructor","this","document","body","querySelector","zebombaLogo","ganzaLogo","Social","isCG","isGP","isTG","remove","resize","window","addEventListener","show","classList","add","scale","innerWidth","innerHeight","style","transform","concat","dispose","removeEventListener","static","root","createElement","setAttribute","appendChild","globalThis","navigator","language","test","error","args","message","text","config","push","item","clickHandler","inner","textItem","textContent","offsetHeight","reloadBtn","location","reload","log","track","name","data","Date","now","trackStop","time","trackAdd","logs","trackLogs","settings","children","id","class","className","Array","isArray","child","title","description","__resize","Math","min","GAME_CONFIG","join","self","global","startTime1","performance","origin","GameMessage","init","ZEBOMBA_IS_DEV","_parseQueryParams","_detectSocialName","_detectMobileDevice","_detectLanguageId","_loadLogoAndFonts","_retrieveSettings","loader","Loader","initialize","isWebpSupported","resourcesEndpoint","_checkAPKResources","loadManifest","isVK","vkBridge","default","send","isVKPLAY","VkPlayApi","vkPlayApi","console","clear","findByName","reduce","_initApp","Promise","resolve","TechnicalWorks","branchName","JSON","parse","localStorage","getItem","value","__webpack_public_path__","app","setTimeout","gameMessage","isDev","isMobile","isMobileDevice","isRunningByLink","isAndroidTV","languageID","applicationBackendEndpoint","applicationResourcesEndpoint","startGameTime","startServerTime","gmt","applicationId","clientVersion","rootItem","timerLog","qParams","versionCode","reject","qParamsArray1","URL","match","split","i","length","qParam","key","decodeURIComponent","socialNameMatch","toUpperCase","api_url","vk_app_id","api_server","vid","oid","apiUrl","referrer","Error","cordova","parent","ConnectionError","appsFlyer","plugins","OneSignal","connectionError","APPLICATION_RESOURCES_ENDPOINT","platform","vk_platform","isOK","mob","isMobileAPI","iPadOS13Up","maxTouchPoints","userAgent","isYA","isFS","screen","orientation","lock","isFB","lang","element","imageExt","src","backgroundImage","styleTag","fonts","styleTagContent","_fonts$i","fontFileName","fontName","head","checkAPKResources","then","catch","request","XMLHttpRequest","open","onload","async","status","_onSettingsRetrieved","response","exception","onerror","settingsSocName","String","soc_name","is_dev","cdn_link","cdnLink","client_version","application_id","parseInt","version_code","timer_log","app_stop","app_stop_settings","elem","getContext","toDataURL","indexOf"],"mappings":";;uHAAA,MAAMA,EACL,GAAQ,KACR,GAAQ,KACR,IAAgB,EAChB,GAAkB,KAElBC,WAAAA,GAGC,GAFAC,MAAK,EAAQC,SAASC,KAAKC,cAAc,iBAErCH,MAAK,EAAO,CACf,IAAMI,EAAcJ,MAAK,EAAMG,cAAc,qBACvCE,EAAYL,MAAK,EAAMG,cAAc,0BAEvCC,GAAeC,EACdC,OAAOC,MAAQD,OAAOE,MAAQF,OAAOG,MACxCL,EAAYM,SACZV,MAAK,EAAQK,IAGbA,EAAUK,SACVV,MAAK,EAAQI,GAIdJ,MAAK,EAAQK,GAAaD,EAO3BJ,MAAK,GAAgB,CACtB,MAECA,MAAK,EAAQC,SAASC,KAAKC,cAAc,6BACzCH,MAAK,EAAQA,MAAK,EAAMG,cAAc,wBAGvCH,MAAK,EAAkB,IAAMA,KAAKW,SAClCC,OAAOC,iBAAiB,SAAUb,MAAK,GACvCY,OAAOC,iBAAiB,oBAAqBb,MAAK,GAElDA,KAAKc,MACN,CAEAA,IAAAA,GACKd,MAAK,IACRA,MAAK,EAAMe,UAAUC,IAAI,QAEzBhB,KAAKW,SAEP,CAEAA,MAAAA,GACC,GAAIX,MAAK,EAAe,CACvB,IAAIiB,EAAQnB,GAAa,EAErBc,OAAOM,WAAaN,OAAOO,YAC1BP,OAAOM,WAAapB,GAAa,IACpCmB,EAAQL,OAAOM,WAAapB,GAAa,GAItCc,OAAOO,YAAcrB,GAAa,IACrCmB,EAAQL,OAAOO,YAAcrB,GAAa,GAI5CE,MAAK,EAAMoB,MAAMC,UAAS,SAAAC,OAAYL,EAAQnB,GAAa,EAAiBmB,EAAQnB,GAAa,EAAc,IAChH,MAECE,MAAK,EAAMoB,MAAQ,EAErB,CAEAG,OAAAA,GACKvB,MAAK,IACRY,OAAOY,oBAAoB,SAAUxB,MAAK,GAC1CY,OAAOY,oBAAoB,oBAAqBxB,MAAK,GAEvD,CAEAyB,SAAwB,GACxBA,SAAgB,IAChBA,SAAiB,IAGlB,UC0BA,EAjHA,MACC,GACA,GACA,IAAiB,EAEjB,GAAQ,GACR,GAAa,GACb,GAAgB,CAAC,EAEjB1B,WAAAA,GACC,IAAM2B,EAAOzB,SAASE,cAAc,SAEpCH,MAAK,EAAaC,SAAS0B,cAAc,OACzC3B,MAAK,EAAW4B,aAAa,KAAM,eAEnCF,EAAKG,YAAY7B,MAAK,GAElB8B,WAAWC,WAAqD,iBAAjCD,WAAWC,UAAUC,UACnD,gCAAgCC,KAAKH,WAAWC,UAAUC,YAC7DhC,MAAK,GAAiB,EAGzB,CAEAkC,KAAAA,IAASC,GACRnC,KAAKoC,WAAWD,EACjB,CAEAC,OAAAA,CAASC,EAAMC,EAAS,CAAC,GACxBtC,MAAK,EAAMuC,KAAKF,GAEhB,IAAMG,EAAOvC,SAAS0B,cAAc,OACpCa,EAAKzB,UAAUC,IAAI,WAEnB,IAAMyB,EAAeA,KACpBD,EAAKhB,oBAAoB,QAASiB,GAClCD,EAAK9B,QAAO,EAGb8B,EAAK3B,iBAAiB,QAAS4B,GAE/B,IAAMC,EAAQzC,SAAS0B,cAAc,OACrCe,EAAM3B,UAAUC,IAAI,SAEpB,IAAM2B,EAAW1C,SAAS0B,cAAc,OAaxC,GAZAgB,EAAS5B,UAAUC,IAAI,QAEvB0B,EAAMb,YAAYc,GAClBH,EAAKX,YAAYa,GAEjBF,EAAKrC,cAAc,SAASyC,YAAcP,EAE1CrC,MAAK,EAAW6B,YAAYW,GAE5BA,EAAKK,aACLL,EAAKzB,UAAUC,IAAI,QAEfsB,EAAOQ,UAAW,CACrB,IAAMA,EAAY7C,SAAS0B,cAAc,OACzCmB,EAAU/B,UAAUC,IAAI,YAAa,UACrC8B,EAAUF,YAAc5C,MAAK,EAAiB,gBAAkB,SAEhE8C,EAAUjC,iBAAiB,SAAS,IAAMD,OAAOmC,SAASC,WAE1DR,EACErC,cAAc,UACd0B,YAAYiB,EACf,CACD,CAEAG,GAAAA,CAAIZ,KAASF,GACZnC,MAAK,EAAMuC,KAAKF,EACjB,CAEAa,KAAAA,CAAMC,EAAMC,GACPD,IAASnD,MAAK,EAAcmD,KAC/BnD,MAAK,EAAcmD,GAAQE,KAAKC,MAEhCtD,MAAK,EAAMuC,KAAK,GAADjB,OAAI6B,EAAI,iBAAA7B,OAAgC,iBAAT8B,EAAiB,KAAA9B,OAAQ8B,GAAS,KAElF,CAEAG,SAAAA,CAAUJ,EAAMC,GACf,GAAID,GAAQnD,MAAK,EAAcmD,GAAO,CACrC,IAAMK,EAAOH,KAAKC,MAAQtD,MAAK,EAAcmD,GAE7CnD,MAAK,EAAWuC,KAAK,CACpBY,OACAK,SAGDxD,MAAK,EAAMuC,KAAK,GAADjB,OAAI6B,EAAI,OAAA7B,OAAMkC,EAAI,OAAAlC,OAAsB,iBAAT8B,EAAiB,KAAA9B,OAAQ8B,GAAS,YAEzEpD,MAAK,EAAcmD,EAC3B,CACD,CAEAM,QAAAA,CAASN,EAAMK,GACdxD,MAAK,EAAWuC,KAAK,CACpBY,OACAK,QAEF,CAEA,QAAIE,GACH,OAAO1D,MAAK,CACb,CAEA,aAAI2D,GACH,OAAO3D,MAAK,CACb,G,qDC5CD,QAlEA,MACC,GACA,GAEAD,WAAAA,CAAY6D,GACX,IAAMjC,EAAgBA,CAACyB,EAAMS,KAC5B,IAAMrB,EAAOvC,SAAS0B,cAAc,OAYpC,GAVIyB,IACCA,EAAKU,KACRtB,EAAKsB,GAAKV,EAAKU,IAGZV,EAAKW,QACRvB,EAAKwB,UAAYZ,EAAKW,QAIpBF,EACH,GAAwB,iBAAbA,EACVrB,EAAKI,YAAciB,OAGnB,GAAII,MAAMC,QAAQL,GACjB,IAAK,IAAMM,KAASN,EACnBrB,EAAKX,YAAYsC,QAIlB3B,EAAKX,YAAYgC,GAKpB,OAAOrB,GAGRxC,MAAK,EAAa2B,EAAc,CAAEmC,GAAI,kBAAoB,CACzD9D,MAAK,EAAW2B,EAAc,CAAEoC,MAAO,yBAA2B,CACjEpC,EAAc,CAAEoC,MAAO,yBAA2BH,EAASQ,OAC3DzC,EAAc,CAAEoC,MAAO,+BAAiCH,EAASS,iBAInEpE,SAASC,KAAK2B,YAAY7B,MAAK,EAQhC,CAEAsE,QAAAA,GACC,IAAMrD,EAAQsD,KAAKC,IAAI,EAAG5D,OAAOM,WAAauD,IAA+B7D,OAAOO,YAAcsD,KAElGzE,MAAK,EAASoB,MAAMC,UAAS,+BAAAC,OAAkCL,EAAQ,EAAIA,EAAQ,EAAC,KAEpFhB,SAASC,KAAK0B,aAAa,QAAS,CAAC,UAADN,OACzBV,OAAOM,WAAU,iBAAAI,OAChBV,OAAOO,YAAW,OAC5BuD,KAAK,KACR,G,sGClDD9D,OAAOkB,WAPoB,oBAAfA,WAAqCA,WAC5B,oBAAT6C,KAA+BA,KACpB,oBAAX/D,OAAiCA,OACtB,oBAAXgE,OAAiCA,YACxC,EAIL9C,WAAW+C,WAAaC,YAAYxB,MAoBpCxB,WAAWxB,OAAS,CACnB6C,KAAM,QCjCP,IDoCA,MACC,GAA8BJ,SAASgC,OACvC,GAAgC,IAChC,GAAsC,IACtC,GAAiB1B,KAAKC,MACtB,GAAiB,EACjB,GAAmB,EACnB,GAAO,EACP,IAAS,EACT,IAAe,EACf,IAAY,EACZ,IAAkB,EAClB,GAAiB,EACjB,GAAe,EACf,IAAY,EACZ,IAAmB,EACnB,GAAW,CAAC,EACZ,GAAc,IACd,IAAkB,EAClB,GAAwB,CAAC,EAGzB,GAAY,KACZ,GAAgB,KAEhB,GAAe,KAEfvD,WAAAA,GACCC,MAAK,EAAe,IAAIgF,CACzB,CAEA,UAAMC,GACLjF,MAAK,EAAS8B,WAAWoD,iBAAkB,EAM3ClF,MAAK,EAAYC,SAASE,cAAc,SAExCH,KAAKmF,0BACCnF,KAAKoF,oBACXpF,KAAKqF,sBACLrF,KAAKsF,oBAELtF,MAAK,EAAgB,IAAIF,EAEzBE,KAAKuF,0BAECvF,KAAKwF,oBAEX,IAAMC,EAAS,IAAIC,EAAAA,EAYnB,SAVMD,EAAOE,WAAW3F,MAAK,EAAQA,KAAK4F,gBAAiB5F,MAAK,GAEhEyF,EAAOI,kBAAoB7F,MAAK,EAE5BM,OAAOE,YACJR,KAAK8F,mBAAmBL,SAGzBA,EAAOM,aAAa,WAEtBzF,OAAO0F,KAAM,CAChB,IAAiBC,SAAmB,4GAA5BC,QAERtF,OAAOqF,SAAWA,EAASC,QAC3BtF,OAAOqF,SAASE,KAAK,eACtB,MACK,GAAI7F,OAAO8F,SAAU,CACzB,IAAiBC,SAAoB,0EAA7BH,QAERtF,OAAO0F,UAAY,IAAID,EAAU5B,EAClC,CAmBA,GAjBKzE,MAAK,IACJM,OAAOC,MACXK,OAAO2F,QAAQC,QAGZxG,KAAK4F,gBACRH,EACEgB,WAAW,6BACXC,SAGFjB,EACEgB,WAAW,sBACXC,WAID1G,MAAK,EAMP,aAFMA,KAAK2G,SAASlB,GAEbmB,QAAQC,QAAQ,8BALvB,IAAIC,EAAe9G,MAAK,EAO1B,CAEA,cAAM2G,CAASlB,GACdzF,MAAK,EAAakD,MAAM,WAExB,IAAI6D,EAAa,OAEjB,GAAIzG,OAAOE,KACV,IACC,IAAM4C,EAAO4D,KAAKC,MAAMnF,WAAWoF,aAAaC,QAAQ,WAExDJ,EAAa3D,GAAMgE,OAAS,MAC7B,CACA,MAAO,CAGJ9G,OAAOE,MAAQR,MAAK,EACvBqH,EAAAA,EAAuB,GAAA/F,OAAOtB,MAAK,EAA6B,WAAAsB,OAAYyF,EAAU,QAGtFM,EAAAA,EAAuB,GAAA/F,OAAOtB,MAAK,EAA6B,QASjEqH,EAAAA,EAAuB,GAAA/F,OAAO+F,EAAAA,EAAuB,iBAE/C,4HAEN,IAAMC,EAAMxF,WAAWwF,IAEvB,OAAIA,GACHC,YAAW,KACVD,EAAIrC,KAAK,CACRQ,SACA+B,YAAaxH,MAAK,EAClByH,MAAOzH,MAAK,EACZ0H,SAAU1H,MAAK,EACf2H,eAAgB3H,MAAK,EACrB4H,gBAAiB5H,MAAK,EACtB6H,YAAa7H,MAAK,EAClB4F,gBAAiB5F,KAAK4F,gBACtBkC,WAAY9H,MAAK,EACjB+H,2BAA4B/H,MAAK,EACjCgI,6BAA8BhI,MAAK,EACnCiI,cAAejI,MAAK,EACpBkI,gBAAiBlI,MAAK,EACtBmI,IAAKnI,MAAK,EACVoI,cAAepI,MAAK,EACpBqI,cAAerI,MAAK,EACpBsI,SAAUtI,MAAK,EACfuI,SAAUvI,MAAK,EACfwI,QAASxI,MAAK,EACdyI,YAAazI,MAAK,GAClB,GACC,GAEHA,MAAK,EAAauD,UAAU,WAErBqD,QAAQC,WAGTD,QAAQ8B,OAAO,mCACvB,CAEAvD,iBAAAA,GACCnF,MAAK,EAAaiD,IAAI,oBAItB,IAFA,IAAM0F,EAAgB1I,SAAS2I,IAAIC,MAAM,iBAAiB,GAAGC,MAAM,KAE1DC,EAAI,EAAGA,EAAIJ,EAAcK,OAAQD,IAAM,CAC/C,IAAME,EAASN,EAAcI,GAAGD,MAAM,KAEhCI,EAAMC,mBAAmBF,EAAO,IAClC7B,EAAQ,GAER6B,EAAOD,OAAS,IACnB5B,EAAQ+B,mBAAmBF,EAAO,KAGnCjJ,MAAK,EAASkJ,GAAO9B,CACtB,CACD,CAEA,uBAAMhC,GACLpF,MAAK,EAAaiD,IAAI,oBAEtB,IAAMmG,EAAkBnJ,SAAS2I,IAAIC,MAAM,iGAOtC,GAAIO,EACR9I,OAAO6C,KAAOiG,EAAgB,GAAGC,cAEd,UAAf/I,OAAO6C,OACV7C,OAAO6C,KAAO,MAGVvC,OAAOuC,MAAuB,MAAf7C,OAAO6C,OAC1B7C,OAAO6C,KAAO,MAGbnD,MAAK,GAAY,EAGlBA,MAAK,GAAmB,QAIzB,GAA6ByE,8BAAzBzE,MAAK,EAASsJ,SAAgE7E,6BAAzBzE,MAAK,EAASsJ,SAAyCtJ,MAAK,EAASuJ,UAC7HjJ,OAAO6C,KAAO,UAEV,GAAgCsB,sBAA5BzE,MAAK,EAASwJ,WACtBlJ,OAAO6C,KAAO,UAEV,GAAInD,MAAK,EAASyJ,KAAOzJ,MAAK,EAASyJ,KAAOzJ,MAAK,EAAS0J,IAChEpJ,OAAO6C,KAAO,UAEV,GAA4BsB,uCAAxBzE,MAAK,EAAS2J,QAA8DlF,qCAAxBzE,MAAK,EAAS2J,OAC1ErJ,OAAO6C,KAAO,UAEV,GAAIlD,SAAS2J,SACjB,GAAI3J,SAAS2J,SAASf,MAAM,YAC3BvI,OAAO6C,KAAO,UAEV,GAAIlD,SAAS2J,SAASf,MAAM,UAChCvI,OAAO6C,KAAO,SAEV,KAAIlD,SAAS2J,SAASf,MAAM,UAIhC,MAAM,IAAIgB,MAAM,oCAHhBvJ,OAAO6C,KAAO,QAIf,KAEI,KAAIrB,WAAWgI,UAAWhI,WAAWiI,OAAOD,QAiDhD,MAAM,IAAID,MAAM,oCAhDhBvJ,OAAO6C,KAAO,KAEd,IAEI4E,EAFaiC,SAA0B,gGAAnC9D,QAiCP6B,EAA6B/H,MAAK,EAAyByE,2CAAmCA,uCAG/F3C,WAAWmI,UAAYnI,WAAWoI,QAAQD,UAC1CnI,WAAWqI,UAAYrI,WAAWoI,QAAQC,UAG1CrI,WAAWsI,gBAAkB,IAAIJ,EAAgBjC,GAEjD/H,MAAK,EAA8B+H,EACnC/H,MAAK,EAAgC8B,WAAWiI,OAAOM,gCAAkCtC,CAI1F,CAGDzH,OAAO,KAADgB,OAAMhB,OAAO6C,QAAU,GAEzB7C,OAAO0F,OAA0C,iBAA1BhG,MAAK,EAASsK,UAAkD,OAA1BtK,MAAK,EAASsK,UAAyD,iBAA7BtK,MAAK,EAASuK,aAAwD,eAA7BvK,MAAK,EAASuK,cAGzJjK,OAAOkK,MAAoC,iBAArBxK,MAAK,EAASyK,KAAwC,QAArBzK,MAAK,EAASyK,OAF7EnK,OAAOoK,aAAc,EAiBvB,CAEArF,mBAAAA,GACCrF,MAAK,EAAaiD,IAAI,sBAEtB,IAAM0H,EAAoC,aAAvB5I,UAAUuI,UAA2BvI,UAAU6I,eAAiB,EAKnF,GAJA5K,MAAK,EAAkB+B,WAAaA,UAAU8I,WAAa,uGAAuG5I,KAAKF,UAAU8I,YAAcF,EAE/L3K,MAAK,EAAe+B,WAAaA,UAAU8I,WAAa,aAAa5I,KAAKF,UAAU8I,WAEhFvK,OAAOoK,YACV1K,MAAK,GAAY,OAEb,GAAIM,OAAOE,MAAQF,OAAOwK,MAAQxK,OAAO8F,UAAY9F,OAAOC,MAAQD,OAAOG,KAC/ET,MAAK,GAAY,OAEb,GAAIM,OAAOyK,MAAgCtG,qCAAxBzE,MAAK,EAAS2J,OACrC3J,MAAK,GAAY,OAEb,GAAIA,MAAK,EAAiB,CAC9BA,MAAK,GAAY,EAEjB,IAAMgL,OAAOC,YAAYC,KAAiC,YAAa,CACvE,MAAO,CACR,CAKIlL,MAAK,IACRA,MAAK,EAAUe,UAAUC,IAAI,UAEzBhB,MAAK,GACRA,MAAK,EAAUe,UAAUC,IAAI,kBAGhC,CAEAsE,iBAAAA,GACCtF,MAAK,EAAaiD,IAAI,oBAElB3C,OAAOwK,MAAQxK,OAAO8F,UAAY9F,OAAO6K,MAAQ7K,OAAOE,MAAQF,OAAOC,MAAQD,OAAOG,MACzFT,MAAK,EAAc,IAEf8B,WAAWC,WAAqD,iBAAjCD,WAAWC,UAAUC,WACnD,gCAAgCC,KAAKH,WAAWC,UAAUC,UAC7DhC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,UAC9ChC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,UAC9ChC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,UAC9ChC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,UAC9ChC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,UAC9ChC,MAAK,EAAc,IAEX,YAAYiC,KAAKH,WAAWC,UAAUC,YAC9ChC,MAAK,EAAc,OAKrBA,MAAK,EAAc,GAErB,CAEAuF,iBAAAA,GAGC,GAFAvF,MAAK,EAAaiD,IAAI,oBAElBjD,MAAK,EAAW,CACnB,IAAMoL,EAA2B,GAApBpL,MAAK,EAAmB,KAAO,KAEtCqL,EAAUpL,SAASE,cAAc,4BAEvC,GAAIkL,EAAS,CACZ,IAAMC,EAAWtL,KAAK4F,gBAAkB,QAAU,OAE5C2F,EAAG,GAAAjK,OAAOtB,MAAK,EAAmC,SAAAsB,OAAUmD,eAAsB,QAAAnD,OAAS8J,GAAI9J,OAAKgK,GAE1GD,EAAQjK,MAAMoK,gBAAe,OAAAlK,OAAWiK,EAAG,IAC5C,CACD,CAOA,IALA,IAAME,EAAWxL,SAAS0B,cAAc,SAClC+J,EAAQjH,CAAAA,CAAAA,oBAAAA,iBAEVkH,EAAkB,GAEb5C,EAAI,EAAGA,EAAI2C,EAAM1C,OAAQD,IAAM,CACvC,IAAA6C,G,EAA2C,E,4CAARF,EAAM3C,K,s1BAAjC8C,EAAYD,EAAA,GAAEE,EAAQF,EAAA,GAQ9BD,GAAe,mDAAArK,OAEIwK,EAAQ,0FAAAxK,OAGbtB,MAAK,EAAmC,WAAAsB,OAAYuK,EAAY,sCAAAvK,OAP1E,GAQS,cAEd,C,QAEAmK,EAAS7I,YAAc+I,EAEvB1L,SAAS8L,KAAKlK,YAAY4J,EAC3B,CAEA,wBAAM3F,CAAmBL,GAGxB,OAFAzF,MAAK,EAAaiD,IAAI,qBAEf,IAAI2D,SAAQC,IAClBpB,EAAOuG,oBACLC,MAAK,KACLnK,WAAWsI,gBAAgBtJ,OAE3B+F,GAAQ,IAERqF,MAAMrF,EAAO,GAEjB,CAEA,uBAAMrB,GAGL,OAFAxF,MAAK,EAAakD,MAAM,oBAEjB,IAAI0D,SAAQC,IAClB,IAAM0E,EAAMvL,MAAK,EAA8B,sBACzCmM,EAAU,IAAIC,eAEpBD,EAAQE,KAAK,MAAOd,GAAK,GACzBY,EAAQG,OAASC,UAChB,GAAsB,KAAlBJ,EAAQK,OACX,UACOxM,KAAKyM,qBAAqBzF,KAAKC,MAAMkF,EAAQO,WACnD7F,GACD,CACA,MAAO8F,GACN3M,MAAK,EAAauD,UAAU,mBAAmB,qBAADjC,OAAuBqL,EAAUvK,UAE/EmF,YAAW,IAAMV,GAAQ,IAAM7G,KAAKwF,uBAAsB,IAC3D,MAGAxF,MAAK,EAAauD,UAAU,mBAAmB,kBAADjC,OAAoB6K,EAAQK,SAE1EjF,YAAW,IAAMV,GAAQ,IAAM7G,KAAKwF,uBAAsB,IAC3D,EAED2G,EAAQS,QAAU,KACjB5M,MAAK,EAAauD,UAAU,mBAAoB,mBAEhDgE,YAAW,IAAMV,GAAQ,IAAM7G,KAAKwF,uBAAsB,IAAG,EAE9D2G,EAAQhG,MAAK,GAEf,CAEA,0BAAMsG,CAAqB7I,GAC1B5D,MAAK,EAAaiD,IAAI,uBAEtBnB,WAAWsI,iBAAmBtI,WAAWsI,gBAAgBtJ,OAEzD,IACC,IAAI8C,EA0EH,MAAM,IAAIiG,MAAM,gCAzEhB,IAAIgD,EAAkBC,OAAOlJ,EAASmJ,UACpC1D,cASF,GAPuB,UAAnBwD,EACHA,EAAkB,KAES,UAAnBA,IACRA,EAAkB,MAGfvM,OAAO6C,OAAS0J,GAAoCjM,OAAOuC,KAC9D,MAAM,IAAI0G,MAAM,6DAGjB,IAAKjG,EAASoJ,OAAQ,CACrB,GAAIpJ,EAASqJ,UAAiC,KAArBrJ,EAASqJ,SAAiB,CAClD,IAAMC,EAAUtJ,EAASqJ,SAErB3M,OAAOE,KAeTR,MAAK,EAAgCkN,GAItClN,MAAK,EAAgCkN,EACrClN,MAAK,EAAsCkN,EAE7C,CAEAlN,MAAK,EAAiB4D,EAASuJ,cAChC,CAqBA,GAnBAnN,MAAK,EAAiBqD,KAAKC,MAC3BtD,MAAK,EAAmC,IAAhB4D,EAASJ,KACjCxD,MAAK,EAAsB,IAAf4D,EAASuE,IAErBnI,MAAK,IAAW4D,EAASoJ,OAEzBhN,MAAK,EAAiB4D,EAASwJ,eAC/BpN,MAAK,EAAiB4D,EAASuJ,eAC/BnN,MAAK,EAAeqN,SAASzJ,EAAS0J,eAAiB,OAOtB,IAAtB1J,EAAS2J,YACnBvN,MAAK,IAAc4D,EAAS2J,WAGzB3J,EAAS4J,SAGZ,MAFAxN,MAAK,GAAkB,EACvBA,MAAK,EAAwB4D,EAAS6J,kBAChC,IAAI5D,MAAM,+CAGjB7J,MAAK,EAAauD,UAAU,mBAAoB,UAKlD,CACA,MAAOoJ,GACN,MAAM,IAAI9C,MAAM8C,EACjB,CACD,CAEA,mBAAI/G,GAKH,IAAK5F,MAAK,EAAQ,CACjB,IAAM0N,EAAOzN,SAAS0B,cAAc,UAEpC,SAAI+L,EAAKC,aAAcD,EAAKC,WAAW,QAGN,GAFzBD,EACLE,UAAU,cACVC,QAAQ,kBAKZ,CAEA,OAAO,CACR,CAEA,WAAIrF,GACH,OAAOxI,MAAK,CACb,CAEA,YAAIsI,GACH,OAAOtI,MAAK,CACb,CAEA,YAAI0H,GACH,OAAO1H,MAAK,CACb,CAEA,YAAI0H,CAASN,GACZpH,MAAK,EAAYoH,CAClB,ICjoBCnC,OACAgH,KAAK1F,QAAQtD,KACbiJ,MAAM3F,QAAQrE,M","debug_id":"4dc3a18b-5336-5194-a203-81caecb44ee3"}