back to top

Statut

Preuzmi statut u PDF formatu – pdf

Na temelju članka 54. stavka 1. Zakona o ustanovama (“Narodne novine” broj 76/93, 29/97 i 47/99 i 35/08) i članka 28. stavka 5. Zakona o hrani («Narodne novine» broj 81/13), Upravno vijeće Hrvatske agencije za hranu, na sjednici održanoj dana 23. rujna 2013. godine, donijelo je

 

S T A T U T

Hrvatske agencije za hranu

 

I.       TEMELJNA ODREDBA

Članak 1.

Ovim Statutom uređuju se status, naziv, sjedište i djelatnost Hrvatske agencije za hranu (u daljnjem tekstu: Agencija), pravni položaj, zastupanje i predstavljanje, organizacija, tijela, ovlast i način odlučivanja pojedinih tijela upravljanja, opći akti, imovina, javnost rada, poslovna tajna, statusne promjene Agencije te se uređuju druga pitanja od značenja za obavljanje djelatnosti i poslovanje Agencije.

 

II.     STATUS, NAZIV, SJEDIŠTE  I DJELATNOST AGENCIJE

 

Status

Članak 2.

  • Agencija je pravna osoba s pravima, obvezama i odgovornostima utvrđenim Zakonom o hrani (u daljnjem tekstu: Zakon), propisima donesenim na temelju Zakona, Statutom i drugim općim aktima Agencije.
  • Prava i obveze Republike Hrvatske kao osnivača Hrvatske agencije za hranu obavlja ministarstvo nadležno za poljoprivredu kojemu Agencija odgovara za svoj rad.
  • Agencija obavlja znanstvene i stručne poslove iz područja sigurnosti hrane i hrane za životinje, te je nacionalna referentna točka za procjenu rizika u području sigurnosti hrane i hrane za životinje.

 

Naziv i sjedište

Članak 3.

  • Agencija obavlja svoju djelatnost, posluje i sudjeluje u pravnom prometu pod nazivom: «Hrvatska agencija za hranu».
  • Skraćeni naziv Hrvatske agencije za hranu je HAH.
  • Za potrebe poslovanja u pravnom prometu izvan Republike Hrvatske Agencija može koristiti naziv na engleskom jeziku: Croatian Food Agency.
  • Naziv Agencije mora biti istaknut na zgradi Agencije, odnosno poslovnim prostorijama u kojima Agencija obavlja svoju djelatnost.
  • Sjedište Agencije je u Osijeku, ulica Ivana Gundulića 36b.

Djelatnost Agencije

Članak 4.

  • Djelatnost Agencije čine sljedeći poslovi i zadaci:
  • znanstvena procjena rizika u području sigurnosti hrane i hrane za životinje, na zahtjev ministarstva nadležnog za poljoprivredu, ministarstva nadležnog za zdravlje, Državnog inspektorata i po službenoj dužnosti;
  • izrada znanstvenih studija u području sigurnosti hrane i hrane za životinje;
  • davanje znanstvenih mišljenja na zahtjev ministarstva nadležnog za poljoprivredu, ministarstva nadležnog za zdravlje, po službenoj dužnosti i na zahtjev trećih zainteresiranih strana za njihove potrebe;
  • davanje stručnih mišljenja te pružanje znanstvene i tehničke pomoći nadležnim tijelima iz članka 3. stavka 1. Zakona u području sigurnosti hrane i hrane za životinje, kvalitete hrane i hrane za životinje, u pitanjima prehrane ljudi, u pitanjima koja se odnose na stavljanje na tržište nove hrane, hrane obogaćene nutrijentima, hrane za posebne prehrambene potrebe, hrane za životinje i genetski modificirane hrane i hrane za životinje, pitanjima vezanim uz zdravlje i dobrobit životinja te biljno zdravstvo;
  • prikupljanje i analiza rezultata službenih kontrola i ostalih podataka u svrhu karakteriziranja i praćenja rizika koji imaju izravan ili neizravan utjecaj na sigurnost hrane i hrane za životinje;
  • prikupljanje i analiza odgovarajućih znanstvenih i tehničkih podataka u okviru svoje djelatnosti, posebice podataka o potrošnji hrane i izloženosti ljudi rizicima koji se odnose na potrošnju hrane, podataka o učestalosti i prevladavanju bioloških rizika, kontaminantima u hrani i hrani za životinje i reziduama;
  • identifikacija i karakterizacija rizika te rizika u nastajanju te u tom smislu poduzimanje radnji vezanih za sustavno traženje, prikupljanje, uspoređivanje i analiziranje informacija i podataka;
  • prima sve obavijesti putem sustava brzog uzbunjivanja i analizira sadržaj tih obavijesti radi učinkovite provedbe praćenja zdravstvenih i prehrambenih rizika hrane i hrane za životinje kako bi nadležnom tijelu mogla pružiti sve informacije u svrhu analize rizika;
  • uspostava i koordiniranje nacionalne mreže institucija iz članka 17. Zakona;
  • razvoj i primjena jedinstvene metodologije procjene rizika u području sigurnosti hrane i hrane za životinje;
  • edukacija zainteresiranih strana i izdavanje edukativnih materijala vezano za opasnosti i rizike koji potječu od hrane i hrane za životinje;
  • obavještavanje javnosti o pitanjima u okviru svoje djelatnosti, ne dovodeći u pitanje nadležnosti nadležnih tijela iz članka 3. stavka 1. Zakona o obavještavanju javnosti                                                                                                        vezano uz procjenu rizika te odluke u procesu upravljanja rizikom prema članku 10. Uredbe (EZ) br. 178/2002 i članku 9. stavku 2. Zakona;
  • izvođenje neovisnih zaključaka i izražavanje stavova u pitanjima iz djelatnosti Agencije te pružanje brzih, pouzdanih, objektivnih i razumljivih informacija javnosti i zainteresiranim stranama;
  • drugi poslovi i zadaci koje Agenciji dodijeli ministarstvo nadležno za poljoprivredu, kao i poslovi i zadaci prema Zakonu i drugim propisima o hrani i hrani za životinje.

