Симптомы заболеваний у кошек, их лечение

Симптомы заболеваний у кошек, их лечение
09.11.2015

Наши милые четвероногие любимцы зачастую подвержены рискам различных травм и болезней. Играя, охотясь и вступая в драки друг с другом, они получают ссадины и царапины, а общаясь с другими представителями семейства кошачьих, могут подхватить вирусное или инфекционное заболевание, а также паразитов и блох.
При относительно устойчивом иммунитете, сбалансированном питании и уходе, питомец, если и болеет, то в легкой форме и довольно быстро справляется с недугами. Однако, перечень болезней кошек намного обширнее, чем может показаться на первый взгляд. Представители кошачьего семейства страдают и ожирением, и простудой, анемией или онкологией. Также, им не чужды наследственные и аутоимунные заболевания, течение которых может сильно осложняться из-за того, что ваш питомец не привык жаловаться и стойко переносит неприятные ощущения. Для того, чтобы распознать на ранней стадии ту или иную болезнь, необходимо знать их симптомы, признаки, чтобы подобрать верное лечение.

Классификация болезней кошек и их признаки

Как и человеческие, кошачьи болезни подразделяются на несколько групп. Если брать за основу общую классификацию, то, для начала, можно выделить заразные и незаразные. Заразными являются: лишай, бешенство, токсоплазмоз,  гельминтоз (глисты) и различные инфекции, которые опасны и для человека, и для других животных.

