Najnovije vijesti

Grad Gradačac zapošljava 6 državnih službenika

29/06/2021 | objavio Radio Gradačac
Grad Gradačac zapošljava 6 državnih službenika
GRADAČAC

Na osnovu člana 37. i 87., stav 2. Zakona o državnoj službi u Tuzlanskom kantonu (”Službene novine TK”, br: 7/17, 10/17, 10/18, 14/18 i 8/21), a na zahtjev Grada Gradačac, Agencija za državnu službu Federacije BiH, objavljuje

JAVNI KONKURS

za popunu radnih mjesta državnih službenika u Gradu Gradačac

Radna mjesta:

-01. Sanitarno-komunalni inspektor u Gradskoj službi za opću upravu i inspekcijski nadzor – 1 (jedan) izvršilac,

-02. Stručni saradnik za pravne poslove u Gradskoj službi za opću upravu i inspekcijski nadzor – 1 (jedan) izvršilac,

-03. Stručni saradnik za operativno-tehničke poslove urbanizma u Gradskoj službi za urbanizam, investicije i komunalne poslove – 1 (jedan) izvršilac,

-04. Stručni saradnik za poslove energetske efikasnosti i komunalnu infrastrukturu u Gradskoj službi za urbanizam, investicije i komunalne poslove – 1 (jedan) izvršilac,

-05. Stručni saradnik za rad komisija i radnih tijela Gradskog vijeća u Stručnoj službi Gradskog vijeća i Gradonačelnika – 1 (jedan) izvršilac,

-06. Stručni saradnik za poslove civilne zaštite, spašavanje i obučavanje u Službi Civilne zaštite – 1 (jedan) izvršilac.

01. Opis poslova: vrši nadzor nad izvršavanjem zakona i drugih propisa i opštih akata iz oblasti sanitarne, higijenske i protivepidemijske zaštite ljudi i preduzima mjere u skladu sa zakonom i podzakonskim propisima; vrši nadzor nad preduzimanjem i sprovođenjem mjera akcija i sprečavanje i suzbijanje zaraznih bolesti, nadzor nad ekshumacijom prenosom umrlih osoba; vrši nadzor nad proizvodnjom i prodajom živežnih namirnica i predmeta za opću upotrebu koji podliježu inspekcijskom nadzoru; vrši nadzor nad prometom lijekova, proizvodnjom i prometom otrova, vrši nadzor nad sanitarno-tehničkim i higijenskim uslovima u školama, domovima, vrši nadzor nad naseljima i drugim javnim mjestima i objektima, vrši nadzor nad objektima javnog saobraćaja, vrši nadzor nad vodom za piće, objektima i uređajima koji ispuštaju štetne materije u vazduh ili vodu; vrši nadzor nad primjenom propisa iz oblasti komunalne djelatnosti, a naročito na komunalnim objektima i uređajima, gradskim saobraćajnicama, željezničkim i autobuskim stanicama i stajalištima, vrši kontrolu javne rasvjete, vrši nadzor dobara u opštoj upotrebi u naseljima, kontrolu snadbijevanja naselja i vrši i druge poslove iz oblasti komunalnog nadzora i preduzima mjere u skladu sa zakonom i podzakonskim propisima; provodi i prati provođenje upravnih mjera naloženih rješenjem i osigurava njihovo izvršenje; zapisnikom izuzetno može narediti izvršenje mjera u skladu sa zakonom radi otklanjanja neposredne opasnosti po život i zdravlje ljudi i po imovinu; sarađuje sa komunalnim redarima oko poslova iz nadležnosti Službe te koordinira izvršavanje poslova i zadataka iz zajedničke nadležnosti sa komunalnim redarima; naređuje da se utvrđeni nedostaci i nepravilnosti otklone na način i u roku kako je određeno Zakonom i propisom donesenim na osnovu Zakona; zabranjuje poduzimanje radnji za koje smatra da su u suprotnosti sa Zakonom ili drugim propisom nad čijim sprovođenjem vrši nadzor; naređuje poduzimanje određenih radnji, koje je subjekt nadzora po Zakonu ili propisu donesenim na osnovu Zakona bio dužan preduzeti; izdaje prekršajni nalog i izriče kaznu, pokreće prekršajni postupak i preduzima i druge upravne mjere i radnje za koje je ovlašten Zakonom i drugim propisom; izrađuje stručne analize, informacije i izvještaje koji se odnose na pitanja iz djelokruga rada sanitarne i komunalne inspekcije; vodi evidencije iz svoje nadležnosti; obavlja i druge poslove iz nadležnosti Službe po nalogu neposrednog rukovodioca.