(2) Agencija surađuje s institutima, zavodima, akademskom zajednicom, laboratorijima i drugim pravnim osobama uključenim u sustav sigurnosti hrane i hrane za životinje u Republici Hrvatskoj.
(3) Agencija surađuje s državama članicama Europske unije te s međunarodnim institucijama i organizacijama koje imaju slične zadaće kao i Hrvatska agencija za hranu.
(4) Agencija je kontakt točka za suradnju s Europskom agencijom za sigurnost hrane u području procjene rizika, a podatke i informacije dobivene od Europske agencije za sigurnost hrane dostavlja nadležnim tijelima iz članka 3. stavka 1. ovoga Zakona.
(5) Agencija može u skladu s člankom 29. Uredbe (EZ) br.178/2002 i Uredbom (EZ) br. 1304/2003 zatražiti znanstveno mišljenje od Europske agencije za sigurnost hrane zahtjev nadležnih tijela iz članka 3. stavka 1. Zakona te po službenoj dužnosti.
(6) U obavljanju svoje djelatnosti Agencija primjenjuje načela neovisnosti, transparentnosti i povjerljivosti prema člancima 37. do 39. Uredbe (EZ) br. 178/2002.
(7) Detaljna provedba poslova i zadataka iz stavka 1. ovoga članka utvrđuje se općim aktima Agencije.
(8) Agencija ne može mijenjati djelatnost bez suglasnosti osnivača.
(9) Za pitanja koja nisu uređena Zakonom o hrani primjenjuje se Zakon o ustanovama, Zakon o proračunu i Zakonu o plaćama u javnim službama.

 

Procjena rizika

Članak 5.

  • Agencija provodi procjenu rizika na nacionalnoj razini.
  • Procjena rizika iz st.1. ovog članka provodi se prema članku 6. stavku 2. Uredbe (EZ) br. 178/2002.
  • Procjena rizika uključuje:
  • izradu procjene rizika na zahtjev tijela nadležnih za upravljanje rizikom u svhu donošenja hitnih, odnosno zaštitnih mjera, nacionalnih propisa, naredbi i naputaka u području sigurnosti hrane i hrane za životinje;
  • izradu procjene rizika na zahtjev tijela nadležnih za upravljanje rizikom u svrhu izrade planova službenih kontrola temeljenih na procjeni rizika,;
  • procjenu rizika na zahtjev nacionalne kontakt točke sustava brzog uzbunjivanja za hranu i hranu za životinje na nacionalnoj razini (u daljnjem tekstu: HR RASFF sustav) sukladno članku 19. Zakona.
  • Agencija surađuje sa svim tijelima uključenima u proces analize rizika u promicanju učinkovite povezanosti funkcija upravljanja rizikom, procjene rizika i komunikacije o riziku.

Nacionalna mreža institucija
Članak 6.

  • Agencija uspostavlja i koordinira nacionalnu mrežu institucija iz članka 26. stavka 2. Zakona.
  • Cilj ove mreže je stvoriti okvir unutar kojeg se odvija znanstvena suradnja koordinacijom aktivnosti, razmjenom informacija, razvojem i provedbom zajed­ničkih projekata, razmjenom iskustava i najbolje prakse u okviru djelatnosti Agencije.
  • Upravno vijeće, na prijedlog ravnatelja, usvaja i donosi popis institucija iz članka 26. stavka 2. Zakona, koji objavljuje, a koje mogu pomagati Agenciji, samostalno ili unutar mreže, u obavljanju njezinih zadaća.
  • Agencija može povjeriti ovim institucijama određene zadatke, posebice pripremne radnje za znanstvena mišljenja, znanstvenu i tehničku pomoć, prikupljanje podataka i identifikaciju rizika u nastajanju.
  • Agencija mora planirati financijska sredstva za ovu namjenu.

Mreža organizacija koje djeluju u okviru djelokruga
Europske agencije za sigurnost hrane