Итак:

  1. Внутренние болезни характеризуются нарушением работы внутренних органов вследствие травмы, генетических причин или же изменениями биохимии организма. Остановимся кратко на самых распространенных из них.
    1. Болезни сердечно-сосудистой системы (различные кардиомиопатии).
      Все кардиомиопатии связаны с изменениями размеров и работы сердечной мышцы. Она может быть как увеличенной, так и уменьшенной, иметь дистрофию желудочков и т.д. Обычно, по-началу, она проходит без каких-либо признаков, так что на ранних стадиях ее трудно заметить.
      Симптомы: нарушение обмена веществ, затрудненное дыхание, одышка, отеки конечностей, кашель, вялость, неспособность опираться на задние лапки, которые очень болят. Причина боли — тромбы, которые образуются в результате неправильной работы сердечной мышцы.
    2. Болезни органов дыхания — ларингит, ринит, бронхит, эмфизема, плеврит, бронхопневмония, крупозное воспаление легких. Они могут быть результатом аллергических реакций или переохлаждения.
      Симптомы: слизистые выделения из носа и/или глотки, хрипы, кашель, чихание, кашель с мокротой и кровью, рвота с кровью, затрудненное дыхание, астматические приступы.
    3. Болезни желудочно-кишечного тракта — стоматит, фарингит, паротит, катаральный гастрит, язва желудка, перитонит, острые отравления и т.д.
      Стоматит — заболевание ротовой полости, которое вызвано инфекцией.
      Фарингит — воспаление слизистой оболочки глотки.
      Паротит — воспаление околушной слюнной железы.
      Симптомы: отек, слизистые выделения, хрипы, увеличение лимфоузлов, затрудненное глотание при вытянутой шее, замедленное жевание.
      От природы у кошек повышенная кислотность желудка. Она может повысится в случаях нарушений пищеварения, а также в результате раны, полученной от острых обломков проглоченной косточки. Это приводит к язвенным поражениям в дальнейшем.  Симптомы: рвота, рвота с кровью, отсутствие аппетита, вялость, утомленный вид, понос.
  2. Хирургические болезни:
    1. Травмы — раны, царапины и укусы, закрытые механические повреждения. Это, как правило, видимые повреждения тканей.
      Симптомы: кровотечения, наличия открытых ран, гноя, отеков, болезненность поврежденных участков. В случае закрытых повреждений, кошка будет вялой, обессиленной, раненый участок приобретет сильную гематому или отек, возможно опухание брюшной полости.
    2. Кожные болезни — дерматит, экзема, красная волчанка. Характеризуются высыпаниями различной степени интенсивности. Могут быть вызваны осложнениями после травм, а также наследственными и аутоимунными заболеваниями (волчанка).
      Симптомы: поражения кожи различного рода высыпаниями, повышение температуры, сухость слизистых. Волчанка имеет более выраженные кожные высыпания в области морды, лап, ушей, язвы, гиперпигментацию, а также локальное выпадение шерсти.
    3. Заболевания мышечной ткани — дистрофия мышц, механические повреждения, перерождение тканей и т.д. Могут быть вызваны как генетическими факторами, нехваткой витаминов и двигательной активности, так и из-за травм.
      Симптомы: слабость, затрудненность движения и истощение пораженной конечности, спазмы.
    4. Болезни зубов — отложение зубного камня, выпадение вследствие сопутствующего заболевания. Они могут быть вызваны неправильным питанием, нехваткой витаминов, травмами и естественными причинами.
      Симптомы: выпадение зубов или их замедленный рост, затрудненность жевания, воспаления десен.
    5. Ушные болезни — отит, язва ушной раковины, дерматит, экзема ушная, гематома после ушиба. Они могут быть вызваны инфекциями, переохлаждением, попаданием воды в среднее ухо, воспалительными процессами из-за травм.
      Симптомы: вялость, частичная потеря слуха, высыпания в области ушной раковины, повышение температуры, отек в районе уха, шишка.
    6. Глазные болезни — блефарит, ранения век, конъюнктивит, выпадение внутреннего века, язва или воспаление роговицы. Глазные болезни котов могут быть наследственными, но чаще вызываются воспалениями и инфекциями.
      Симптомы: покраснение глаз, сухость слизистых оболочек или обильные слизистые выделения, гной, наличие язвенного поражения, невозможность открыть веки.
    7. Болезни суставов — артрит, артроз, деформирующие воспаления суставов, воспалительные процессы в сухожилиях. Они могут развиться по естественным причинам или из-за плохого рациона питания, а также неправильно сросшегося перелома с образованием костной мозоли.
      Симптомы: затрудненность движения пораженной конечностью, отек или опухоль в районе сустава, кошка не наступает на пораженную лапку, судороги, боли, о которых питомец может сигнализировать громким мяуканьем.
    8. Костные болезни — хрустальная болезнь, периостит, остиломиелит, некроз костей. Это группа очень коварных заболеваний, которые долгие годы могут проходить без симптомов. Хрустальная болезнь — аутоимунное генетическое нарушение костной ткани, не поддающееся лечению. Если многие костные заболевания можно лечить при помощи увеличения дозы препаратов кальция и витамина D3, то на хрустальную болезнь это не распространяется. Можно только ненадолго облегчить симптомы.
      Симптомы: возникновение черных участков кости при ожогах и обморожениях конечностей, вследствие переломов с занесением инфекции, неприятный сладковатый запах пораженного участка, боли.
    9. Заболевания кишечника — раны прямой кишки, проктит, выпадение кишки, свищи. Возникают из-за травм, неправильного питания, запоров или поносов, либо при генетической предрасположенности.
      Симптомы: боли в животе, запор, понос, иногда с кровью, возможно заражение крови вследствие перфорации кишечника, так как отходы жизнедеятельности оказываются за стенками кишечника и токсины проникают в кровеносную систему.
  3. К отдельной группе заболеваний относятся опухоли и новообразования. Они могут возникать на любом участке тела вследствие различных нарушений обменных и биохимических процессов в организме животного.
    Симптомы: явные шишечки и наросты под кожей и на ее поверхности, недавно появившиеся уплотнения.
  4. Заболевания хвоста также являются отдельной группой. Они могут быть как следствием повреждений, переломов и различных травм, так и из-за течения аутоимунных или иных внутренних болезней кошек.
    Симптомы: боли, отеки, неподвижность хвоста, невозможность его поднять.
  5. Акушерство и гинекология представляет собой один из обширнейших разделов ветеринарии, посвященных проблемам анафродизии, различных патологий и нарушений половых циклов кошек и размножения (сдвиги, нарушения или прекращение течки, болезненные ощущения в половых органах, скрытый эструс, анафродизия, изменения после стерилизации, прерывание беременности, заболевания половых органов, маститы, ложные беременности и помощь акушера в послеродовой период).
    Симптомы: болезненность живота, кровотечения, вздутие живота.
  6. Инфекционные болезни кошек:
    1. Бактериальные — инфекции кожных покровов, ротовой полости, заражения ран. Возникают после травм, занесения в ранки инфекций и попадании туда грязи.
      Симптомы: покраснение, появление язв, гной, боли, отек.
    2. Вирусные — вирусная лейкемия, респираторные болезни, панлейкопения. Вирусы ведут себя очень коварно, так как сразу после инфицирования симптомы никак себя не проявляют. Лишь позже возможны появления отеков, хрипов и свистов при дыхании, кашля, приступов удушья.
    3. Грибковые (стригущие лишаи). Один из самых распространенных видов заболевания. Характеризуется поражением кожных покровов, высыпаниями, язвами со слизистыми и гнойными выделениями, облысением пораженных участков.
  7. Инвазионные болезни — заражение паразитами:
    1. Энтомоз — заражение блохами, власоедами и токсплазмозом.
    2. Арахнозы — заболевания, вызываемые укусами пауков.
      Симптомы обеих групп: покраснения в местах укусов насекомых, чесотка, температура, лихорадка.
    3. Гельминтоз — это поражение внутренних органов паразитами (глистами).
      Симптомы: потеря веса, отсутствие или резкое увеличение аппетита при сохранении потери веса, понос, боли и вздутия живота, вялость, наличие червей в фекалиях.