02. Opis poslova: vrši poslove vođenja matičnih knjiga; vodi evidenciju o pečatima i pripremu rješenja kojim se odobrava izrada pečata; osigurava pravilan i zakonit pristup i korištenje podataka iz Jedinstvenog matičnog registra; prati postupak prijave vjenčanja i vrši poslove svečanog zaključenja braka prema odredbama Porodičnog zakona; vodi upravni postupak i rješava pri zahtjevima za pristup informacijama u skladu sa Zakonom o slobodnom pristupu informacijama; izrađuje ugovore i druge akte koji se odnose na obligacione i dužničko povjerilačke odnose iz nadležnosti službe, te se stara o realizaciji tih ugovora; izrađuje nacrte i prijedloge odluka, pravilnika, ugovora i dr. normativnih akata iz djelokruga rada Odsjeka; učestvuje u radu komisija, radnih tijela i grupa; vrši provjeru podataka za policijske uprave, projekat CIPS i druge organe iz nadležnosti matičnih knjiga; vodi evidenciju birača, redovno ažurira biračke spiskove; priprema podatke i informacije za potrebe neposrednog rukovodioca; odgovara za zakonito, ažurno i blagovremeno obavljanje poslova; vrši i druge poslove po nalogu neposrednog rukovodioca.

03. Opis poslova: izrađuje urbanističko-tehničke i druge uslove u postupku izdavanja urbanističkih saglasnosti i lokacijskih informacija za područja gdje se primjenjuju propisani režimi građenja (izrada grafičkih skica, zapisnika i stručne ocjene); radi izvode iz važećih planskih dokumenata; izrađuje stručna mišljenja i grafičke skice u postupcima zauzimanja javnih površina u postupcima koje vodi imovinsko-pravna služba, daje stručna mišljenja, izrađuje prijedloge cijepanja, određuje zemljišta za redovnu upotrebu zgrada i dr.; vrši pregled i provjeru projektne dokumentacije sa aspekta inženjersko-tehničke ispravnosti, shodno odredbama važećeg zakona o prostornom uređenju i građenju i drugim propisima, te daje ocjenu njene usklađenosti sa uslovima iz lokacijske informacije/urbanističke saglasnosti; učestvuje u izradi planske dokumentacije (vrši terenske poslove sa nosiocem izrade plana); vrši i druge poslove i radne zadatke po nalogu Šefa odsjeka i Pomoćnika Gradonačelnika.

04. Opis poslova: vrši poslove organizovanja aktivnosti zimske službe; održavanje komunalnih objekata, javne rasvjete i uređaja;učestvuje u izradi nacrta i prijedloga odluka i drugih akata iz nadležnosti Službe, učestvuje u radu komisija, radnih tijela i grupa, obavlja i druge poslove po nalogu nadređenog službenika; prati promjene i vrši provođenje promjena u elaboratu katastra komunalnih uređaja; unosi trase komunalnih uređaja i indikacione skice sa svim potrebnim elementima; radi na izradi projektnih prijedloga za provođenje energetske efikasnosti, obnovljivih izvora energije i zaštita životne sredine; prati stanje i obavlja poslove iz oblasti saobraćaja i komunalne infrastrukture na području grada; prikuplja podatke o stanju saobraćaja i komunalne infrastrukture i predlaže mjere za njihovo unapređenje; prikuplja podatke i učestvuje u izradi plana/programa ljetnog i zimskog održavanja lokalnih i nekategorisanih puteva; prati i vrši kontrolu i kvalitet izvedenih radova na održavanju puteva; učestvuje u izradi planova i programa rekonstrukcije infrastrukturnih objekata; izrađuje predmjere i predračune radova za ljetno i zimsko održavanje puteva; vrši i druge poslove i radne zadatke po nalogu Šefa Odsjeka i Pomoćnika Gradonačelnika.

05. Opis poslova: izrađuje nacrte akata, koje radna tijela predlažu Gradskom vijeću iz svoje nadležnosti; obezbjeđuje stručne i tehničke uslove za održavanje sjednica komisija; prati propise iz raznih oblasti po kojima komisije i radna rijela rade i predlažu Gradskom vijeću; sarađuje sa gradskim organima uprave koji rade materijale za komisije i Gradsko vijeće i čiji će predstavnici prisustvovati i dati obrazloženja komisijama; sarađuje sa parlamentarnim strankama vezano za rad pojedinih komisija; vodi zapisnik i snimanje tonskih zapisa sa sjednica komisija; sarađuje sa predsjednicima komisija i radnih tijela i o svemu se dogovara oko rada komisija; vodi brigu oko realizacije zaključaka komisija; brine se oko arhiviranja materijala koji su prošli kroz rad komisija; pomaže sekretaru na izradi Statuta grada, Poslovnika Gradskog vijeća i Programa rada Gradskog vijeća i drugih akata; radi i druge poslove po zahtjevu Sekretara.