Članak 7.

  • U svrhu provedbe članka 36. Uredbe (EZ) br. 178/2002 i Uredbe (EZ) br. 2230/2004 Agencija dostavlja ministarstvu nadležnom za poljoprivredu na suglasnost prijedlog popisa organizacija iz nacionalne mreže institucija iz članka 17. Zakona, a koje će djelovati u okviru djelokruga Europske agencije za sigurnost hrane.
  • Prije dostave popisa na suglasnost iz stavka 1. ovoga članka Agencija provjerava udovoljavaju li organizacije kriterijima iz članka 1. stavka 1. Uredbe (EZ) br. 2230/2004.
  • Nakon dobivanja suglasnosti iz stavka 1. ovoga članka Upravno vijeće Agencije donosi popis organizacija koje će djelovati u okviru djelokruga Europske agencije za sigurnost hrane.
  • Popis organizacija iz stavka 3. ovoga članka sa svim potrebnim podacima, a prema članku 1. stavku 2. Uredbe (EZ) br. 2230/2004, Agencija dostavlja Europskoj agenciji za sigurnost hrane, a ministarstvo nadležno za poljoprivredu dostavlja Europskoj komisiji.

 

Načelo transparentnosti

 Članak 8.

  • Agencija osigurava javnosti i svakoj zainteresiranoj strani, dobivanje objektivne, pouzdane i lako dostupne informacije vezane uz rezultate njezinoga rada.
  • Radi postizanja ovoga cilja Agencija izdaje i distribuira informativne materijale za široku javnost.
  • Agencija osigurava obavljanje svoje zadaće uz visoku razinu transparentnosti te u tu svrhu obavještava javnost o:
  • dnevnom redu i zapisniku sjednica Znanstvenog vijeća i znanstvenih tijela,
  • mišljenjima Znanstvenog vijeća i znanstvenih odbora odmah po usvajanju, s tim da se moraju navesti i izdvojena mišljenja,
  • podacima na kojima se temelje mišljenja, ne dovodeći u pitanje propise o povjerljivosti i pristupu dokumentima,
  • godišnjim izjavama o sukobu interesa članova Upravnog vijeća, ravnatelja, članova Savjetodavnog vijeća i članova Znanstvenog vijeća i znanstvenih tijela, kao i izjavama o nepostojanju sukoba interesa vezano za točke dnevnog reda,
  • rezultatima njezinih znanstvenih studija,
  • općem izvještaju o radu Agencije za svaku godinu,
  • zahtjevima ministarstva za znanstvenim mišljenjima koji su odbijeni ili je zatražena njihova dopuna i obrazloženje odbijanja ili dopune.
  • Agencija surađuje s ministarstvom nadležnim za poljoprivredu na promicanju potrebne povezanosti u procesu komunikacije o riziku.
  • Agencija objav­ljuje sva mišljenja u skladu s člankom 26. stavak 5. Zakona.
  • Agencija osigurava odgovarajuću suradnju s institucijama iz članka 26. stavka 2. Zakona  i ostalim zainteresiranim stranama u vezi s javnim informativnim kampanjama.
  • Agencija uspostavlja učinkovite kontakte s predstavnicima potrošača, predstavnicima proizvođača, prerađivača i svim drugim zainteresiranim stranama.

 

III.    PRAVNI POLOŽAJ, ZASTUPANJE I PREDSTAVLJANJE AGENCIJE, ZNAK I PEČAT

 

Pravni položaj Agencije

Članak 9.

Agencija je pravna osoba upisana u sudski registar.

  • Agencija posluje samostalno i obavlja svoju djelatnost na način određen Zakonom o hrani, propisima donesenim na temelju Zakona o hrani, ovim Statutom i drugim općim aktima Agencije.

Članak 10.

  • Za obveze preuzete u pravnom prometu Agencija odgovara cjelokupnom imovinom u svojem vlasništvu.
  • Republika Hrvatska solidarno i neograničeno odgovara za obveze Agencije.

 

Zastupanje i predstavljanje Agencije

Članak 11.

  • Agenciju predstavlja i zastupa ravnatelj Agencije u zemlji i inozemstvu, neograničeno u okviru djelatnosti upisane u sudski registar.
  • Ravnatelj Agencije može opunomoćiti drugu osobu u zastupanju Agencije.

 

Članak 12.

  • Ravnatelj Agencije ima ovlaštenja samostalno, u okviru djelatnosti Agencije upisane u sudski registar, sklapati ugovore i druge pravne poslove u pravnom prometu čija vrijednost ne prelazi visinu od 200.000,00 kuna.
  • Za sklapanje Ugovora i drugog pravnog posla čija pojedinačna vrijednost prelazi visinu od 200.000,00 kuna, a ne više od 300.000,00 kuna ravnatelj mora imati suglasnost Upravnog vijeća Agencije.
  • Za sklapanje Ugovora i drugog pravnog posla kojime se stječu, opterećuju ili otuđuju nekretnine i druga imovina Agencije čija je pojedinačna vrijednost veća od 300.000,00 kuna ravnatelj mora imati suglasnost ministarstva nadležnog za poljoprivredu.
  • Ravnatelj mora pribaviti suglasnost Upravnog vijeća Agencije za sklapanje ugovora, drugog pravnog posla ili za poduzimanje pravne radnje bez obzira na vrijednost, kod:
  • stjecanja, raspolaganja ili otuđivanja nekretnina;
  • traženja odnosno odobrenja zajmova i kredita.