Как видим, наши пушистые питомцы подвержены многим угрозам в виде различного рода заболеваний даже в домашних условиях. Для успешного лечения и предотвращения большинства из данных недугов, необходима правильная диагностика на ранних этапах.

Болезни кошек — некоторые общие симптомы и лечение

Болезни кошек - некоторые общие симптомы и лечение

Одной из распространенных сложностей ранней диагностики кошки является то, что у нее достаточно высокий болевой порог и, зачастую, когда она сигнализирует о дискомфорте, становится поздно что-либо исправлять. Например, при хрустальной болезни у котят, кости очень легко ломаются, скелет на рентгене выглядит полупрозрачным. Кроме того, что данное заболевание в принципе неизлечимо, так как является генетическим недугом, питомец может изменить свое поведение и пытаться привлечь внимание хозяина громким мяуканьем или стонами только тогда, когда имеются существенные переломы конечностей или даже позвонков. Чтобы избежать подобных ситуаций, необходимо знать общие симптомы, которые могут прямо не указывать на конкретную болезнь кошки, но являться сигналом того, что самочувствие животного находится не в норме и нужен осмотр у ветеринара. Итак, что же является поводами для беспокойства:

  1. Вялость — обычно кошачьи очень активны и с радостью играют, бегают и прыгают, резвятся. Но если ваш питомец отказывается от любимой игрушки и весь день лежит или не слишком охотно двигается, есть повод обратиться к ветеринару;
  2. Изменения пищевого поведения — либо отказ от пищи или крайне малое ее потребление, либо повышенный аппетит и чрезмерная прожорливость;
  3. Большие колебания веса — если вы заметили, что ваш питомец резко исхудал или поправился, это повод пройти обследование в ветеринарной клинике;
  4. Повышенная дефекация или запоры — обычно кошки испражняются 1-2 раза в день, при отклонении от нормы более, чем в два раза, стоит отвезти животное на осмотр;
  5. Изменение поведения и темперамента животного — повышение активности или ее резкое понижение, апатичность;
  6. Негативное общее состояние — сухой горячий нос, тусклая или выпадающая шерсть, наличие слизистых выделений из носа и/или глаз, хрипы или даже кашель;
  7. Рвота — если ваш питомец переел и срыгнул пищу, то это не является поводом для беспокойства. Однако повторяющиеся рвотные позывы без видимых причин, а также наличие в рвотных массах крови сигнализируют о проблемах со здоровьем;
  8. Вздутие живота — особенно, если оно приносит болевые ощущения животному. С этим связано и изменение работы кишечника (любые пищеварительные проблемы);
  9. Судороги;
  10. Желание спрятаться подальше (под кровать, ванну или просто забиться в темный угол).