06. Opis poslova: organizira i neposredno vrši sve zadatke koji se odnose na organiziranje, pripremanje i provođenje mjera zaštite i spašavanja iz svoje nadležnosti, u svim subjektima zaštite i spašavanja i preduzima odgovarajuće aktivnosti da se u istima planiraju, organiziraju i sprovode odgovarajuće mjere zaštite i spašavanja; ostvaruje stalnu saradnju sa subjektima zaštite i spašavanja u cilju preventivnog praćenja efikasnijeg izvršavanja mjera zaštite i spašavanja, koje su utvrđene u Planu zaštite i spašavanja općine i vrši koordinaciju, kako bi se sve te mjere pravilno i blagovremeno izvršavale; nosilac je izrade plana zaštite i spašavanja od prirodnih i drugih nesreća i procjene ugroženosti od prirodnih i drugih nesreća i odgovoran je za njihovo redovno ažuriranje; priprema izvještaje, informacije i druga akta iz oblasti mjera zaštite i spašavanja; učestvuje u sprovođenju naredbi Gradskog štaba civilne zaštite, koje se odnose na mjere zaštite i spašavanja, te vrši i sve druge poslove i zadatke za potrebe Štaba iz svoje nadležnosti; priprema i realizuje nastavne planove i programe obuke strukture CZ i stanovništva; priprema elaborate, gradske odluke, izvještaje, informacije i druge akte iz svoje nadležnosti; prati i proučava stanje i pojave u oblasti zaštite i spašavanja, te na osnovu obrade prikupljnih podataka predlaže mjere i postupke za rješavanje utvrđenih problema i unapređenja stanja u ovoj oblasti; koordinira provođenje planiranih mjera zaštite i spašavanja iz nadležnosti organa uprave i pravnih lica i prati njihovo provođenje; rad po posebnih uslovima (dežurstvo, obuka i vježbe, provjere spremnosti štabova); dužan je obavljati i duže od punog radnog vremena u skladu sa Zakonom; vrši i druge poslove i radne zadatke po nalogu Šefa službe Civilne zaštite i Šefa Odsjeka za civilnu zaštitu.

Kandidati moraju ispunjavati opće uvjete iz člana 38. Zakona o državnoj službu u Tuzlanskom kantonu i to: 1. da je državljanin Bosne i Hercegovine; 2 da je stariji od 18 godina; 3. da ima univerzitetsku diplomu ili druge obrazovne ili akademske kvalifikacije najmanje VII stepena stručne spreme odnosno visoko obrazovanje najmanje prvog ciklusa Bolonjskog sistema studiranja, što se utvrđuje uredbom iz člana 10. stav (2) Zakona o državnoj službi u Tuzlanskom kantonu; 4. da je zdravstveno sposobno za obavljanje poslova predviđenih za to radno mjesto; 5. da u posljednje tri godine, od dana objavljivanja upražnjenog radnog mjesta, lice nije otpušteno iz državne službe kao rezultat disciplinske mjere, na bilo kojem nivou vlasti u Bosni i Hercegovini; 6. da nije obuhvaćeno odredbom člana IX 1. Ustava Bosne i Hercegovine; 7. da se protiv njega ne vodi krivični postupak.

Pored općih uvjeta kandidati moraju ispunjavati i posebne uvjete propisane Pravilnikom o unutrašnjoj organizaciji i to:

Za poziciju 01:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 240 ECTS bodova, sanitarne, medicinske, tehnološke ili zdravstvene struke,

-najmanje 3 (tri) godine radnog staža u struci nakon sticanja visoke stručne spreme.

Za poziciju 02:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 180 ECTS bodova, pravne struke,

-najmanje 1 (jedna) godina radnog staža u struci nakon sticanja visoke stručne spreme.

Za poziciju 03:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 180 ECTS bodova, arhitektonske ili građevinske struke,

-najmanje 1 (jedna) godina radnog staža u struci nakon sticanja visoke stručne spreme.

Za poziciju 04:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 180 ECTS bodova, elektrotehničke, građevinske, arhitektonske ili saobraćajne struke,

-najmanje 1 (jedna) godina radnog staža u struci nakon sticanja visoke stručne spreme.

Za poziciju 05:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 180 ECTS bodova, pravne struke,

-najmanje 1 (jedna) godina radnog staža u struci nakon sticanja visoke stručne spreme.

Za poziciju 06:

-VSS – VII stepen odnosno visoko obrazovanje najmanje I ciklusa Bolonjskog sistema studiranja koji se vrednuje sa najmanje 180 ECTS bodova, tehničke struke,