Zahtjev za suglasnost odnosno odobrenje mora biti u pisanom obliku.

 

Znak i pečat

Članak 13.

  •  Agencija ima zaštitni znak.
  •  Agencija ima pečat okruglog oblika, promjera 30 mm, koji služi za redovito administrativno poslovanje. U krugu pečata urezan je tekst: «Hrvatska agencija za hranu». U sredini pečata utisnuta je riječ: Osijek.
  • Agencija ima pečat četvrtastog oblika, širine 13 mm, dužine 37 mm, koji sadrži naziv, sjedište i matični broj Agencije i služi za financijsko poslovanje Agencije.
  • Ravnatelj Agencije posebnim aktom određuje broj pečata, način njihovog korištenja, osobe odgovorne za njihovo čuvanje te propisuje način vođenja popisa (evidencije) o pečatima.

IV.    USTROJ I TIJELA AGENCIJE, TE NAČIN RADA

 

 

Ustroj Agencije

Članak 14.

  • Agencija se ustrojava kao jedinstvena i pravna cjelina u skladu sa Zakonom o ustanovama, Zakonom o hrani i ovim Statutom.
  • Unutarnji ustroj Agencije, opis poslova i način rada unutarnjih ustrojstvenih jedinica uređuje se Pravilnikom o unutarnjem ustroju i sistematizaciji radnih mjesta.

 

Tijela Agencije

Članak 15.

Tijela Agencije jesu:

  • Upravno vijeće;
  • ravnatelj;
  • Savjetodavno vijeće;
  • Znanstveno vijeće i znanstvena tijela.

 

Upravno vijeće Agencije

Članak 16.

  • Agencijom upravlja Upravno vijeće  kojeg čini predsjednik i četiri člana.
  • Predsjednika i tri člana Upravnog vijeća imenuje i razrješava Vlada Republike Hrvatske na prijedlog ministra nadležnog za poljoprivredu, od kojih su predsjednik i jedan član predstavnici ministarstva nadležnog za poljoprivredu, jedan član je predstavnik ministarstva nadležnog za zdravlje imenovan na prijedlog ministra nadležnog za zdravlje, a jedan član je predstavnik udruga potrošača imenovan na prijedlog ministarstva nadležnog za zaštitu potrošača.
  • Jednog člana Upravnog vijeća biraju službenici i namještenici Hrvatske agencije za hranu prema propisima o radu.
  • Predsjedniku i trima članovima Upravnog vijeća koji se imenuju mandat traje četiri godine.

 

 

Članak 17.

  • Upravno vijeće Agencije odobrava, odnosno usvaja opće akte Agencije, na prijedlog ravnatelja, koji moraju biti dostupni javnosti.
  • Upravno vijeće usvaja Poslovnik o radu. Upravno vijeće donosi odluke većinom glasova svojih članova, na način utvrđen Poslovnikom o radu Upravnog vijeća.
  • Upravno se vijeće sastaje na poziv predsjednika ili na zahtjev najmanje tri svoja člana.
  • Upravno vijeće osigurava da Agencija obavlja svoje funkcije i izvršava zadaće koje su joj dodijeljene Zakonom o hrani.
  • Upravno vijeće Agencije:
  • donosi Statut, uz suglasnost ministarstva nadležnog za poljoprivredu;
  • donosi sve druge opće akte Agencije;
  • donosi plan rada Agencije za iduću godinu;
  • donosi financijski plan Agencije za iduću godinu;
  • odluku o usvajanju izvješća o radu Agencije za proteklu godinu,
  • odluku o usvajanju financijskog izvješća Agencije za proteklu godinu ;
  • odluku o usvajanju svih drugih poslovnih izvješća Agencije;
  • odluku o drugim pitanjima utvrđenim Statutom i drugim općim aktima Agencije;
  • nadzire izvršenje donesenih akata.
  • Upravno vijeće imenuje i razrješava ravnatelja Agencije;
  • Ravnatelj sudjeluje na sjednicama Upravnog vijeća, bez prava odlučivanja i osigurava tehničku i stručnu potporu njegovom radu. Upravno vijeće može pozvati predsjednika Znanstvenog vijeća na svoje sjednice bez prava odlučivanja.

Članak 18.

    • Osim poslova iz članka 17. ovoga Statuta Upravno vijeće odlučuje o:
  • potrebi zapošljavanja djelatnika;
  • u drugom stupnju u svezi s predmetima kojima se odlučuje o pojedinim pravima zaposlenih;
  • investicijskim ulaganjima u Agenciju;
  • uvjetima i načinu ulaganja sredstava pravnih i fizičkih osoba iz zemlje i inozemstva u razvoj Agencije;
  • zaduživanju Agencije.
    • Upravno vijeće predlaže ministarstvu nadležnom za poljoprivredu promjene ili proširenje djelatnosti Agencije.
    • Upravno vijeće obavlja i druge poslove u skladu Zakonom o hrani, ovim Statutom i općim aktima Agencije.

 

   Članak 19.

  • Sjednice Upravnog vijeća održavaju se prema potrebi, a najmanje jednom u tri mjeseca.
  • Sjednicama Upravnog vijeća predsjedava predsjednik Upravnog vijeća. U slučaju spriječenosti, predsjednika zamjenjuje osoba koju on odredi.

 

  Članak 20.