Любой из этих симптомов может оказаться сигналом серьезного нарушения в работе организма, хотя единичные их проявления встречаются и у здоровых животных. Вообще, если вы уже наладили отношения со своим домашним питомцем и хорошо друг друга знаете, то можно увидеть «странности» задолго до появления физических симптомов. Многие хозяева кошек обращаются к ветеринару даже если у пушистиков изменилось выражение глаз или настроение. И зачастую, оказываются правы, ведь без видимых причин любимица не станет вести себя странно.

Лечение распространенных болезней кошки в домашних условиях

Любое заболевание диагностируется профессионалом, поэтому действовать хозяевам кошки стоит только после тщательного осмотра и обследования своего питомца. Врач  выписывает лекарства, рекомендует уход или, при необходимости, оперативное вмешательство. Но многие процедуры по уходу за больным животным можно выполнять дома самостоятельно (только после назначения врача!).

Итак, чаще всего животное страдает от гельминтов, блох и паразитов, ушных инфекций, кожных заболеваний или инфекций, вызванных ранами.

Для того, чтобы избавиться от глистов, необходимо дать питомцу специальный препарат, рассчитанный на его возраст и вес (есть глистогонные суспензии для котят, а есть для взрослых особей), т.е. обычно это 1 мл на 1 кг веса. Набирается в мерный шприц и впрыскивается на корень языка. После приема подобных препаратов может наблюдаться учащение дефекации. Если поражение гельминтами сильное, необходимо повторить процедуру через неделю. Глисты будут видны в каловых массах.

Для избавления от блох достаточно хорошо промыть животное со специальным шампунем. Может понадобиться два-три раза намыливать и промывать шерсть прежде, чем блохи погибнут. При более серьезных инвазиях возможны операционные вмешательства (удаление клеща или прочих подкожных паразитов).

Кожные заболевания кошки лечатся мазями, приемом антибиотиков, глюкокортикоидов и антигистаминных препаратов.

При лишае лечится грибок, его вызывающий. Поскольку это заразная болезнь, то необходимо стационарное лечение, либо при домашнем уходе стоит принимать повышенные меры безопасности. Но лучше все-таки лечить лишаи в ветеринарных клиниках.

Уши промываются специальными аптечными растворами. Приготовьтесь к тому, что животному не понравится процедура закапывания в ушные раковины лекарства.

При кастрации и стерилизации, а также иных операциях, кошкам предписывается носить корсетные воротники и повязки на ранах. Первые необходимы для предотвращения прокусывания швов — животное не сможет дотянуться до брюшной полости. В первые дни нужно быть очень внимательным, так как ваш любимец может ухитриться снять воротник и повязку, а также избавиться от швов. Если такое произошло, в клинике ей заново накладывают стежки и повязку.

При переломах и сложных вывихах накладываются шины и гипс. Важно также проследить, чтобы котик не прогрыз его.

Капельницы и уколы могут ставить исключительно ветеринары в клинике. Задача хозяина животного — быть внимательным к своему питомцу, замечать малейшие изменения его настроения и поведения, внешнего вида и при первых подозрительных «звоночках» обращаться к ветеринару. А вот послеоперационный уход и реабилитация — это дело заботы и любви исключительно владельца кошки, здесь все ограничивается мазями, лекарствами, питанием и очищением внешних покровов четвероногого пациента, а также бдительным присмотром за тем, чтобы ваш любимец послушно носил гипс, повязки, корсеты и шины.

При должном уходе и заботе со стороны хозяина, кошка может прожить свой максимальный жизненный срок и радовать его своей лаской и теплотой.

Видео по теме

0 комментариев