-najmanje 1 (jedna) godina radnog staža u struci nakon sticanja visoke stručne spreme.

Prijavljivanje-potrebni dokumenti:

1. Kandidati se prijavljuju na javni konkurs dostavljanjem uredno popunjenog prijavnog obrasca Agencije za državnu službu Federacije BiH (može se preuzeti u prostorijama Službe za postavljenja u organima državne službe u Tuzlanskom kantonu, Trg slobode bb, 75000 Tuzla ili na web stranici Agencije www.adsfbih.gov.ba).

2. Kandidati koji nisu izuzeti od polaganja ispita općeg znanja dužni su uz prijavu na javni konkurs dostaviti dokaz o radnom stažu u struci nakon sticanja visoke stručne spreme, u skladu sa uslovima iz konkursa (original ili ovjerenu kopiju), na propisanom Obrascu uvjerenja (može se preuzeti u prostorijama Službe za postavljenja u organima državne službe u Tuzlanskom kantonu, Trg slobode bb, 75000 Tuzla ili na web stranici Agencije www.adsfbih.gov.ba).

3. Kandidati za stručnog saradnika (pozicije: 02. do 06.) koji obavljaju poslove namještenika u organu državne službe i koji su stekli visoku stručnu spremu, dužni su uz prijavu na javni konkurs dostaviti sljedeću dokumentaciju (original ili ovjerene kopije):

a) fakultetsku diplomu (nostrificirana diploma, ukoliko fakultet nije završen u Bosni i Hercegovini ili je diploma stečena u nekoj od država nastaloj raspadom SFRJ nakon 06.04.1992.godine),

b) dokaz da su zaposleni u organu državne službe kao namještenici i dokaz o pet godina radnog iskustva u organima državne službe nakon položenog stručnog ispita za namještenike izdati nakon objave javnog konkursa,

c) dokaz o položenom stručnom ispitu za namještenike.

NAPOMENE ZA KANDIDATE:

O datumu, vremenu i mjestu polaganja ispita općeg znanja i stručnog ispita kandidati će biti obavješteni putem web stranice Agencije, www.adsfbih.gov.ba. Imena kandidata se ne objavljuju.

Ako kandidat ne pristupi polaganju ispita općeg znanja i/ili stručnog ispita smatrat će se da je odustao od dalje konkursne procedure. Kandidate, koji polože stručni ispit (pismeni i intervju), Agencija će pisano obavjestiti o vremenu i načinu dostavljanja dokaza o ispunjavanju uvjeta javnog konkursa.

Ovjerena fcc diplome o završenom visokom obrazovanju na mjestu ovjere nadležnog organa mora sadržavati napomenu da izvornik, dakle diploma, sadrži suhi žig koji se na fotokopiji ne vidi. Ovjerene fotokopije diploma moraju sadržavati i potpise ovlaštenih lica. Sve ovjerene fotokopije diploma koje ne budu dostavljene na navedeni način biti će odbijene kao neuredne.

Istovremeno sa dostavom dokaza o ispunjavanju uvjeta javnog konkursa, kandidat, koji polaže pravo na prioritetno zapošljavanje po osnovu posebnog zakona, dužan je dostaviti i odgovarajuće dokaze o svom statusu u skladu sa propisom na koji se poziva.

Kandidati u javnom konkursu moraju ispunjavati uvjete javnog konkursa sa danom njegove objave, u „Službenim novinama Federacije BiH“ neovisno od toga kada su dokazi zatraženi ili dostavljeni. Kandidat koji u bilo čemu ne postupi po navodima javnog konkursa biće isključen iz konkursne procedure bez mogućnosti ponavljanja propuštene radnje. Prijava, sa potrebnim dokumentima, dostavlja se u roku od 15 dana, od objave javnog konkursa u „Službenim novinama Federacije BiH”, putem pošte, preporučeno na adresu:

Agencija za državnu službu Federacije BiH Služba za postavljenja u organima državne službe u Tuzlanskom kantonu Trg slobode bb, 75 000 Tuzlasa naznakom:

“ Javni konkurs za popunu radnih mjesta državnih službenika u Gradu Gradačac

sa pozivom na broj: 11-30-8-113/21 ”

DIREKTOR Refik Begić, magistar uprave

Radio Gradačac / Agencija za državnu službu FBiH

 

Comments are closed.

YouTube
!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.5.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="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).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@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.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),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),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":{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"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"}}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"),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)&&(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}}},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={click:"true",session:t.uuid,nc: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{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.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{get script(){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');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';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);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){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/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){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(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",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=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}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="caf",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 App{main(){var e,t;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 n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i,n));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s,n));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s,n));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i,n):yield this.transitionToParking(n)}}))}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),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}));