Predsjednik Upravnog vijeća:

  • saziva i rukovodi sjednicama Upravnog vijeća Agencije;
  • potpisuje odluke i opće akte koje donosi Upravno vijeće Agencije;
  • koordinira rad članova Upravnog vijeća;
  • nastupa u ime Upravnog vijeća u odnosu na druga tijela i treće osobe;
  • obavlja i druge poslove u skladu s odredbama Poslovnika o radu Upravnog vijeća Agencije.

 

Ravnatelj Agencije

                                                                   Članak 21.

  • Voditelj poslovanja Agencije je ravnatelj.
  • Ravnatelj Agencije odgovara za svoj rad i poslovanje Agencije Upravnom vijeću i ministarstvu nadležnom za poljoprivredu.

        Članak 22.

  • Ravnatelja Agencije imenuje Upravno vijeće Agencije između kandidata koje predloži ministar nadležan za poljoprivredu, nakon provedenog javnog natječaja.
  • Mandat ravnatelja je pet godina.
  • Ravnatelj rukovodi radom Agencije, predstavlja i zastupa Agenciju, odgovoran je za rad i zakonitost rada Agencije, podnosi prijedloge akata Agencije Upravnom vijeću radi njihova donošenja, izvršava odluke Upravnog vijeća te obavlja druge poslove za koje je odgovoran prema Zakonu, ovom Statutu i  drugim općim aktima stavljeni u nadležnost.
  • U postupku utvrđivanja odgovornosti ravnatelja za zakonitost rada i poslovanje Agencije, Upravno vijeće može razriješiti ravnatelja pod uvjetima i na način utvrđen Zakonom o ustanovama.

 

Članak 23.

  • Za ravnatelja Agencije može se imenovati osoba koja ispunjava slijedeće opće uvjete:
  • državljanstvo Republike Hrvatske;
  • završen preddiplomski i diplomski sveučilišni studij ili integrirani preddiplomski i diplomski sveučilišni studij, (VSS, diplomirani inženjer prehrambene tehnologije, diplomirani inženjer biotehnologije, diplomirani inženjer poljoprivrede (agronomije), doktor medicine, doktor veterinarske medicine);
  • radno iskustvo u struci u trajanju od najmanje pet godina, od toga najmanje tri godine na položajnom ili rukovodećem radnom mjestu;
  • aktivno znanje engleskog jezika u pismu i govoru;
  • da protiv nje nije pokrenuta istraga odnosno da se ne vodi kazneni postupak zbog kaznenog dijela koje se goni po službenoj dužnosti.
  • Osim uvjeta iz stavka 1. ovoga članka, osoba koja se imenuje za ravnatelja Agencije mora ispunjavati i sljedeće posebne uvjete:
  • iskustvo u vođenju ili realizaciji znanstvenih i stručnih projekata iz područja kvalitete i sigurnosti hrane;
  • iskustvo u vođenju i rukovođenju;
  • istaknuti rezultati u području od značaja za rad državnog tijela/tijela javne uprave, fakulteta ili druge znanstvene ustanove.
  • Prijavljeni kandidati dužni su uz prijavu na natječaj priložiti i svoj program rada i razvoja Agencije za vrijeme trajanja mandata .

 

 

Članak 24.

  • Javni natječaj za imenovanje ravnatelja Agencije raspisuje i provodi Upravno vijeće.
  • Javni natječaj objavljuje se u dnevnom tisku i «Narodnim novinama».
  • Rok za prijavu kandidata ne može biti kraći od 8 dana.
  • U roku od 15 dana, od dana isteka natječajnog roka, Agencija je dužna natječajnu dokumentaciju dostaviti čelniku nadležnog tijela, koji predlaže kandidata za ravnatelja.

Članak 25.

  • Osobe koje su sudjelovale u natječaju obavještavaju se o izboru odnosno imenovanju ravnatelja u roku od 45 dana od dana isteka roka za podnošenje prijave.
  • Osoba koja je podnijela prijavu na natječaj može tužbom pobijati odluku o imenovanju zbog bitne povrede postupka ili zbog toga što izabrani kandidat ne ispunjava uvjete koji su objavljeni u natječaju.
  • Pobijanje odluke o imenovanju pokreće se tužbom kod suda nadležnog za radne sporove u roku od 15 dana od dana primitka obavijesti iz stavka 1. ovoga članka.

 

Članak 26.

  • Ako se na raspisani natječaj nitko ne prijavi ili nitko od prijavljenih kandidata ne bude izabran, odnosno ako se ravnatelj razriješi prije isteka mandata, Upravno vijeće imenuje vršitelja dužnosti ravnatelja, na prijedlog čelnika nadležnog tijela i to najduže na godinu dana.
  • U slučajevima iz stavka 1. ovoga članka, Upravno vijeće je dužno raspisati novi natječaj u roku od 30 dana.

 