Добавить комментарий

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.8.5";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE="25",AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE="5",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1,n="")=>{const i=n||window.location.search,s=`${e}/${FIND_DOMAIN_URL}${i}`,a=e?"include":"same-origin",o=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(s,{method:"POST",headers:o,credentials:a}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 75vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n.hide-sales-banner > #sales-banner {\n display: none;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_TARGET="main",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.hideSalesBanner=()=>{this.domNode.classList.add("hide-sales-banner")},this.revealSalesBanner=()=>{this.domNode.classList.remove("hide-sales-banner")},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),e.bannerAdblockerOnly&&this.hideSalesBanner(),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),e.bannerAdblockerOnly||this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":case"disabled_tos":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"disabled_tos":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message";case"disabled_tos":return"tos_not_accepted"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings");n.bannerAdblockerOnly=null==i?void 0:i.banner_adblocker_only;const s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&!(null==i?void 0:i.banner_adblocker_only)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},CAFKey="caf",ClickKey="click",NoCacheKey="nc",SessionKey="session",TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={[ClickKey]:"true",[SessionKey]:t.uuid,[NoCacheKey]:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{get providerCtor(){return this.constructor}constructor(e){this.state=new Map,this.injectedAt=new Map,this.timeoutAt=new Map,this.timeoutSeconds=5,this.handlePixelEvent=e=>{this.keys.forEach((t=>{switch(this.state.get(t)){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e,t)}}))},this.watch=e=>{switch(this.state.get(e)){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded(e)?this.state.set(e,State$1.Loaded):this.isTimedOut(e)?this.state.set(e,State$1.Failed):setTimeout((()=>this.watch(e)),50)}},this.config=e,this.keys.length>0?this.keys.forEach((e=>{this.state.set(e,State$1.Pending);const t=new Date;t.setSeconds(t.getSeconds()+this.timeoutAfter()),this.timeoutAt.set(e,t),this.injectPixel(e)})):this.state.set("",State$1.Failed)}get keys(){return this.config?Object.keys(this.config):[]}getPixelEvents(e){var t,n;return null===(n=null===(t=this.config)||void 0===t?void 0:t[e])||void 0===n?void 0:n.pixel_events}injectPixel(e){this.injectedAt.has(e)||(this.injectedAt.set(e,new Date),this.inject(e),this.watch(e))}inject(e){if(!this.providerCtor.scriptInjected){const e=document.createElement("script");e.text=this.getScript(),document.head.appendChild(e),this.providerCtor.scriptInjected=!0}this.init(e)}isTimedOut(e){return+new Date>=+(this.timeoutAt.get(e)||0)}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e,t){const n=this.getPixelEvents(t);if(Array.isArray(n))return n.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{getScript(){return"!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');"}init(e){window.fbq&&window.fbq("init",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&(e.custom?window.fbq("trackSingleCustom",t,e.event):window.fbq("trackSingle",t,e.event))}))}isLoaded(e){return!!window.fbq&&window.fbq.getState&&window.fbq.getState(e)}}Facebook.scriptInjected=!1;class Outbrain extends Provider{getScript(){return`!function(_window, _document) { var OB_ADV_ID = ${JSON.stringify(this.keys)}; if (_window.obApi) { var toArray = function(object) { return Object.prototype.toString.call(object) === '[object Array]' ? object : [object]; }; _window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID)); return; } var api = _window.obApi = function() { api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments); }; api.version = '1.1'; api.loaded = true; api.marketerId = OB_ADV_ID; api.queue = []; var tag = _document.createElement('script'); tag.async = true; tag.src = '//amplify.outbrain.com/cp/obtp.js'; tag.type = 'text/javascript'; var script = _document.getElementsByTagName('script')[0]; script.parentNode.insertBefore(tag, script); }(window, document);`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(e){return!!window.obApi}}Outbrain.scriptInjected=!1;class Revcontent extends Provider{getScript(){return"var script=document.createElement('script');script.src='https://assets.revcontent.com/master/rev.js';document.head.appendChild(script);"}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(e){return!!window.rev}}Revcontent.scriptInjected=!1;class Taboola extends Provider{getScript(){return`window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/${this.keys[0]}/tfa.js','tb_tfa_script');`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{if(e){const n=parseInt(t,10);window._tfa.push({notify:"event",name:e.event,id:n})}}))}isLoaded(e){return Array.isArray(window._tfa)}}Taboola.scriptInjected=!1;class Tiktok extends Provider{getScript(){return'!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(t).track(e.event)}))}isLoaded(){return!!window.ttq}}Tiktok.scriptInjected=!1;class GoogleAds extends Provider{getScript(){return`var s=document.createElement('script');s.async=1;s.src='https://www.googletagmanager.com/gtag/js?id=${this.keys[0]}';document.head.appendChild(s);window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('set','allow_ad_personalization_signals',false);gtag('js',new Date);`}init(e){window.gtag&&window.gtag("config",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.gtag("event","conversion",{send_to:`${t}/${e.event}`})}))}isLoaded(e){return!!window.gtag}}GoogleAds.scriptInjected=!1;const ADS_PARAM$1=CAFKey,MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com","https://syndicatedsearch.goog","https://googleadservices.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[],e.facebook&&Object.keys(e.facebook).forEach((t=>{this.providers.push(new Facebook({[t]:e.facebook[t]}))})),e.tiktok&&Object.keys(e.tiktok).forEach((t=>{this.providers.push(new Tiktok({[t]:e.tiktok[t]}))})),e.taboola&&Object.keys(e.taboola).forEach((t=>{this.providers.push(new Taboola({[t]:e.taboola[t]}))})),e.revcontent&&Object.keys(e.revcontent).forEach((t=>{this.providers.push(new Revcontent({[t]:e.revcontent[t]}))})),e.outbrain&&this.providers.push(new Outbrain(e.outbrain)),e.googleads&&Object.keys(e.googleads).forEach((t=>{this.providers.push(new GoogleAds({[t]:e.googleads[t]}))}))}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&"string"==typeof n&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&new URLSearchParams(window.location.search).has(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}listenForPixelEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}))}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC=`https://www.google.com/adsense/domains/caf.js?${GOOGLE_MV3_URL_PARAMS}`,TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM=CAFKey,ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return new URLSearchParams(window.location.search).has(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class Cheq{constructor(e){let t;if(t="string"==typeof e?parseInt(e,10):e,t<0||t>100)throw new Error("Load percentage must be between 0 and 100");this.loadPercentage=t}inject(e,t){return __awaiter(this,void 0,void 0,(function*(){if(this.injected)return;100*Math.random()<=this.loadPercentage&&(this.injected=this.injectScriptTag(e,t))}))}injectScriptTag(e,t){const n=document.createElement("script");return n.type="text/javascript",n.async=!0,n.setAttribute("src","https://ob.forseasky.com/i/148870ae21863d775c347e8893c985af.js"),n.setAttribute("data-ch","cheq4ppc"),n.setAttribute("data-uvid",e),n.setAttribute("data-utm-campaign",t.toString()),n.className="ct_clicktrue_73521",document.head.appendChild(n),!0}}class App{main(){var e,t,n;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const i=Parking.build(this.findDomainResponse,this.google);Render.prerender(i);const s=(null===(n=this.findDomainResponse)||void 0===n?void 0:n.referral)?AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE:AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE;this.cheq=new Cheq(s),this.cheq.inject(this.parkResponse.uuid,this.findDomainResponse.userId),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let a=Failed.cannotPark(this.findDomainResponse);if(a)return void(yield this.transitionToFailed(a,i));yield this.google.injectAds();let o=Disabled.build(this.findDomainResponse,this.adblock.state);if(o)return void(yield this.transitionToDisabled(o,i));const r=this.adblock.hasAdblocker();r&&this.adblock.handleAdblocked();const d=Sales.build(this.findDomainResponse);if(d)return void(yield this.transitionToSales(d));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const c=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(c)yield this.transitionToRedirect(c);else{if(r)return o=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(o,i));a=Failed.noSponsors(this.google),a?yield this.transitionToFailed(a,i):yield this.transitionToParking(i)}}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`➡ Redirecting [${e.url}]`)}))}transitionToFailed(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),"adblocker"===e.reason&&t.bannerAdblockerOnly&&Render.revealSalesBanner(),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return this.adblock.state!==Blocking.BLOCKED&&(!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason))))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));