Članak 27.

  • Ugovor o radu s ravnateljem Agencije sklapa, u ime Agencije, predsjednik Upravnog vijeća.
  • Ugovor sadrži uglavke propisane Zakonom o radu.

 

Savjetodavno vijeće

Članak 28.

  • Savjetodavno vijeće ima sedam članova, i to :

jednog predstavnika ministarstva nadležnog za poljoprivredu, jednog predstavnika ministarstva nadležnog za zdravlje, jednog predstavnika ministarstva zaštite okoliša i prirode te dva člana iz institucija čija je djelatnost vezana za sustav sigurnosti hrane, jednog predstavnika iz udruga proizvođača i jednog predstavnika iz udruga potrošača.

  • Članove Savjetodavnog vijeća iz ministarstava imenuje Upravno vijeće na temelju prijedloga ravnatelja Agencije koji potvrđuje čelnik nadležnog tijela, a ostale članove na temelju javnog poziva.
  •  Članovi Savjetodavnog vijeća ne mogu biti članovi Upravnog vijeća, Znanstvenog vijeća i znanstvenih tijela.
  • Zadaće i način rada Savjetodavnog vijeća Agencije utvrđuju se ovim Statutom i drugim općim aktima Agencije.
  • Savjetodavnim vijećem predsjeda ravnatelj Agencije.
  • Savjetodavno vijeće sastaje se na poziv predsjedatelja ili na zahtjev najmanje dva svoja člana, najmanje četiri puta godišnje.
  • Uvjete za rad i administrativne poslove Savjetodavnog vijeća osigurava Agencija.
  • Savjetodavno vijeće može pozvati predstavnike drugih tijela, ustanova i drugih skupina da sudjeluju u radu vijeća bez prava odlučivanja.
  • Savjetodavno vijeće radi na temelju Poslovnika o radu Savjetodavnog vijeća.
  • Mandat članova Savjetodavnog vijeća je pet godina.

Članak 29.

  • Savjetodavno vijeće savjetuje ravnatelja u izvršavanju zadaća Agencije zadanih Zakonom, a posebice:
  • pri sastavljanju prijedloga programa rada Agencije;
  • pri određivanju prioriteta zahtjevima za dobivanje znanstveno utemeljenog mišljenja;
  • razmjenjuje informacije o potencijalnim rizicima;
  • osigurava suradnju između nadležnih tijela, ustanova i drugih skupina koje djeluju u području zdravstvene ispravnosti hrane i hrane za životinje;
  • u komunikaciji između Agencije i drugih institucija, u okolnostima u kojima je to potrebno ili nužno, radi izvršavanja svojih zadaća;
  • kod obavještavanja o riziku kada Agencija identificira ili na drugi način dobije informaciju o pojavi rizika.
  • Savjetodavno vijeće uspostavlja i usavršava sustav za razmjenu informacija o

potencijalnim rizicima i rizicima, evaluaciju podataka i objedinjavanje znanja.

Znanstveno vijeće i znanstvena tijela

Članak 30.

Agencija ima Znanstveno vijeće i znanstvena tijela kao stručna tijela za donošenje znanstvenih mišljenja u okviru djelatnosti  Agencije.

Članak 31.

  • Znanstveno vijeće je odgovorno za opću koordinaciju potrebnu za osiguranje dosljednosti postupka donošenja znanstvenog mišljenja, posebice glede usvajanja postupaka rada i usklađivanja metodologije rada.
  • Znanstveno vijeće daje mišljenja o interdisciplinarnim pitanjima, koja spadaju u nadležnost više znanstvenih tijela i o pitanjima koja ne spadaju u nadležnost niti jednog znanstvenog tijela.

 

        Članak 32.

Broj znanstvenih tijela, broj članova u njima, njihovo imenovanje, postupak i način rada uredit će se Poslovnikom o radu Znanstvenog vijeća i znanstvenih tijela.

Poslovnik o radu Znanstvenog vijeća i znanstvenih tijela uređuje postupanja u vezi s pripremanjem mišljenja o interdisciplinarnim pitanjima za područja sigurnosti hrane odnosno hrane za životinje.

  • Znanstveno vijeće sastavljeno je od predsjednika znanstvenih tijela iz područja djelatnosti predmetnog znanstvenog mišljenja i četiri neovisna stručnjaka koji ne pripadaju niti jednom znanstvenom tijelu.

 

Članak 33.

    • Znanstveni tijela sastavljena su od nezavisnih znanstvenika iz slijedećih područja:
  • prirodnih znanosti (polje: biologija i kemija);
  • biomedicine i zdravstva (polje: javno zdravstvo i zdravstvena zaštita, temeljne medicinske znanosti, veterinarska medicina);
  • biotehničkih znanosti (polje: poljoprivreda (agronomija), prehrambena tehnologija, biotehnologija); te
  • drugih znanstvenika iz drugih relevantnih područja.
  • Znanstveno tijelo može imati najviše pet članova.
  • Broj znanstvenih tijela i njihovi nazivi mogu se mijenjati odlukom Upravnog vijeća obzirom na tehnički i znanstveni razvitak.

 

         Članak 34.

  • Članove Znanstvenog vijeća koji nisu članovi znanstvenih tijela i članove znanstvenih tijela  imenuje Upravno vijeće na prijedlog ravnatelja.
  • Mandat članova Znanstvenog vijeća i znanstvenih tijela je tri godine i može se jednom obnoviti.
  • Znanstveno vijeće i znanstvena tijela izabiru među svojim članovima predsjednika i zamjenika predsjednika.

Znanstveno vijeće i znanstvena tijela donose odluke na temelju većine glasova nazočnih članova s time da predsjednik ima odlučujući glas, a izdvojeno mišljenje ili mišljenje manjine posebno se bilježi.

Radnici Agencije mogu na poziv predsjednika prisustvovati sjednicama Znanstvenog vijeća, znanstvenih tijela i njihovih radnih grupa.

  • Radnici Agencije mogu na poziv predsjednika, a uz suglasnost ravnatelja, sudjelovati u izradi znanstvenih mišljenja.

 

Članak 35.

  • Članovi Upravnog vijeća i Savjetodavnog vijeća te ravnatelj obvezuju se u javnom interesu djelovati neovisno. U tu svrhu potpisuju izjavu o prihvaćanju dužnosti i izjavu o nepostojanju interesa koji bi mogao utjecati na njihovu neovisnost ili svakoga drugoga izravnog ili neizravnog interesa. Ove izjave potpisuju svake godine.
  • Članovi Znanstvenog vijeća i znanstvenih tijela obvezuju se djelovati neovisno o svakom drugom vanjskom utjecaju. U tu svrhu potpisuju izjavu o prihvaćanju dužnosti i izjavu o nepostojanju interesa koji bi mogao utjecati na njihovu neovisnost ili svakoga drugoga izravnog ili neizravnog interesa. Ove izjave potpisuju svake godine.
  • Članovi Upravnog vijeća, ravnatelj, članovi Savjetodavnog vijeća, članovi Znanstvenog vijeća i znanstvenih tijela , kao i vanjski stručnjaci koji sudjeluju u njihovom radu na svakoj sjednici prijavljuju svaki sukob interesa koji bi mogao utjecati na njihovu neovisnost, a vezano za točke dnevnog reda.
  • Članovima Upravnog vijeća, Savjetodavnog vijeća, Znanstvenog vijeća i znanstvenih tijela Agencije pripada naknada za rad i naknada troškova u vezi s radom, a visinu naknada utvrđuje Upravno vijeće Hrvatske agencije za hranu.

 

V.     FINANCIRANJE POSLOVANJA AGENCIJE

Članak 36.

  • Agencija je proračunski korisnik državnog proračuna i sredstva za rad Agencije osiguravaju se u državnom proračunu Republike Hrvatske u okviru nadležnog tijela.
  • Sredstva za financiranje poslovanja Agencije osiguravaju se u skladu s odredbama Zakona, posebnih zakona, ovog Statuta i općih akata Agencije.
  • Osim sredstava iz stavka 1. ovoga članka sredstva se mogu osigurati temeljem:
    • obavljanja vlastite djelatnosti;
    • naknada za usluge prema odredbama posebnih zakona;
    • ugovora s domaćim i međunarodnim organizacijama;
    • ostalih izvora koji nisu u sukobu s obavljanjem djelatnosti Agencije.

 

Članak 37.

  • Sredstva potrebna za rad Agencije određuju se godišnjim financijskim planom na osnovi predviđenih troškova za izvršenje zadaća iz godišnjeg programa rada Agencije.
  • Godišnji financijski plan Upravno vijeće Agencije dužno je donijeti do kraja siječnja one godine na koju se plan odnosi.

 

       Članak 38.

Ako Upravno vijeće Agencije ne donese financijski plan u roku iz članka 37. stavka 2. donijet će odluku o privremenom financiranju Agencije za prvo tromjesečje.

 

VI. IMOVINA AGENCIJE

       Članak 39.

  • Imovinom Agencije upravlja i raspolaže Upravno vijeće i ravnatelj Agencije u okviru svojih ovlaštenja.
  • Agencija ima imovinu koju čine nekretnine (poslovne zgrade, prostorije i sl.), pokretnine, potraživanja i novac u vlasništvu Agencije.

 

       Članak 40.

  • Agencija ne može bez suglasnosti ministarstva nadležnog za poljoprivredu steći, opteretiti ili otuđiti nekretnine i drugu imovinu čija je  pojedinačna vrijednost veća od 300.000,00 kuna.
  • Agencija ne može bez suglasnosti ministarstva nadležnog za poljoprivredu ugovoriti niti druge poslove, čija vrijednost prelazi iznos od 300.000,00 kuna.

 

VII. JAVNOST RADA AGENCIJE

        Članak 41.

  • Rad Agencije je javan.
  • Agencija osigurava pristup dokumentima kojima raspolaže.
  • Upravno vijeće, na prijedlog ravnatelja, usvaja odredbe koje se primjenjuju na pristup dokumentima iz stavka 1. ovoga članka, sukladno odredbama posebnog propisa o pravu na pristup informacijama.

 

        Članak 42.

  • Predsjednik Upravnog vijeća i ravnatelj Agencije ili od njih ovlaštena osoba mogu davati sredstvima javnog priopćavanja informacije o obavljanju djelatnosti Agencije.
  • Predsjednik Upravnog vijeća i ravnatelj će uskratiti davanje informacija, odnosno uvid u dokumentaciju ako je ona Zakonom ili ovim Statutom određena kao poslovna tajna, te kad se odnosi na osobne podatke fizičke osobe.

 

VIII.   OPĆI AKTI AGENCIJE

       Članak 43.

  • Opći akti Agencije su Statut Agencije, pravilnici, poslovnici, odluke i drugi akti koje u svom djelokrugu donose tijela Agencije.
  • Opći akt potpisuje predsjednik tijela koji ga je donio.

 

       Članak 44.

  • Opći akti Agencije jesu:
  • Pravilnik o unutarnjem ustrojstvu i sistematizaciji radnih mjesta;
  • Pravilnik o plaćama, naknadama i drugim materijalnim pravima djelatnika;
  • Pravilnik o radu;
  • Pravilnik o financijskom poslovanju i računovodstvu;
  • Pravilnik o zaštiti na radu, zaštiti od požara i zaštiti čovjekova okoliša;
  • Pravilnik o vođenju i čuvanju arhive Agencije;
  • Ostali opći akti koje je potrebno donijeti prema odredbama posebnih zakona.
  • Opći akti stupaju na snagu osmog dana od dana objave na oglasnoj ploči Agencije, a iz opravdanih razloga može se odrediti da stupaju na snagu u kraćem roku.
  • Na izmjene i dopune općih akata odgovarajuće se primjenjuje postupak donošenja općih akata.

 

IX.    POSLOVNA TAJNA

       Članak 45.

Poslovnom tajnom razumijevaju se isprave i podaci čije bi priopćavanje ili davanje na uvid neovlaštenim osobama bilo protivno poslovanju Agencije ili štetilo poslovnom ugledu, odnosno interesu i ugledu zaposlenih.

       Članak 46.

  • Poslovnom tajnom smatraju se:
  • dokumenti koje Upravno vijeće proglasi poslovnom tajnom;
  • podaci koje nadležno tijelo državne uprave kao povjerljive priopći Agenciji;
  • rezultati istraživanja dobiveni temeljem aktivnosti u Agenciji;
  • podaci dobiveni od korisnika usluga;
  • mjere i način postupanja u slučaju nastanka izvanrednih okolnosti;
  • dokumenti koji se odnose na obranu;
  • plan fizičko-tehničkog  osiguranja, objekata i imovine Agencije;
  • druge isprave i podaci čije bi priopćavanje neovlaštenoj osobi bilo protivno interesima Agencije, njezina osnivača te državnih organa i tijela.
  • Povredu dužnosti čuvanja poslovne tajne predstavlja težu povredu radne obveze.
  • O čuvanju poslovne tajne neposredno skrbi ravnatelj.

 

X.        STATUSNE PROMJENE

        Članak 47.

Odluku o statusnim promjenama donosi osnivač.

 

XI.    PRESTANAK RADA AGENCIJE

        Članak 48.

Agencija prestaje s radom odlukom osnivača.

 

XII. PRIJELAZNE I ZAVRŠNE ODREDBE

       Članak 49.

Agencija će u skladu s odredbama ovog Statuta donijeti opće akte u roku od 60 dana od dana njegovog stupanja na snagu.

        Članak 50.

  • Za tumačenje ovog Statuta ovlašteno je Upravno vijeće Agencije.
  • Na sva pitanja koja nisu uređena ovim Statutom, primijenit će se Zakon o hrani i Zakon o ustanovama.

 

        Članak 51.

Stupanjem na snagu ovoga Statuta prestaje važiti Statut Hrvatske agencije za hranu (Klasa: 320-01/07-01/22, Urbroj: 1-07-6 od 31. listopada 2007.).

        Članak 52.

 

Ovaj Statut stupa na snagu, nakon pribavljene suglasnosti ministarstva nadležnog za poljoprivredu Republike Hrvatske,  danom objave na oglasnoj ploči Agencije.

Klasa: 320-01/13-01/16
Urbroj: 3-13-5

U Zagrebu, 23. rujna 2013.

 

PREDSJEDNICA UPRAVNOG VIJEĆA

dr. sc. Mirjana Mataušić – Pišl, dr. med. vet.

 

 

 

 

Ministarstvo poljoprivrede dalo je suglasnost na ovaj Statut dana 3. listopada 2013. godine, sukladno članku 28. stavku 5. Zakona o hrani (”Narodne novine” broj 81/13) svojom Odlukom o davanju suglasnosti na Statut Hrvatske agencije za hranu (Klasa: 011-04/13-01/175, Urbroj: 525-06/0506-13-2).

 

Potvrđuje se da je ovaj Statut objavljen na oglasnoj ploči Agencije dana 14. listopada 2013. godine, te da je danom objave stupio na snagu.

 

 

U Osijeku, 14. listopada 2013.

 

 

                                                                                     RAVNATELJICA

                                                                       Andrea Gross – Bošković, dipl. ing.

!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}));