Skip to content
Home » 다크웹 크롤링 | 다크웹 크롤링 답을 믿으세요

다크웹 크롤링 | 다크웹 크롤링 답을 믿으세요

당신은 주제를 찾고 있습니까 “다크웹 크롤링 – 다크웹 크롤링“? 다음 카테고리의 웹사이트 hu.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://hu.taphoamini.com/photos. 바로 아래에서 답을 찾을 수 있습니다. 작성자 윤재원 이(가) 작성한 기사에는 조회수 3회 및 좋아요 없음 개의 좋아요가 있습니다.

다크웹 크롤링 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 다크웹 크롤링 – 다크웹 크롤링 주제에 대한 세부정보를 참조하세요

창의작품경진대회 동영상

다크웹 크롤링 주제에 대한 자세한 내용은 여기를 참조하세요.

다크웹 크롤러를 사용한 악성코드 탐지 및 분석

특히 다크웹상 여러. 서비스들은 크롤러 bot과 같은 정보 수집을 막고자 다양한 기법을 적용하고 있다. 따라서 우리는 기존의 연구 방법에 따라 다크웹 상의 URL을 수집한 …

+ 자세한 내용은 여기를 클릭하십시오

Source: manuscriptlink-society-file.s3-ap-northeast-1.amazonaws.com

Date Published: 9/21/2021

View: 8422

[보고서]다크웹 스캐닝 기술 기반의 정보 수집·분석 시스템 개발

키워드, 다크웹 크롤링.범죄 프로파일링.암호화폐 분석.익명화서비스.암호화폐 믹싱.darkweb crawling.crime profiling.cryptocurrency analysis.anonymous …

+ 여기를 클릭

Source: scienceon.kisti.re.kr

Date Published: 8/27/2022

View: 2684

DarkWeb Research [1] – intadd

1차적으로 다크웹 크롤러가 완성되었습니다. !! (완성은 옛날에 했지만 글은 지금씁니다. 선 개발, 후 리포트 ㅋㅋ) 생각보다 잘 작동하는것 같습니다 …

+ 여기에 자세히 보기

Source: intadd.tistory.com

Date Published: 3/21/2022

View: 1042

[디지털피디아] 다크웹(Dark Web) – 디지털투데이

서피스웹은 일반적인 웹으로 검색엔진에 의해 색인(Indexing)된 콘텐츠들로 구성된다. 이와 달리 딥웹은 웹크롤러(Web Crawler)에 탐지되지 않는 웹으로 …

+ 자세한 내용은 여기를 클릭하십시오

Source: www.digitaltoday.co.kr

Date Published: 11/30/2022

View: 2595

다크웹 크롤링 엔진 개발기 – Speaker Deck

https://github.com/bunseokbot/darklight 2019 SSG 빵빵빵 내부 세미나 발표용.

+ 여기에 자세히 보기

Source: speakerdeck.com

Date Published: 4/29/2021

View: 7677

[파이썬으로 웹 크롤러 만들기] 크롤링 시작하기(2/3)

3.2 전체 사이트 크롤링 이전 섹션에서는 링크에서 링크로 움직이며 웹 … 딥 웹deep Web, 다크 웹dark Web, 히든 웹hden Web 같은 용어를 최근 …

+ 여기에 표시

Source: www.hanbit.co.kr

Date Published: 3/3/2022

View: 3493

다크웹 데이터를 공개합니다

DarkLight를 통해 다크웹에서 수집한 데이터를 여러분들께 공개합니다. … 제가 다크웹에서 크롤링 한 데이터를 세상에 공개합니다.

+ 자세한 내용은 여기를 클릭하십시오

Source: iam.namjun.kim

Date Published: 3/12/2021

View: 5657

다크웹 무엇? Dark web – 네이버 블로그

이와 상대되는 개념이 ‘딥 웹(Deep Web)’이다. 웹페이지를 찾아다니는 웹 크롤러에 의해 걸리지 않아 검색 등으로는 접근이 어려운 웹을 말한다. 딥 웹 …

+ 여기를 클릭

Source: m.blog.naver.com

Date Published: 11/15/2021

View: 8603

다크 웹의 정의와 이를 둘러싼 여러 가지 이슈 – ITWorld

소유주가 웹 크롤러가 인덱싱하지 못하도록 차단한 콘텐츠도 포함한다. 의료 기록, 유료 콘텐츠, 회원 웹 사이트 및 기밀 기업 웹 페이지는 딥 웹을 구성 …

+ 여기를 클릭

Source: www.itworld.co.kr

Date Published: 9/18/2022

View: 1823

주제와 관련된 이미지 다크웹 크롤링

주제와 관련된 더 많은 사진을 참조하십시오 다크웹 크롤링. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

다크웹 크롤링
다크웹 크롤링

주제에 대한 기사 평가 다크웹 크롤링

  • Author: 윤재원
  • Views: 조회수 3회
  • Likes: 좋아요 없음
  • Date Published: 2022. 6. 5.
  • Video Url link: https://www.youtube.com/watch?v=FRa2MzdtbaY

[보고서]다크웹 스캐닝 기술 기반의 정보 수집·분석 시스템 개발

안내

> 총 건의 자료가 검색되었습니다. > 다운받으실 자료의 인덱스를 입력하세요. (1-10,000) > 검색결과의 순서대로 최대 10,000건 까지 다운로드가 가능합니다. > 데이타가 많을 경우 속도가 느려질 수 있습니다.(최대 2~3분 소요) > 다운로드 파일은 UTF-8 형태로 저장됩니다. 파일의 내용이 제대로 보이지 않을실 때는 웹브라우저 상단의 보기 -> 인코딩 -> 자동선택 여부를 확인하십시오 > ~ > Text(ASCII format)

Excel format

DarkWeb Research [1]

1차적으로 다크웹 크롤러가 완성되었습니다. !!

(완성은 옛날에 했지만 글은 지금씁니다. 선 개발, 후 리포트 ㅋㅋ)

생각보다 잘 작동하는것 같습니다.

Q 무엇을

.onion 크롤러를 만들었습니다. (데이터 수집), 수집한 데이터를 보여주는 웹도 만들었습니다.

Q 어떻게

Python3 + tor 등을 이용해서 만들었습니다. (자세한 python3 모듈은 코드 참고)

ubuntu(16) server 2개를 사용했습니다. 크롤러 1개 데이터 저장 1개

Q 왜

bunseokbot 선배가 토르 크롤러 엔진을 개발했는데, 보다 보니 흥미가 생겨서 엔진은 아닌 단순 크롤러 코드를 작성해봤습니다.

output

메인 페이지 상단 화면 메인 페이지 하단 화면 report page 화면

탐지에 관한 간략한 설명

탐지 방법은 키워드 기반의 탐지입니다.

‘음란물, 호스팅, 해킹, 마약, 비트코인, 위변조, 모바일, 살인, 무기’를 기준으로 카테고라이징 했습니다.

가장 먼저 한 것 . 위의 9가지 카테고리의 관련 단어를 수집했습니다. (영어)

마약 – 마약 이름1,마약 이름2, 관련단어 등등

호스팅 – 서버, ram, 관련단어 등등

….

관련 단어를 일일이 수집하기 힘들기 때문에 relatedwords.org 를 이용하면 됩니다.

Parsing 할 때는 https://relatedwords.org/api/related?term=[word]

반환 값이 dict 형태이고 얼마나 연관되어 있는지까지 정보(score)를 제공하기 때문에

Score를 통해 관련성을 높일 수 있었습니다.

(혹시 모르니, 결과 값들은 연관단어가 맞는지 확인이 필요합니다.)

간단하게 작성한 relatedwords.org parsing 코드 + 실행화면

(라인이 15줄 + 코드 복사 귀찮아서 캡처한 정성)

두 번째 키워드들의 언어팩을 만듭니다.

사이트 자체가 영어가 아닌 다른 언어로 구성되어있을 수 있기 때문에 한국어, 중국어, 일본어, 러시아어 등등의 언어팩을 만들기로 했습니다.

저는 papago.naver.com 을 분석? 해서 간단하게 api를 짜면 쉽게 언어팩을 만들 수 있습니다.

(이 코드는 공개 X)

위와 같은 방법으로 탐지 키워드들을 구성했습니다.

번역이 잘 안된 것들도 있지만 그냥 진행했습니다.

세 번째 토르 네트워크에서 파씽할 데이터를 어디서 가져올지 고민하기 (데이터 수집 경로)

저는 토르 네트워크에 존재하는 검색엔진을 이용했습니다.

torSearch, ahmia 등등의 검색엔진을 파씽하여 원하는 카테고리를 검색한 뒤, 결과들을 종합하여

첫 수집 데이터로 사용했습니다.

(검색엔진을 분석한다 == 파씽을 하기 위해 분석한다.)

기타 등등

그 다음은 수집한 URL 들에서 다른 URL들을 찾아내고 request를 보낸 후 상태코드, header, html 코드를 가져온다.

이후 언어를 분석하는 모듈에 넣어주고, 언어에 맞는 정규식(언어팩)을 통해 카테고라이징한다. html 코드속 태그를 먼저 확인 한 후 정규식에 해당하지 않으면 html 코드 중 텍스트만 추출하여 한번 더 검사한다.</p> <p>카테고리 + 키워드 탐지 +언어</p> <p>소스코드</p> <p>https://github.com/intadd/Darkup</p> <p>끝.</p> <p>후기 및 생각</p> <p>그냥 가볍게 시작한 플젝이라 즐기면서 할려고 했지만,</p> <p>즐기기에는 어려운 점이 많았다.</p> <p>세상에는 혼종이 많다.</p> <p>(정신 적으로 좀 아팠음)</p> <p>공부 얘기 부터 하자면,</p> <p>삽질도 많이하고 개인적으로 진짜 재미있었던 플젝 이었습니다.</p> <p>python 으로 tor 프록시 타는법 (requests, 소켓등)은 앞으로 유용하게 사용할것 같습니다.</p> <p>개발 진행하면서 만났던 문제들</p> <p>1. 크롤링을 안당할려고 한건지.. 아니면 어떠한 이유로 그렇게 개발한지는 모르겠으나.</p> <p>소스코드가 일부분 인코딩 되어 있었다.</p> <p>형식을 완전히 맞춘 인코딩도 아니었다</p> <p>예를들어</p> <p>‘가나다’ –> ‘가\uxxx\uxxx’ 이런 식으로 한글자 혹은 두글자만 인코딩 되어 있었다.</p> <p>이게 html 라인 1개당 1~2개 정도는 있었다.</p> <p>이 문제가 왜 문제가 되냐면, txt 읽어서 언어확인하는 모듈로 가면</p> <p>모듈이 에러를 토하면서 왜 이런 쓰레기를 넣었냐고 화를 내고 욕을 하기 때문이다.</p> <p>때문에 정규식으로 제거했다. 제거 + .decode(errors=”ignore”)</p> <p>2. TCP 소켓 Port 의 자원</p> <p>이 문제는 정말 상상도 못했다.</p> <p>일반적으로 파써 및 크롤러을 만들 때 전혀 만나보지 못한 에러였고,</p> <p>에러 내용으로 port 자원 문제라고 유추하는 것도 어려웠다.</p> <p>에러를 캡처를 못해놔서 어떤 에러인지 정확히는 기억이 안나는데</p> <p>대충 connection pool 이였던것 같다.</p> <p>requests를 요청할 때 tor network으로 연결을 한다.</p> <p>이때 TCP를 통해서 proxy 연결을 하는데 연속해서 많은 요청을 하다보니까</p> <p>이러한 상태로 되어 버렸다. (TIME_WAIT)</p> <p>9050은 토르 porxy 포트</p> <p>이것은 TCP port 자원을 변경해 주거나 time wait 주기 변경 혹은 재사용 등을 설정하면 되는데,</p> <p>구글에 검색하면 잘 나온다.</p> <p>TCP time wait 라고 검색하면 쉽게 해결 할 것이다. (방법은 몇개 안되는데 잘 읽어보고 해결하면 될 것 같다)</p> <p>나는 이렇게 해결을 한 것같다.</p> <p>3. 카테고라이징이 안되는 문제</p> <p>이건 아직 해결을 못했고, 해결이 안될 것 같다. 어찌 보면, 키워드 기반의 한계라고 생각한다.</p> <p>내가 분류한 카테고리중 redroom 이라는 카테고리가 있는데 tor 네트워크에서는 잔인한? 좀 징그러운?</p> <p>자료들을 올리고 공유하는 곳이다.</p> <p>redroom 은 일단 검색엔진을 통해 찾기도 힘들고 코드가 다른 애들과는 약간 다르다.</p> <p>소스코드 내에 text로 redroom 관련 단어를 찾기 힘들다.</p> <p>redroom 사이트는 공개적으로 사이트를 이용하게 하지 않고, 비트코인을 받고 회원가입한 사람들에게만 계정을 준다.</p> <p>그렇다 보니 로그인 창 + 계정 생성법만 text로 되어 있는 것들은 탐지가 안된다.</p> <p>redroom 에 관련된 단어를(text) 사용하지 않고도 이 사이트가 redroom 이라는 것을 표현하는 방법은 많기 때문에,</p> <p>탐색하기 어렵다.</p> <p>예를 들어</p> <p>background img src=’//XXXX.onion?filehash=[filehash]’</p> <p>이렇게만 만들어 놓으면 탐지를 못한다.</p> <p>다른 방법을 통해 탐지하면 탐지가 되겠지만. 일단 키워드 기반에서는 힘들 것 같다.</p> <p>——</p> <p>약 만개 정도의 서버를 수집했고, 추가적으로 수집할 계획은 없다.</p> <p>만개의 데이터도 다 공개하는 것이 아닌 각각의 카테고리 별로 몇개만 공개하고 있다. 총(120? 110?).</p> <p>데이터를 수집하고 보면, 정신적으로 아픈 데이터가 많다. 정말로..</p> <p>데이터를 모두 공개 안하는 이유도 이런 이유 때문이다.</p></blockquote> <h2><span class="ez-toc-section" id="%EB%94%94%EC%A7%80%ED%84%B8%ED%94%BC%EB%94%94%EC%95%84_%EB%8B%A4%ED%81%AC%EC%9B%B9Dark_Web"></span>[디지털피디아] 다크웹(Dark Web)<span class="ez-toc-section-end"></span></h2> <blockquote cite="https://www.itworld.co.kr/news/172894">[디지털투데이 김현우 인턴기자] 다크웹(Dark Web)은 검색엔진에 노출되지 않고 특정 프로그램을 사용해야 접속할 수 있는 웹을 말한다. 일반적인 방법으로는 접속자나 서버를 확인할 수 없는 익명성 때문에 사이버 범죄에 악용된다.</p> <p>웹은 노출도에 따라 서피스웹(Surface Web), 딥웹(Deep Web), 다크웹으로 나뉜다. 서피스웹은 일반적인 웹으로 검색엔진에 의해 색인(Indexing)된 콘텐츠들로 구성된다. 이와 달리 딥웹은 웹크롤러(Web Crawler)에 탐지되지 않는 웹으로 개인 이메일부터 의료기록, 회사 내부망 등 사적인 정보나 넷플릭스 등 유료화 장벽으로 막혀 있는 콘텐츠 등이 해당한다. 다크웹은 딥웹의 범주에 속하며 특수한 웹브라우저를 사용해야만 접근할 수 있다.</p> <p>대표적인 다크웹 브라우저인 ‘토르'(TOR, The Onion Router)는 1990년대 중반 컴퓨터 과학자와 수학자로 이뤄진 미국해군연구소(NRL, Naval Research Laboratory)에서 어니언 라우팅(Onion Routing)이라는 기술을 개발하며 시작됐다. 이는 일반 인터넷과는 다른 별도 네트워크를 사용해 웹페이지를 방문할 때 완벽한 익명성을 보장했다. 문제는 이 시스템을 미국 정부만 사용할 경우, 연결이 감지될 때마다 미국의 소행이 되기 때문에 미국 정부는 익명성을 위해 이 기술을 오픈소스 라이선스로 공개했다.</p> <p>토르는 주로 특정 지역의 차단된 콘텐츠에 접근할 때나 익명화가 필요한 내부고발자 및 반체제인사, 반정부인사들에게 사용됐다. 전자프론티어재단(EFF)은 온라인에서 시민의 자유를 유지하기 위한 수단 중 하나로 토르를 추천하기도 했다. 토르는 가장 대표적인 PC 다크웹 브라우저로 안드로이드 OS에선 가디언 프로젝트(The Guardian Project)의 Orbot, Orfox 등으로 다크웹에 접속한다.</p> <p>문제는 다크웹에서 벌어지는 사이버 범죄다. 로스 울브리히트(Ross Ulbricht)가 만든 다크웹 암거래 사이트 ‘실크로드'(Silk Road)는 2011년 개설된 뒤 2013년 미국연방수사국(FBI)에 적발돼 폐쇄되기 전까지 1500만건 이상, 금액으로는 2억1400만달러(한화 약 2320억원) 규모의 마약거래를 성사시키며 다크웹이라는 용어를 세상에 알렸다.</p> <p>다크웹에서는 미성년자, 소아 성착취물부터 액상대마, 졸피뎀 등 마약과 향정신성의약품, 랜섬웨어 같은 해킹 프로그램, 심지어 권총 등 총포류까지 거래된다. 이들은 텔레그램이나 리코챗, 와이어 같은 익명 메신저로 대화하며 거래는 가상화폐로 한다. 해외 거래소 지갑을 사용하고 환전도 해외 플랫폼으로 해서 추적을 피한다. 다크웹에는 판매 품목과 메신저 아이디만 기재될 뿐 거래 조건이나 내용은 1:1 대화를 통해 정하는 방식이다. 근래 화제가 됐던 ‘웰컴투비디오’의 운영자 손정우, ‘N번방’ 조주빈도 다크웹에서 활동했다.</p> <p>이런 불법 물품 거래 외에도 신용카드 부정사용, 개인·금융 정보 유출 및 거래 등도 심각한 문제다. 금융감독원에 따르면 2016~2018년 신용카드 해외 부정사용 민원접수 건수는 7만1310건에 달했고 피해규모는 568억8400만원이었다. 이중 상당수가 다크웹과 관련된 것으로 업계는 추정하고 있다.</p> <p>다크웹 사용자는 점점 늘어나고 있다. 한국인터넷진흥원(KISA)에 따르면 2019년 기준 국내 다크웹 접속자는 하루 평균 1만5000명으로, 2016년보다 3배 이상 늘어난 수치다. 글로벌 다크웹 접속자 또한 작년 기준 하루 평균 290만명으로 3년 전보다 2배 이상 증가했다.</p> [사진: 셔터스톡] <p>그러나 한국은 물론 다른 선진국에서도 다크웹 추적·감시 기술은 고도화되지 않은 상황이다. KISA는 다크웹 사이버범죄 근절을 위해 2023년까지 79억8000만원의 예산을 투입해 사이버범죄 정보추적기술을 연구하기로 했다. KISA가 연구를 주관하며 대검찰청·경찰대·충남대·람다256 등이 공동 연구기관으로 참여한다. 이를 통해 사이버 범죄에 악용되는 가상자산을 탐지·추적하고 다크웹 상의 사이버범죄 정보를 수집하는 기술을 개발할 계획이다.</p></blockquote> <h2><span class="ez-toc-section" id="%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9C%BC%EB%A1%9C_%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%9F%AC_%EB%A7%8C%EB%93%A4%EA%B8%B0_%ED%81%AC%EB%A1%A4%EB%A7%81_%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B023-2"></span>[파이썬으로 웹 크롤러 만들기] 크롤링 시작하기(2/3)<span class="ez-toc-section-end"></span></h2> <blockquote cite="https://www.itworld.co.kr/news/172894"><p>3.2 전체 사이트 크롤링</p> <p>이전 섹션에서는 링크에서 링크로 움직이며 웹사이트를 무작위로 이동했습니다. 하지만 사이트의 모든 페이지를 어떤 시스템에 따라 분류하거나 검색해야 한다면 이런 방식은 적합하지 않습니다. 사이트 전체 크롤링, 특히 거대한 사이트의 크롤링은 메모리를 많이 요구하며 크롤링 결과를 바로 저장할 데이터베이스가 준비된 애플리케이션에 적합합니다. 하지만 이런 애플리케이션을 실제 규모로 실행하지 않아도, 어떻게 움직이는지 알아보는 건 가능합니다. 데이터베이스를 이용하는 애플리케이션에 대해서는 5장을 보십시오.</p> <p>다크 웹과 딥 웹 딥 웹deep Web, 다크 웹dark Web, 히든 웹hidden Web 같은 용어를 최근 많이 들어봤을 겁니다. 이들은 무슨 뜻일까요? 딥 웹은 간단히 말해 표면 웹surface Web, 즉 검색 엔진에서 저장하는 부분을 제외한 나머지 웹을 일컫습니다. 정확히 알 수는 없지만, 딥 웹은 틀림없이 인터넷의 9할 정도를 차지할 겁니다. 구글도 폼을 전송하거나, 최상위 도메인에서 링크되지 않은 페이지를 찾아내거나, robots.txt로 막혀 있는 사이트를 조사할 수는 없으므로, 표면 웹은 비교적 작은 비율을 차지합니다. 다크 웹은 다크넷, 다크 인터넷이라고도 부르며 완벽히 다른 종류입니다. 다크 웹은 기존 네트워크 기반 구조에서 동작하기는 하지만, Tor 클라이언트와 HTTP 위에서 동작하며 보안 채널로 정보를 교환하는 애플리케이션 프로토콜을 사용합니다. 다크 웹도 다른 웹사이트와 마찬가지로 스크랩할 수는 있지만 이 책의 범위는 벗어납니다. 다크 웹과 달리 딥 웹은 비교적 쉽게 스크랩할 수 있습니다. 사실 이 책에서도 구글 봇이 검색할 수 없는 곳을 탐색하고 스크랩하는 여러 도구를 소개합니다.</p> <p>그러면 웹사이트 전체 크롤링은 언제 유용하고, 언제 손해일까요? 사이트 전체를 이동하는 웹 스크레이퍼에는 여러 가지 장점이 있습니다. 몇 가지 꼽자면 다음과 같습니다.</p> <p>| 사이트맵 생성 |</p> <p>몇 해 전에 필자는 한 가지 문제를 겪었습니다. 중요한 클라이언트가 웹사이트 재설계 비용이 얼마나 될지 알아봐달라고 했지만, 현재 사용 중인 콘텐츠 관리 시스템 내부에 접근 권한을 주기는 꺼렸고 공개된 사이트맵도 없는 상황이었습니다. 필자는 사이트 전체를 이동하는 크롤러를 이용해 내부 링크를 모두 수집하고, 그 페이지들을 사이트의 실제 폴더 구조와 똑같이 정리 할 수 있었습니다. 이를 통해 존재하는지조차 몰랐던 부분들을 빨리 발견할 수 있었고, 다시 설계해야 하는 페이지가 얼마나 되고 이동해야 할 컨텐츠가 얼마나 되는지 정확히 산출할 수 있었습니다.</p> <p>| 데이터 수집 |</p> <p>어떤 클라이언트는 글(이야기, 블로그 포스트, 뉴스 기사 등)을 수집해서 전문화 검색 플랫폼의 프로토타입을 만들고 싶다고 의뢰했습니다. 이들 웹사이트는 철저히 탐색할 필요는 없었지만, 광범위하게 진행해야 했습니다(데이터를 가져올 사이트가 많지는 않았습니다). 필자는 각 사이트를 재귀적으로 이동하는 크롤러를 만들어 기사 페이지에서만 데이터를 수집할 수 있었습니다. 사이트를 철저히 크롤링하려면 보통 홈페이지 같은 최상위 페이지에서 시작해, 그 페이지에 있는 내부 링크를 모두 검색합니다. 검색한 링크를 모두 탐색하고, 거기서 다시 링크가 발견되면 크롤링 다음 라운드가 시작됩니다. 당연히 일은 금새 엄청나게 커집니다. 모든 페이지에 내부 링크가 10개씩 있고 사이트가 다섯 단계로 구성되어 있다면(중간 규모 사이트에서는 매우 일반적인 깊이입니다), 최소 105페이지, 최대 100,000페이지를 찾아야 사이트를 철저히 탐색했다고 할 수 있습니다. 좀 이상한 일이지만 ‘다섯 단계에, 페이지당 내부 링크 10개’가 매우 일반적인 크기인데도, 실제로 100,000페이지 이상으로 구성된 웹사이트는 거의 없습니다. 이유는 물론 내부 링크 중 상당수가 중복이기 때문입니다.</p> <p>같은 페이지를 두 번 크롤링하지 않으려면 발견되는 내부 링크가 모두 일정한 형식을 취하고, 프로그램이 동작하는 동안 계속 유지되는 리스트에 보관하는 게 대단히 중요합니다. 새로운 링크만 탐색하고 거기서 다른 링크를 검색해야 합니다.</p> <p>from urllib.request import urlopen from bs4 import BeautifulSoup import re pages = set() def getLinks(pageUrl): global pages html = urlopen(“http://en.wikipedia.org”+pageUrl) bsObj = BeautifulSoup(html, “html.parser”) for link in bsObj.findAll(“a”, href=re.compile(“^(/wiki/)”)): if ‘href’ in link.attrs: if link.attrs[‘href’] not in pages: # 새 페이지를 발견 newPage = link.attrs[‘href’] print(newPage) pages.add(newPage) getLinks(newPage) getLinks(“”)</p> <p>웹 크롤링이 어떻게 동작하는지 충분히 보여드리기 위해, 이전 예제에서 사용한 내부 링크 기준을 완화했습니다. 이번에는 스크레이퍼가 항목 페이지만 찾는 게 아니라, /wiki/로 시작하는 모든 링크를 찾으며, div의 id나 콜론이 있는지 없는지도 검사하지 않습니다(항목 페이지에는 콜론이 들어 있지 않지만 파일 업로드 페이지나 토론 페이지, 또는 이 비슷한 링크들은 URL에 콜론이 들어 있습니다).</p> <p>먼저 getLinks에 빈 URL을 넘겨 호출합니다. 함수 내부에서는 빈 URL의 앞에 http://en.wikipedia.org 을 붙여 위키백과 첫 페이지 URL로 바꿉니다. 다음에는 첫 번째 페이지의 각 링크를 순회하며 전역 변수인 pages에 들어 있는지 아닌지를 검사합니다. pages는 스크립트가 이미 발견한 페이지의 세트입니다. pages에 들어 있지 않은 링크라면 리스트에 추가하고, 화면에 출력한 다음, getLinks 함수를 재귀적으로 호출합니다.</p> <p>CAUTION_ 재귀에 관한 경고 이 내용은 소프트웨어 책에 보통 포함되어 있지는 않지만, 필자는 짚고 넘어가야 한다고 생각합니다. 위 프로그램은 오랫동안 실행하면 거의 확실히 죽어버립니다. 파이썬은 기본적으로 재귀 호출을 1,000회로 제한합니다. 위키백과의 링크 네트워크는 대단히 넓으므로 이 프로그램은 결국 재귀 제한에 걸려서 멈추게 됩니다. 멈추는 일을 막으려면 재귀 카운터를 삽입하거나 다른 방법을 강구해야 합니다. 링크 깊이가 1,000단계까지 들어가지 않는 일반적인 사이트에서는 이 방법도 보통 잘 동작하지만, 가끔 예외는 있습니다. 예를 들어 필자는 블로그 포스트를 가리키는 내부 링크를 일정한 규칙에 따라 생성하는 웹사이트를 본 일이 있습니다. 그 규칙은 ‘현재 보고 있는 페이지 URL을 취해 /blog/title_of_blog.php를 덧붙인다’는 규칙이었습니다. 문제는 URL에 이미 /blog/가 들어 있는 페이지에도 /blog/title_of_blog.php를 붙인다는 겁니다. 그러면 /blog/가 또 추가되죠. 결국 필자가 만든 크롤러는 /blog/blog/blog/blog…/blog/title_of_blog.php 같은 URL까지 방문해야 하는 상황이었습니다. 결국 필자는 URL이 너무 우스꽝스러워 보이지는 않는지, 무한 루프로 보이는 반복된 조각이 들어 있지는 않는지 체크하는 코드를 삽입해야 했습니다. 이렇게 하지 않고 밤새 돌아가도록 내버려뒀더라면 금새 정지했을 겁니다.</p> <p>3.2.1 전체 사이트에서 데이터 수집</p> <p>물론 웹 크롤러가 페이지와 페이지 사이를 옮겨 다니기만 한다면 쓸모가 없을 겁니다. 쓸모가 있으려면 페이지에 머무르는 동안 뭔가 다른 일을 할 수 있어야죠. 페이지 제목, 첫 번째 문단, 편집 페이지를 가리키는 링크(존재한다면)를 수집하는 스크레이퍼를 만들어봅시다.</p> <p>항상 그렇지만, 이런 일을 가장 잘하기 위해 첫 번째 할 일은 사이트의 페이지 몇 개를 살펴보며 패턴을 찾는 일입니다. 위키백과에서 항목 페이지와 개인정보 정책 페이지 같은 항목 외 페이지를 여럿 봤다면 다음과 같은 패턴을 알 수 있을 겁니다.</p> <p>항목 페이지든 편집 내역 페이지든 기타 무슨 페이지든 상관없이 제목은 항상 h1 태그 안에 있으며 h1 태그는 페이지당 하나만 존재합니다.</p> <p>태그 안에 있으며 태그는 페이지당 하나만 존재합니다. 이미 언급했듯 모든 바디 텍스트는 div#bodyContent 태그에 들어 있습니다. 하지만 더 명확하게 첫 번째 문단의 텍스트만 선택하려 한다면 div#mw-content-text → p 로 첫 번째 문단 태그만 선택하는 편이 나을 수 있습니다. 이 방법은 콘텐츠 텍스트 섹션이 없는 파일 페이지(예를 들어 https://en.wikipedia.org/wiki/File:Orbit_of_274301_Wikipedia.svg )를 제외한 모든 콘텐츠 페이지에 적용됩니다.</p> <p>태그에 들어 있습니다. 하지만 더 명확하게 첫 번째 문단의 텍스트만 선택하려 한다면 로 첫 번째 문단 태그만 선택하는 편이 나을 수 있습니다. 이 방법은 콘텐츠 텍스트 섹션이 없는 파일 페이지(예를 들어 )를 제외한 모든 콘텐츠 페이지에 적용됩니다. 편집 링크는 항목 페이지에만 존재합니다. 존재한다면 li#ca-edit → span → a 로 찾을 수 있습니다. 기본 크롤링 코드를 수정해서 크롤러와 데이터 수집(최소한 출력은 가능한) 기능이 있는 프로그램을 만들 수 있습니다.</p> <p>from urllib.request import urlopen from bs4 import BeautifulSoup import re pages = set() def getLinks(pageUrl): global pages html = urlopen(“http://en.wikipedia.org”+pageUrl) bsObj = BeautifulSoup(html, “html.parser”) try: print(bsObj.h1.get_text()) print(bsObj.find(id =”mw-content-text”).findAll(“p”)[0]) print(bsObj.find(id=”ca-edit”).find(“span”).find(“a”).attrs[‘href’]) except AttributeError: print(“This page is missing something! No worries though!”) for link in bsObj.findAll(“a”, href=re.compile(“^(/wiki/)”)): if ‘href’ in link.attrs: if link.attrs[‘href’] not in pages: newPage = link.attrs[‘href’] print(“—————-“+newPage) pages.add(newPage) getLinks(newPage) getLinks(“”)</p> <p>이 프로그램의 for 루프는 이전의 크롤링 프로그램과 거의 같습니다. 출력되는 콘텐츠를 더 명확히 구분하기 위해 대시를 추가했습니다.</p> <p>원하는 데이터가 모두 페이지에 있다고 확신할 수는 없으므로, 각 print 문은 페이지에 존재할 확률이 높은 순서대로 정렬했습니다. </p> <h1> 타이틀 태그는 모든 페이지에 존재하므로 이 데이터를 가장 먼저 가져옵니다. 파일 페이지를 제외하면, 대부분의 페이지에 텍스트 콘텐츠가 존재하므로 이것이 두 번째로 가져올 데이터입니다. 편집 버튼은 제목과 텍스트 콘텐츠가 모두 존재하는 페이지에만 있지만, 그렇다고 해도 100퍼센트는 아닙니다.</p> <p>CAUTION_ 패턴에 따라 필요한 작업이 다릅니다 예외 핸들러 안에 여러 행을 넣는 것은 위험합니다. 우선 어떤 행에서 예외가 일어날지 모릅니다. 또한, 어떤 이유로든 페이지에 편집 버튼만 있고 제목이 없다면 편집 버튼도 가져오지 않게 됩니다. 하지만 원하는 데이터가 사이트에 있을 확률에 순서가 있고, 일부 데이터를 잃어도 되거나 자세한 로그를 유지할 필요가 없는 경우(자주 있습니다)에는 별문제가 없습니다.</p> <p>여태까지는 데이터를 출력하기만 했을 뿐 ‘수집’하지는 않았습니다. 물론 터미널 화면에 있는 데이터는 가공하기 어렵습니다. 데이터를 저장하고 데이터베이스를 만드는 것은 5장에서 알아보겠습니다.</p></blockquote> <h2><span class="ez-toc-section" id="%EB%8B%A4%ED%81%AC%EC%9B%B9_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC_%EA%B3%B5%EA%B0%9C%ED%95%A9%EB%8B%88%EB%8B%A4-2"></span>다크웹 데이터를 공개합니다<span class="ez-toc-section-end"></span></h2> <blockquote cite="https://www.itworld.co.kr/news/172894"><p>다크웹 데이터를 공개합니다</p> <p>서론</p> <p>제목을 보고 많은 분들이 이미 아시겠지만, 다크웹에서 수집한 데이터를 공개하게 되었습니다.</p> <p>이 프로젝트를 시작하게 된 계기는 프로젝트를 통해서 해외 발표를 다녀보자 와 다크웹이 궁금해서 로 시작하게 되었지만 그 과정에서 뜻하지 않게 많은 것들을 배우게 되었습니다. (물론, 제출한 CFP는 다 떨어져서 한번도 가본 적은 없습니다 ㅋㅋ)</p> <p>원래는 REST API 형태로 해서 다양한 기능을 구상하고 실제로 일부 부분을 개발 하였지만, 더 관심있고 하고싶은 프로젝트가 생겨 시작하게 되면서 이 프로젝트에 더 이상 신경쓰지 못할 것 같아 이러한 결정을 내리게 되었습니다.</p> <p>제 분수에 맞지 않게 많은 분들이 이 프로젝트에 관심을 가져 주셨습니다. 이 부분에 대해서는 진짜 엄청나게 감사드립니다</p> <p>공개</p> <p>제가 다크웹에서 크롤링 한 데이터를 세상에 공개합니다.</p> <p>단, 제공된 데이터를 사용함에 있어 아래와 같은 조건을 명시합니다.</p> <p>타인에게 공유하는 것을 제한하지 않지만, 왠만하면 신청 과정을 통해 데이터를 받을 수 있도록 부탁드립니다. 스크린샷 데이터는 제공되지 않습니다. 상업적 목적으로 사용하는 부분까지 제한하지는 않습니다만, 데이터를 사용한 경우 출처를 정확히 밝혀 주시기 바랍니다.</p> <p>추가적으로, 만약 출처를 어떻게 밝힐 지 잘 모르겠다면 아래와 같이 밝혀주시면 됩니다.</p> <p>1</p> <p>2 Namjun Kim ([email protected]) Sejong University</p> <p>개인적인 사정이 있어 더 이상 데이터를 공개하지 않고 있습니다.</p> <p>개발기 혹은 오픈소스를 보고 싶으시다면, GitHub 프로젝트를 참고해 주시면 감사하겠습니다.</p> <p>끝으로</p> <p>뭔가를 시작하는 것도 중요하지만, 끝내야 할 때 끝낼 수 있는 것이 제일 좋은 것이다.</p> <p>자그만 프로젝트였지만 문제 없이 잘 끝낼 수 있는 것 같아서 좋았습니다.</p> <p>Tschüss!</p> <p>Special thanks to..</p> <p>이상섭</p> <p>세종대학교 정보보호동아리 S.S.G</p> <p>이름을 밝힐 수 없는 A모씨</p> <p>그리고 프로젝트를 지켜봐 주신 여러분</p> <p>Gurkha Project</p> <p>새로운 프로젝트의 이름은 세계 최강의 용병의 이름인 Gurkha 에서 본따 지어졌습니다.</p> <p>단순히 데이터를 제공하는 플랫폼이 아닌 데이터를 응용하여 실생활에 도움이 될 수 있는 프로젝트를 지향하고 있습니다.</p> <p>Disclosure of darkweb data</p> <p>Introduction</p> <p>As you may already know from the title, we’re now releasing data collected from the darkweb.</p> <p>The reason why I started this project was because of the curiosity of darkweb and desire as a speaker at oversea conferences, but I learned many things unexpectedly in the process. (but, all my CFPs has been rejected lol)</p> <p>Originally, I designed various functions as a REST API form and developed some features, but I decided that I couldn’t proceed in this project anymore as I started to have a project that I was interested in and wanted to do.</p> <p>A lot of people have been interested in this project so that it doesn’t fit my place for me. Thank you very much for this. 🙇</p> <p>Public</p> <p>I’m going to release the data which crawled on the darkweb to the world.</p> <p>However, the following conditions are specified when using the data provided:</p> <p>We don’t restrict sharing to others, but please use data through the application process. Screenshot data is not available. We don’t restrict use for commercial purposes, but if you use the data, please specify the exact source.</p> <p>In addition, if you’re not sure how to identify the source, you can identify it as follows.</p> <p>Due to personal circumstances, I can’t disclose the darkweb data.</p> <p>If you want to get any information of this project, please visit my darklight project repository on GitHub.</p> <p>Finally</p> <p>It’s important to start something, but it’s best to finish it when you have to finish it.</p> <p>It was a little toy project, I’m very thankful that finish it without any problem.</p> <p>Tschüss!</p> <p>Special thanks to..</p> <p>Sangsup Lee</p> <p>Sejong University, Information Security Hacking club named S.S.G</p> <p>The man who can’t reveal the name</p> <p>YOU</p> <p>Gurkha Project</p> <p>The name of the new project is based on Gurkha, the name of the world’s strongest mercenary.</p> <p>We are aiming at a project that can be useful for real world life by applying data that is not simply a data providing platform.</p></blockquote> <h2><span class="ez-toc-section" id="%EB%8B%A4%ED%81%AC%EC%9B%B9_%EB%AC%B4%EC%97%87_Dark_web"></span>다크웹 무엇? Dark web<span class="ez-toc-section-end"></span></h2> <blockquote cite="https://www.itworld.co.kr/news/172894"><p>웹의 구분(Surface Web, Deep Web, Dark Web) ​</p> <p>​</p> <p>사용자가 접하는 웹은 ‘서피스 웹(Surface Web, 표면웹)’이라고 부른다. 구글, 빙, 네이버 등 검색엔진에 의해 색인(Indexing)된 콘텐츠들로 구성된다. 검색엔진은 방대한 웹을 돌아다니며 온갖 웹페이지를 수집한다. ‘robots.txt’에 따로 웹페이지를 색인하지 말라고 적어두지(Disallow) 않는 이상, 어지간한 웹페이지는 다 검색으로 찾을 수 있다고 보면 된다.</p> <p>​</p> <p>이와 상대되는 개념이 ‘딥 웹(Deep Web)’이다. 웹페이지를 찾아다니는 웹 크롤러에 의해 걸리지 않아 검색 등으로는 접근이 어려운 웹을 말한다. 딥 웹에는 개인 e메일부터 의료 기록, 회사 내부망, 넷플릭스처럼 유료화 장벽으로 막혀 있는 콘텐츠 등이 해당한다. 양적으로는 서피스 웹보다 월등히 많다.</p> <p>​</p> <p>다크 웹은 딥 웹에 포함되면서도 구분되는 개념이다. 다크 웹은 ‘토르(TOR)’ 같은 특수한 웹브라우저를 사용해야만 접근할 수 있다. 다크 웹은 철저한 익명화를 특징으로 한다.</p> <p>​</p> <p>미국 정부가 만든 다크넷, ‘토르’​</p> <p>​</p> <p>1990년대 중반 컴퓨터 과학자와 수학자로 이뤄진 미국해군연구소(NRL, Naval Research Laboratory)에서 ‘어니언 라우팅(Onion Routing)’이라는 기술을 개발했다. 인터넷 같은 일반 네트워크가 아닌, 별도 네트워크를 통해 같은 웹페이지를 방문하더라도 완벽한 익명성을 보장하게 해주는 기술이다.</p> <p>​</p> <p>문제는 바로 이 익명성에 있었다. 미국 정부는 이 익명 시스템을 자신들만 사용하게 만들 수 없었다. 미국 정부만 사용할 경우 연결이 감지될 때마다 주체가 미국 정부로 특정지어질 수밖에 없기 때문이다. 진정한 익명성을 위해서는 미국 정부뿐만 아니라 모든 사람이 이용할 수 있어야 했다.</p> <p>​</p> <p>그래서 이 기술은 오픈소스 라이선스로 공개됐다. ‘The Onion Router’의 머릿글자를 따 ‘토르’(TOR, 발음은 ‘토어’에 가깝다)라고 불렸다. 지금은 수백만명의 사람이 토르를 사용한다.</p> <p>​</p></blockquote> <h2><span class="ez-toc-section" id="%EB%8B%A4%ED%81%AC_%EC%9B%B9%EC%9D%98_%EC%A0%95%EC%9D%98%EC%99%80_%EC%9D%B4%EB%A5%BC_%EB%91%98%EB%9F%AC%EC%8B%BC_%EC%97%AC%EB%9F%AC_%EA%B0%80%EC%A7%80_%EC%9D%B4%EC%8A%88"></span>다크 웹의 정의와 이를 둘러싼 여러 가지 이슈<span class="ez-toc-section-end"></span></h2> <blockquote cite="https://www.itworld.co.kr/news/172894"><p>Offcanvas</p> <p>Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.</p></blockquote> <h2><span class="ez-toc-section" id="%ED%82%A4%EC%9B%8C%EB%93%9C%EC%97%90_%EB%8C%80%ED%95%9C_%EC%A0%95%EB%B3%B4_%EB%8B%A4%ED%81%AC%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%A7%81"></span>키워드에 대한 정보 다크웹 크롤링<span class="ez-toc-section-end"></span></h2> <p>다음은 Bing에서 <strong>다크웹 크롤링</strong> 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.</p> <p><iframe title="다크웹 크롤링" src="https://www.bing.com/search?q=다크웹 크롤링&setlang=ko&cc=KR" width="100%" height="800px"></iframe></p> <p>이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!</p> <h2><span class="ez-toc-section" id="%EC%82%AC%EB%9E%8C%EB%93%A4%EC%9D%B4_%EC%A3%BC%EC%A0%9C%EC%97%90_%EB%8C%80%ED%95%B4_%EC%9E%90%EC%A3%BC_%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94_%ED%82%A4%EC%9B%8C%EB%93%9C_%EB%8B%A4%ED%81%AC%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%A7%81"></span>사람들이 주제에 대해 자주 검색하는 키워드 다크웹 크롤링<span class="ez-toc-section-end"></span></h2> <ul> <li><span>동영상</span></li> <li><span>공유</span></li> <li><span>카메라폰</span></li> <li><span>동영상폰</span></li> <li><span>무료</span></li> <li><span>올리기</span></li> </ul> <p>다크웹 #크롤링</p> <hr> <p>YouTube에서 다크웹 크롤링 주제의 다른 동영상 보기</p> <p><iframe title="다크웹 크롤링" src="https://www.bing.com/videos/search?q=다크웹 크롤링&setlang=ko&cc=KR" width="100%" height="400px"></iframe></p> <p>주제에 대한 기사를 시청해 주셔서 감사합니다 <strong><a href="https://hu.taphoamini.com/dakeuweb-keurolring">다크웹 크롤링 | 다크웹 크롤링</a></strong>, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.</p> <div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://hu.taphoamini.com/baegjongweon-seonghyeong-jeon/" target="_blank" rel="dofollow" class="u18b554677896fc6bcb03d1c25f4ca2f6"><!-- INLINE RELATED POSTS 1/3 //--><style> .u18b554677896fc6bcb03d1c25f4ca2f6 { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:inherit; border:0!important; border-left:4px solid inherit!important; text-decoration:none; } .u18b554677896fc6bcb03d1c25f4ca2f6:active, .u18b554677896fc6bcb03d1c25f4ca2f6:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u18b554677896fc6bcb03d1c25f4ca2f6 { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u18b554677896fc6bcb03d1c25f4ca2f6 .ctaText { font-weight:bold; color:inherit; text-decoration:none; font-size: 16px; } .u18b554677896fc6bcb03d1c25f4ca2f6 .postTitle { color:inherit; text-decoration: underline!important; font-size: 16px; } .u18b554677896fc6bcb03d1c25f4ca2f6:hover .postTitle { text-decoration: underline!important; } </style><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">See also</span>  <span class="postTitle">백종원 성형 전 | 더본코리아 대표이자 방송인 유튜버 백종원의 인생 답을 믿으세요</span></div></a></div><div class='code-block code-block-7 ai-track' data-ai='WzcsMCwiQmxvY2sgNyIsIiIsMl0=' style='margin: 8px auto; text-align: center; display: block; clear: both;'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3358072222817439" crossorigin="anonymous"></script> <!-- hu.taphoamini.com tai khoan adsense 40 mobi 4 400*400 --> <ins class="adsbygoogle" style="display:inline-block;width:400px;height:400px" data-ad-client="ca-pub-3358072222817439" data-ad-slot="5579684378"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> <!-- CONTENT END 2 --> </div> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond nv-is-boxed"> <h2 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/dakeuweb-keurolring/#respond" style="display:none;">Cancel reply</a></small></h2><form action="https://hu.taphoamini.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required="required" /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required="required" /></p> <p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="text" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea></p><p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Save my name, email, and website in this browser for the next time I comment.</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="button button-primary" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='29629' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div> <div class='code-block code-block-8 ai-track' data-ai='WzgsMCwiQmxvY2sgOCIsIiIsMV0=' style='margin: 8px auto; text-align: center; display: block; clear: both;'> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2711852745903943" crossorigin="anonymous"></script> <!-- hu.taphoamini.com tai khoan adsense 41 mobi 01 400*400 --> <ins class="adsbygoogle" style="display:inline-block;width:400px;height:400px" data-ad-client="ca-pub-2711852745903943" data-ad-slot="7560208391"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> </article> <div class="nv-sidebar-wrap col-sm-12 nv-right blog-sidebar " > <aside id="secondary" role="complementary"> <style type="text/css">.widget_search .search-form .search-submit, .widget_search .search-form .search-field { height: auto; }</style><div id="search-1" class="widget widget_search"> <form role="search" method="get" class="search-form" action="https://hu.taphoamini.com/"> <label> <span class="screen-reader-text">Search for...</span> </label> <input type="search" class="search-field" aria-label="Search" placeholder="Search for..." value="" name="s"/> <button type="submit" class="search-submit" aria-label="Search"> <span class="nv-search-icon-wrap"> <span class="nv-icon nv-search" > <svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </span></span> </button> </form> </div><div id="categories-1" class="widget widget_categories"><p class="widget-title">Categories</p> <ul> <li class="cat-item cat-item-6924"><a href="https://hu.taphoamini.com/blog/">Blog</a> (1) </li> <li class="cat-item cat-item-2"><a href="https://hu.taphoamini.com/photos/">PHOTOS</a> (35,066) </li> <li class="cat-item cat-item-3"><a href="https://hu.taphoamini.com/wiki/">WIKI</a> (1,840) </li> </ul> </div><div id="block-8" class="widget widget_block widget_recent_entries"><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://hu.taphoamini.com/seoul-sarib-codeunghaggyo-sunwi/">서울 사립 초등학교 순위 | 초등학교 순위 Top7(사립초등학교 학비) 상위 114개 베스트 답변</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://hu.taphoamini.com/seoul-bbangji-sunrye/">서울 빵지 순례 | 서울빵집 Best 20 총정리, 서울 빵지순례 코스 한편으로 끝내기 답을 믿으세요</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://hu.taphoamini.com/seoul-busan-beoseu/">서울 부산 버스 | 서울에서 부산까지 시내버스만 타고 하루 안에 가능? 9010 투표 이 답변</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://hu.taphoamini.com/seoul-busan-gosog-beoseu/">서울 부산 고속 버스 | 고속버스 서울고속버스터미널→부산종합버스터미널 운행영상(Express Bus, Seoul→Busan) 216 개의 베스트 답변</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://hu.taphoamini.com/seoul-busan-ktx-yogeum/">서울 부산 Ktx 요금 | 우회와 할증, Ktx 요금에 숨은 비밀? 최근 답변 43개</a></li> </ul></div><div id="block-9" class="widget widget_block"><ul class="wp-block-page-list"><li class="wp-block-pages-list__item"><a class="wp-block-pages-list__item__link" href="https://hu.taphoamini.com/about/">About</a></li><li class="wp-block-pages-list__item"><a class="wp-block-pages-list__item__link" href="https://hu.taphoamini.com/contact/">Contact</a></li><li class="wp-block-pages-list__item"><a class="wp-block-pages-list__item__link" href="https://hu.taphoamini.com/privacy-policy/">Privacy Policy</a></li></ul></div> </aside> </div> </div> </div> </main><!--/.neve-main--> <footer class="site-footer" id="site-footer" > <div class="hfg_footer"> <div class="footer--row footer-bottom layout-full-contained" id="cb-row--footer-bottom" data-row-id="bottom" data-show-on="desktop"> <div class="footer--row-inner footer-bottom-inner footer-content-wrap"> <div class="container"> <div class="hfg-grid nv-footer-content hfg-grid-bottom row--wrapper row " data-section="hfg_footer_layout_bottom" > <div class="hfg-slot left"><div class="builder-item desktop-left tablet-left mobile-left"><div class="item--inner builder-item--footer_copyright" data-section="footer_copyright" data-item-id="footer_copyright"> <div class="component-wrap"> <div> <p>Powered by <a href="https://hu.taphoamini.com/" rel="nofollow">Hu.taphoamini.com</a></p> </div> </div> </div> </div></div><div class="hfg-slot c-left"></div><div class="hfg-slot center"></div> </div> </div> </div> </div> </div> </footer> </div><!--/.wrapper--> <div class='ai-viewports ai-viewport-1 ai-viewport-2 ai-insert-1-17082243' style='position: fixed; z-index: 9995; top: 25%; text-align: center; left: 40%; transform: translate(-50%, -50%); opacity: 0;' data-insertion-position='prepend' data-selector='.ai-insert-1-17082243' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTEgYWktY2VudGVyLWggYWktY2VudGVyLXYgYWktdHJhY2snIGRhdGEtYWk9J1d6RXNNQ3dpUW14dlkyc2dNU0lzSWlJc01WMD0nIHN0eWxlPSdwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDk5OTU7IHRvcDogMjUlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxlZnQ6IDQwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IG9wYWNpdHk6IDA7Jz4KPGRpdiBjbGFzcz0nbm8tdmlzaWJpbGl0eS1jaGVjayBhaS1jaGVjay0xLTg1MDk3MTg2JyBkYXRhLWluc2VydGlvbi1wb3NpdGlvbj0nYWZ0ZXInIGRhdGEtc2VsZWN0b3I9Jy5haS1jaGVjay0xLTg1MDk3MTg2JyBkYXRhLWNvZGU9J1BHUnBkaUJqYkdGemN6MGlZV2t0WVhSMGNtbGlkWFJsY3lJK0NqeHpjR0Z1SUdOc1lYTnpQU2RoYVMxamFHVmpheTFpYkc5amF5QmhhUzFqWm5BbklHUmhkR0V0WVdrdFlteHZZMnM5SnpFbklHUmhkR0V0WVdrdFpYWmxjbmt0Y0hZOUp6SW5JR1JoZEdFdFlXa3RiV0Y0TFdOc2FXTnJjejBuTWljZ1pHRjBZUzFoYVMxb1lYTm9QU2N6TnpnMU5pY2daR0YwWVMxaGFTMWpabkF0ZEdsdFpUMG5NU2MrUEM5emNHRnVQZ284TDJScGRqNEtQSE5qY21sd2RDQmhjM2x1WXlCemNtTTlJbWgwZEhCek9pOHZjR0ZuWldGa01pNW5iMjluYkdWemVXNWthV05oZEdsdmJpNWpiMjB2Y0dGblpXRmtMMnB6TDJGa2MySjVaMjl2WjJ4bExtcHpQMk5zYVdWdWREMWpZUzF3ZFdJdE16TTFPREEzTWpJeU1qZ3hOelF6T1NJS0lDQWdJQ0JqY205emMyOXlhV2RwYmowaVlXNXZibmx0YjNWeklqNDhMM05qY21sd2RENEtQQ0V0TFNCb2RTNTBZWEJvYjJGdGFXNXBMbU52YlNCMFlXa2dhMmh2WVc0Z1lXUnpaVzV6WlNBME1DQlFReUF3TVNBM09EQXFOREF3SUMwdFBnbzhhVzV6SUdOc1lYTnpQU0poWkhOaWVXZHZiMmRzWlNJS0lDQWdJQ0J6ZEhsc1pUMGlaR2x6Y0d4aGVUcHBibXhwYm1VdFlteHZZMnM3ZDJsa2RHZzZOemd3Y0hnN2FHVnBaMmgwT2pRd01IQjRJZ29nSUNBZ0lHUmhkR0V0WVdRdFkyeHBaVzUwUFNKallTMXdkV0l0TXpNMU9EQTNNakl5TWpneE56UXpPU0lLSUNBZ0lDQmtZWFJoTFdGa0xYTnNiM1E5SWpRM016UTRPRGswTlRBaVBqd3ZhVzV6UGdvOGMyTnlhWEIwUGdvZ0lDQWdJQ2hoWkhOaWVXZHZiMmRzWlNBOUlIZHBibVJ2ZHk1aFpITmllV2R2YjJkc1pTQjhmQ0JiWFNrdWNIVnphQ2g3ZlNrN0Nqd3ZjMk55YVhCMFBnPT0nIGRhdGEtYmxvY2s9JzEnPjxzcGFuIGNsYXNzPSdhaS1jaGVjay1ibG9jayBhaS1jZnAnIGRhdGEtYWktYmxvY2s9JzEnIGRhdGEtYWktZXZlcnktcHY9JzInIGRhdGEtYWktbWF4LWNsaWNrcz0nMicgZGF0YS1haS1oYXNoPSczNzg1NicgZGF0YS1haS1jZnAtdGltZT0nMSc+PC9zcGFuPjwvZGl2Pgo8c2NyaXB0PgogIGFpX3J1bl83OTA0ODI3MzI0MDIgPSBmdW5jdGlvbigpe2FpX2NoZWNrX2FuZF9pbnNlcnRfYmxvY2sgKDEsICdhaS1jaGVjay0xLTg1MDk3MTg2Jyk7fTsKICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJyB8fCAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwpKSBhaV9ydW5fNzkwNDgyNzMyNDAyICgpOyBlbHNlIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgKCdET01Db250ZW50TG9hZGVkJywgYWlfcnVuXzc5MDQ4MjczMjQwMik7Cjwvc2NyaXB0Pgo8L2Rpdj4K' data-block='1'></div> <div class='ai-viewports ai-viewport-1 ai-viewport-2 ai-insert-2-84913231' style='position: fixed; z-index: 9995; bottom: -15%; text-align: center; left: 40%; transform: translate(-50%, -50%); opacity: 0;' data-insertion-position='prepend' data-selector='.ai-insert-2-84913231' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTIgYWktY2VudGVyLWggYWktY2VudGVyLXYgYWktdHJhY2snIGRhdGEtYWk9J1d6SXNNQ3dpUW14dlkyc2dNaUlzSWlJc01WMD0nIHN0eWxlPSdwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDk5OTU7IGJvdHRvbTogLTE1JTsgdGV4dC1hbGlnbjogY2VudGVyOyBsZWZ0OiA0MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBvcGFjaXR5OiAwOyc+CjxkaXYgY2xhc3M9J25vLXZpc2liaWxpdHktY2hlY2sgYWktY2hlY2stMi0yMjI4MTkzNScgZGF0YS1pbnNlcnRpb24tcG9zaXRpb249J2FmdGVyJyBkYXRhLXNlbGVjdG9yPScuYWktY2hlY2stMi0yMjI4MTkzNScgZGF0YS1jb2RlPSdQR1JwZGlCamJHRnpjejBpWVdrdFlYUjBjbWxpZFhSbGN5SStDanh6Y0dGdUlHTnNZWE56UFNkaGFTMWphR1ZqYXkxaWJHOWpheUJoYVMxalpuQW5JR1JoZEdFdFlXa3RZbXh2WTJzOUp6SW5JR1JoZEdFdFlXa3RaWFpsY25rdGNIWTlKekluSUdSaGRHRXRZV2t0YldGNExXTnNhV05yY3owbk1pY2daR0YwWVMxaGFTMW9ZWE5vUFNjek56ZzFPU2NnWkdGMFlTMWhhUzFqWm5BdGRHbHRaVDBuTVNjK1BDOXpjR0Z1UGdvOEwyUnBkajRLUEhOamNtbHdkQ0JoYzNsdVl5QnpjbU05SW1oMGRIQnpPaTh2Y0dGblpXRmtNaTVuYjI5bmJHVnplVzVrYVdOaGRHbHZiaTVqYjIwdmNHRm5aV0ZrTDJwekwyRmtjMko1WjI5dloyeGxMbXB6UDJOc2FXVnVkRDFqWVMxd2RXSXRNek0xT0RBM01qSXlNamd4TnpRek9TSUtJQ0FnSUNCamNtOXpjMjl5YVdkcGJqMGlZVzV2Ym5sdGIzVnpJajQ4TDNOamNtbHdkRDRLUENFdExTQm9kUzUwWVhCb2IyRnRhVzVwTG1OdmJTQjBZV2tnYTJodllXNGdZV1J6Wlc1elpTQTBNQ0JRUXlBd01pQTNPREFxTkRBd0lDMHRQZ284YVc1eklHTnNZWE56UFNKaFpITmllV2R2YjJkc1pTSUtJQ0FnSUNCemRIbHNaVDBpWkdsemNHeGhlVHBwYm14cGJtVXRZbXh2WTJzN2QybGtkR2c2Tnpnd2NIZzdhR1ZwWjJoME9qUXdNSEI0SWdvZ0lDQWdJR1JoZEdFdFlXUXRZMnhwWlc1MFBTSmpZUzF3ZFdJdE16TTFPREEzTWpJeU1qZ3hOelF6T1NJS0lDQWdJQ0JrWVhSaExXRmtMWE5zYjNROUlqVTVOakk0TWpjM05UTWlQand2YVc1elBnbzhjMk55YVhCMFBnb2dJQ0FnSUNoaFpITmllV2R2YjJkc1pTQTlJSGRwYm1SdmR5NWhaSE5pZVdkdmIyZHNaU0I4ZkNCYlhTa3VjSFZ6YUNoN2ZTazdDand2YzJOeWFYQjBQZz09JyBkYXRhLWJsb2NrPScyJz48c3BhbiBjbGFzcz0nYWktY2hlY2stYmxvY2sgYWktY2ZwJyBkYXRhLWFpLWJsb2NrPScyJyBkYXRhLWFpLWV2ZXJ5LXB2PScyJyBkYXRhLWFpLW1heC1jbGlja3M9JzInIGRhdGEtYWktaGFzaD0nMzc4NTknIGRhdGEtYWktY2ZwLXRpbWU9JzEnPjwvc3Bhbj48L2Rpdj4KPHNjcmlwdD4KICBhaV9ydW5fMTc5OTk2OTMzNDM4ID0gZnVuY3Rpb24oKXthaV9jaGVja19hbmRfaW5zZXJ0X2Jsb2NrICgyLCAnYWktY2hlY2stMi0yMjI4MTkzNScpO307CiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScgfHwgKGRvY3VtZW50LnJlYWR5U3RhdGUgIT09ICdsb2FkaW5nJyAmJiAhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKSkgYWlfcnVuXzE3OTk5NjkzMzQzOCAoKTsgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyICgnRE9NQ29udGVudExvYWRlZCcsIGFpX3J1bl8xNzk5OTY5MzM0MzgpOwo8L3NjcmlwdD4KPC9kaXY+Cg==' data-block='2'></div> <div class='ai-viewports ai-viewport-1 ai-viewport-2 ai-insert-3-93363885' style='position: fixed; z-index: 9995; top: 50%; text-align: center; right: 10%; transform: translate(-50%, -50%); opacity: 0;' data-insertion-position='prepend' data-selector='.ai-insert-3-93363885' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTMgYWktY2VudGVyLWggYWktY2VudGVyLXYgYWktdHJhY2snIGRhdGEtYWk9J1d6TXNNQ3dpUW14dlkyc2dNeUlzSWlJc01WMD0nIHN0eWxlPSdwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDk5OTU7IHRvcDogNTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHJpZ2h0OiAxMCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBvcGFjaXR5OiAwOyc+CjxkaXYgY2xhc3M9J25vLXZpc2liaWxpdHktY2hlY2sgYWktY2hlY2stMy0xNjkxNDgzNicgZGF0YS1pbnNlcnRpb24tcG9zaXRpb249J2FmdGVyJyBkYXRhLXNlbGVjdG9yPScuYWktY2hlY2stMy0xNjkxNDgzNicgZGF0YS1jb2RlPSdQR1JwZGlCamJHRnpjejBpWVdrdFlYUjBjbWxpZFhSbGN5SStDanh6Y0dGdUlHTnNZWE56UFNkaGFTMWphR1ZqYXkxaWJHOWpheUJoYVMxalpuQW5JR1JoZEdFdFlXa3RZbXh2WTJzOUp6TW5JR1JoZEdFdFlXa3RaWFpsY25rdGNIWTlKekluSUdSaGRHRXRZV2t0YldGNExXTnNhV05yY3owbk1pY2daR0YwWVMxaGFTMW9ZWE5vUFNjek56ZzFOQ2NnWkdGMFlTMWhhUzFqWm5BdGRHbHRaVDBuTVNjK1BDOXpjR0Z1UGdvOEwyUnBkajRLUEhOamNtbHdkQ0JoYzNsdVl5QnpjbU05SW1oMGRIQnpPaTh2Y0dGblpXRmtNaTVuYjI5bmJHVnplVzVrYVdOaGRHbHZiaTVqYjIwdmNHRm5aV0ZrTDJwekwyRmtjMko1WjI5dloyeGxMbXB6UDJOc2FXVnVkRDFqWVMxd2RXSXRNek0xT0RBM01qSXlNamd4TnpRek9TSUtJQ0FnSUNCamNtOXpjMjl5YVdkcGJqMGlZVzV2Ym5sdGIzVnpJajQ4TDNOamNtbHdkRDRLUENFdExTQm9kUzUwWVhCb2IyRnRhVzVwTG1OdmJTQjBZV2tnYTJodllXNGdZV1J6Wlc1elpTQTBNQ0JRUXlBd015QXpOekFxTnpBd0lDMHRQZ284YVc1eklHTnNZWE56UFNKaFpITmllV2R2YjJkc1pTSUtJQ0FnSUNCemRIbHNaVDBpWkdsemNHeGhlVHBwYm14cGJtVXRZbXh2WTJzN2QybGtkR2c2TXpjd2NIZzdhR1ZwWjJoME9qY3dNSEI0SWdvZ0lDQWdJR1JoZEdFdFlXUXRZMnhwWlc1MFBTSmpZUzF3ZFdJdE16TTFPREEzTWpJeU1qZ3hOelF6T1NJS0lDQWdJQ0JrWVhSaExXRmtMWE5zYjNROUlqY3dPVEUxTWpjNE5UZ2lQand2YVc1elBnbzhjMk55YVhCMFBnb2dJQ0FnSUNoaFpITmllV2R2YjJkc1pTQTlJSGRwYm1SdmR5NWhaSE5pZVdkdmIyZHNaU0I4ZkNCYlhTa3VjSFZ6YUNoN2ZTazdDand2YzJOeWFYQjBQZz09JyBkYXRhLWJsb2NrPSczJz48c3BhbiBjbGFzcz0nYWktY2hlY2stYmxvY2sgYWktY2ZwJyBkYXRhLWFpLWJsb2NrPSczJyBkYXRhLWFpLWV2ZXJ5LXB2PScyJyBkYXRhLWFpLW1heC1jbGlja3M9JzInIGRhdGEtYWktaGFzaD0nMzc4NTQnIGRhdGEtYWktY2ZwLXRpbWU9JzEnPjwvc3Bhbj48L2Rpdj4KPHNjcmlwdD4KICBhaV9ydW5fNzgwMzgxNTczMDk3ID0gZnVuY3Rpb24oKXthaV9jaGVja19hbmRfaW5zZXJ0X2Jsb2NrICgzLCAnYWktY2hlY2stMy0xNjkxNDgzNicpO307CiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScgfHwgKGRvY3VtZW50LnJlYWR5U3RhdGUgIT09ICdsb2FkaW5nJyAmJiAhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKSkgYWlfcnVuXzc4MDM4MTU3MzA5NyAoKTsgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyICgnRE9NQ29udGVudExvYWRlZCcsIGFpX3J1bl83ODAzODE1NzMwOTcpOwo8L3NjcmlwdD4KPC9kaXY+Cg==' data-block='3'></div> <div class='ai-viewports ai-viewport-3 ai-insert-4-67742731' style='position: fixed; z-index: 9995; top: 0px; text-align: center; left: 50%; transform: translate(-50%); opacity: 0;' data-insertion-position='prepend' data-selector='.ai-insert-4-67742731' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTQgYWktY2VudGVyLWggYWktY2VudGVyLXYgYWktdHJhY2snIGRhdGEtYWk9J1d6UXNNQ3dpUW14dlkyc2dOQ0lzSWlJc01WMD0nIHN0eWxlPSdwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDk5OTU7IHRvcDogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7IG9wYWNpdHk6IDA7Jz4KPGRpdiBjbGFzcz0nbm8tdmlzaWJpbGl0eS1jaGVjayBhaS1jaGVjay00LTc3MTc4MDg5JyBkYXRhLWluc2VydGlvbi1wb3NpdGlvbj0nYWZ0ZXInIGRhdGEtc2VsZWN0b3I9Jy5haS1jaGVjay00LTc3MTc4MDg5JyBkYXRhLWNvZGU9J1BHUnBkaUJqYkdGemN6MGlZV2t0WVhSMGNtbGlkWFJsY3lJK0NqeHpjR0Z1SUdOc1lYTnpQU2RoYVMxamFHVmpheTFpYkc5amF5QmhhUzFqWm5BbklHUmhkR0V0WVdrdFlteHZZMnM5SnpRbklHUmhkR0V0WVdrdFpYWmxjbmt0Y0hZOUp6SW5JR1JoZEdFdFlXa3RiV0Y0TFdOc2FXTnJjejBuTWljZ1pHRjBZUzFoYVMxb1lYTm9QU2N6TnprM015Y2daR0YwWVMxaGFTMWpabkF0ZEdsdFpUMG5NU2MrUEM5emNHRnVQZ284TDJScGRqNEtQSE5qY21sd2RDQmhjM2x1WXlCemNtTTlJbWgwZEhCek9pOHZjR0ZuWldGa01pNW5iMjluYkdWemVXNWthV05oZEdsdmJpNWpiMjB2Y0dGblpXRmtMMnB6TDJGa2MySjVaMjl2WjJ4bExtcHpQMk5zYVdWdWREMWpZUzF3ZFdJdE16TTFPREEzTWpJeU1qZ3hOelF6T1NJS0lDQWdJQ0JqY205emMyOXlhV2RwYmowaVlXNXZibmx0YjNWeklqNDhMM05qY21sd2RENEtQQ0V0TFNCb2RTNTBZWEJvYjJGdGFXNXBMbU52YlNCMFlXa2dhMmh2WVc0Z1lXUnpaVzV6WlNBME1DQnRiMkpwSURRd01DbzBNREFnTFMwK0NqeHBibk1nWTJ4aGMzTTlJbUZrYzJKNVoyOXZaMnhsSWdvZ0lDQWdJSE4wZVd4bFBTSmthWE53YkdGNU9tbHViR2x1WlMxaWJHOWphenQzYVdSMGFEbzBNREJ3ZUR0b1pXbG5hSFE2TkRBd2NIZ2lDaUFnSUNBZ1pHRjBZUzFoWkMxamJHbGxiblE5SW1OaExYQjFZaTB6TXpVNE1EY3lNakl5T0RFM05ETTVJZ29nSUNBZ0lHUmhkR0V0WVdRdGMyeHZkRDBpTnpBNE5ETXpOemN6TXlJK1BDOXBibk0rQ2p4elkzSnBjSFErQ2lBZ0lDQWdLR0ZrYzJKNVoyOXZaMnhsSUQwZ2QybHVaRzkzTG1Ga2MySjVaMjl2WjJ4bElIeDhJRnRkS1M1d2RYTm9LSHQ5S1RzS1BDOXpZM0pwY0hRKycgZGF0YS1ibG9jaz0nNCc+PHNwYW4gY2xhc3M9J2FpLWNoZWNrLWJsb2NrIGFpLWNmcCcgZGF0YS1haS1ibG9jaz0nNCcgZGF0YS1haS1ldmVyeS1wdj0nMicgZGF0YS1haS1tYXgtY2xpY2tzPScyJyBkYXRhLWFpLWhhc2g9JzM3OTczJyBkYXRhLWFpLWNmcC10aW1lPScxJz48L3NwYW4+PC9kaXY+CjxzY3JpcHQ+CiAgYWlfcnVuXzk1OTczODU2MjY0MSA9IGZ1bmN0aW9uKCl7YWlfY2hlY2tfYW5kX2luc2VydF9ibG9jayAoNCwgJ2FpLWNoZWNrLTQtNzcxNzgwODknKTt9OwogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnIHx8IChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycgJiYgIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCkpIGFpX3J1bl85NTk3Mzg1NjI2NDEgKCk7IGVsc2UgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciAoJ0RPTUNvbnRlbnRMb2FkZWQnLCBhaV9ydW5fOTU5NzM4NTYyNjQxKTsKPC9zY3JpcHQ+CjwvZGl2Pgo=' data-block='4'></div> <div class='ai-viewports ai-viewport-3 ai-insert-5-10741323' style='position: fixed; z-index: 9995; bottom: 0px; text-align: center; left: 50%; transform: translate(-50%); opacity: 0;' data-insertion-position='prepend' data-selector='.ai-insert-5-10741323' data-insertion-no-dbg data-code='PGRpdiBjbGFzcz0nY29kZS1ibG9jayBjb2RlLWJsb2NrLTUgYWktY2VudGVyLWggYWktY2VudGVyLXYgYWktdHJhY2snIGRhdGEtYWk9J1d6VXNNQ3dpUW14dlkyc2dOU0lzSWlJc01WMD0nIHN0eWxlPSdwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDk5OTU7IGJvdHRvbTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7IG9wYWNpdHk6IDA7Jz4KPGRpdiBjbGFzcz0nbm8tdmlzaWJpbGl0eS1jaGVjayBhaS1jaGVjay01LTQ5NDQ1NTQ2JyBkYXRhLWluc2VydGlvbi1wb3NpdGlvbj0nYWZ0ZXInIGRhdGEtc2VsZWN0b3I9Jy5haS1jaGVjay01LTQ5NDQ1NTQ2JyBkYXRhLWNvZGU9J1BHUnBkaUJqYkdGemN6MGlZV2t0WVhSMGNtbGlkWFJsY3lJK0NqeHpjR0Z1SUdOc1lYTnpQU2RoYVMxamFHVmpheTFpYkc5amF5QmhhUzFqWm5BbklHUmhkR0V0WVdrdFlteHZZMnM5SnpVbklHUmhkR0V0WVdrdFpYWmxjbmt0Y0hZOUp6SW5JR1JoZEdFdFlXa3RiV0Y0TFdOc2FXTnJjejBuTWljZ1pHRjBZUzFoYVMxb1lYTm9QU2N6T0RBMk9DY2daR0YwWVMxaGFTMWpabkF0ZEdsdFpUMG5NU2MrUEM5emNHRnVQZ284TDJScGRqNEtQSE5qY21sd2RDQmhjM2x1WXlCemNtTTlJbWgwZEhCek9pOHZjR0ZuWldGa01pNW5iMjluYkdWemVXNWthV05oZEdsdmJpNWpiMjB2Y0dGblpXRmtMMnB6TDJGa2MySjVaMjl2WjJ4bExtcHpQMk5zYVdWdWREMWpZUzF3ZFdJdE16TTFPREEzTWpJeU1qZ3hOelF6T1NJS0lDQWdJQ0JqY205emMyOXlhV2RwYmowaVlXNXZibmx0YjNWeklqNDhMM05qY21sd2RENEtQQ0V0TFNCb2RTNTBZWEJvYjJGdGFXNXBMbU52YlNCMFlXa2dhMmh2WVc0Z1lXUnpaVzV6WlNBME1DQnRiMkpwSURJZ05EQXdLalF3TUNBdExUNEtQR2x1Y3lCamJHRnpjejBpWVdSellubG5iMjluYkdVaUNpQWdJQ0FnYzNSNWJHVTlJbVJwYzNCc1lYazZhVzVzYVc1bExXSnNiMk5yTzNkcFpIUm9PalF3TUhCNE8yaGxhV2RvZERvME1EQndlQ0lLSUNBZ0lDQmtZWFJoTFdGa0xXTnNhV1Z1ZEQwaVkyRXRjSFZpTFRNek5UZ3dOekl5TWpJNE1UYzBNemtpQ2lBZ0lDQWdaR0YwWVMxaFpDMXpiRzkwUFNJNU5URTRPVEk1TXpneUlqNDhMMmx1Y3o0S1BITmpjbWx3ZEQ0S0lDQWdJQ0FvWVdSellubG5iMjluYkdVZ1BTQjNhVzVrYjNjdVlXUnpZbmxuYjI5bmJHVWdmSHdnVzEwcExuQjFjMmdvZTMwcE93bzhMM05qY21sd2REND0nIGRhdGEtYmxvY2s9JzUnPjxzcGFuIGNsYXNzPSdhaS1jaGVjay1ibG9jayBhaS1jZnAnIGRhdGEtYWktYmxvY2s9JzUnIGRhdGEtYWktZXZlcnktcHY9JzInIGRhdGEtYWktbWF4LWNsaWNrcz0nMicgZGF0YS1haS1oYXNoPSczODA2OCcgZGF0YS1haS1jZnAtdGltZT0nMSc+PC9zcGFuPjwvZGl2Pgo8c2NyaXB0PgogIGFpX3J1bl8zMTU3MjM4ODYwNDYgPSBmdW5jdGlvbigpe2FpX2NoZWNrX2FuZF9pbnNlcnRfYmxvY2sgKDUsICdhaS1jaGVjay01LTQ5NDQ1NTQ2Jyk7fTsKICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJyB8fCAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwpKSBhaV9ydW5fMzE1NzIzODg2MDQ2ICgpOyBlbHNlIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgKCdET01Db250ZW50TG9hZGVkJywgYWlfcnVuXzMxNTcyMzg4NjA0Nik7Cjwvc2NyaXB0Pgo8L2Rpdj4K' data-block='5'></div> <!--copyscapeskip--> <aside id="moove_gdpr_cookie_info_bar" class="moove-gdpr-info-bar-hidden moove-gdpr-align-center moove-gdpr-dark-scheme gdpr_infobar_postion_bottom" aria-label="GDPR Cookie Banner" style="display: none;"> <div class="moove-gdpr-info-bar-container"> <div class="moove-gdpr-info-bar-content"> <div class="moove-gdpr-cookie-notice"> <p>We are using cookies to give you the best experience on our website.</p><p>You can find out more about which cookies we are using or switch them off in <button data-href="#moove_gdpr_cookie_modal" class="change-settings-button">settings</button>.</p></div> <!-- .moove-gdpr-cookie-notice --> <div class="moove-gdpr-button-holder"> <button class="mgbutton moove-gdpr-infobar-allow-all gdpr-fbo-0" aria-label="Accept" >Accept</button> </div> <!-- .button-container --> </div> <!-- moove-gdpr-info-bar-content --> </div> <!-- moove-gdpr-info-bar-container --> </aside> <!-- #moove_gdpr_cookie_info_bar --> <!--/copyscapeskip--> <script type="text/javascript" id="neve-script-js-extra"> /* <![CDATA[ */ var NeveProperties = {"ajaxurl":"https:\/\/hu.taphoamini.com\/wp-admin\/admin-ajax.php","nonce":"e8288e4dad","isRTL":"","isCustomize":""}; /* ]]> */ </script> <script type="text/javascript" src="https://hu.taphoamini.com/wp-content/themes/neve/assets/js/build/modern/frontend.js?ver=3.2.5" id="neve-script-js" async></script> <script type="text/javascript" id="neve-script-js-after"> /* <![CDATA[ */ var html = document.documentElement; var theme = html.getAttribute('data-neve-theme') || 'light'; var variants = {"logo":{"light":{"src":"https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini.png","srcset":"https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini.png 200w, https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini-150x150.png 150w","sizes":"(max-width: 200px) 100vw, 200px"},"dark":{"src":"https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini.png","srcset":"https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini.png 200w, https:\/\/hu.taphoamini.com\/wp-content\/uploads\/2021\/08\/cropped-Taphoamini-150x150.png 150w","sizes":"(max-width: 200px) 100vw, 200px"},"same":true}}; function setCurrentTheme( theme ) { var pictures = document.getElementsByClassName( 'neve-site-logo' ); for(var i = 0; i<pictures.length; i++) { var picture = pictures.item(i); if( ! picture ) { continue; }; var fileExt = picture.src.slice((Math.max(0, picture.src.lastIndexOf(".")) || Infinity) + 1); if ( fileExt === 'svg' ) { picture.removeAttribute('width'); picture.removeAttribute('height'); picture.style = 'width: var(--maxwidth)'; } var compId = picture.getAttribute('data-variant'); if ( compId && variants[compId] ) { var isConditional = variants[compId]['same']; if ( theme === 'light' || isConditional || variants[compId]['dark']['src'] === false ) { picture.src = variants[compId]['light']['src']; picture.srcset = variants[compId]['light']['srcset'] || ''; picture.sizes = variants[compId]['light']['sizes']; continue; }; picture.src = variants[compId]['dark']['src']; picture.srcset = variants[compId]['dark']['srcset'] || ''; picture.sizes = variants[compId]['dark']['sizes']; }; }; }; var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type == 'attributes') { theme = html.getAttribute('data-neve-theme'); setCurrentTheme(theme); }; }); }); observer.observe(html, { attributes: true }); /* ]]> */ </script> <script type="text/javascript" src="https://hu.taphoamini.com/wp-includes/js/comment-reply.min.js?ver=6.5.3" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" id="moove_gdpr_frontend-js-extra"> /* <![CDATA[ */ var moove_frontend_gdpr_scripts = {"ajaxurl":"https:\/\/hu.taphoamini.com\/wp-admin\/admin-ajax.php","post_id":"29629","plugin_dir":"https:\/\/hu.taphoamini.com\/wp-content\/plugins\/gdpr-cookie-compliance","show_icons":"all","is_page":"","ajax_cookie_removal":"false","strict_init":"1","enabled_default":{"third_party":0,"advanced":0},"geo_location":"false","force_reload":"false","is_single":"1","hide_save_btn":"false","current_user":"0","cookie_expiration":"365","script_delay":"2000","close_btn_action":"1","close_btn_rdr":"","scripts_defined":"{\"cache\":true,\"header\":\"\",\"body\":\"\",\"footer\":\"\",\"thirdparty\":{\"header\":\"\",\"body\":\"\",\"footer\":\"\"},\"advanced\":{\"header\":\"\",\"body\":\"\",\"footer\":\"\"}}","gdpr_scor":"true","wp_lang":"","wp_consent_api":"false"}; /* ]]> */ </script> <script type="text/javascript" src="https://hu.taphoamini.com/wp-content/plugins/gdpr-cookie-compliance/dist/scripts/main.js?ver=4.14.0" id="moove_gdpr_frontend-js"></script> <script type="text/javascript" id="moove_gdpr_frontend-js-after"> /* <![CDATA[ */ var gdpr_consent__strict = "false" var gdpr_consent__thirdparty = "false" var gdpr_consent__advanced = "false" var gdpr_consent__cookies = "" /* ]]> */ </script> <!--copyscapeskip--> <!-- V1 --> <div id="moove_gdpr_cookie_modal" class="gdpr_lightbox-hide" role="complementary" aria-label="GDPR Settings Screen"> <div class="moove-gdpr-modal-content moove-clearfix logo-position-left moove_gdpr_modal_theme_v1"> <button class="moove-gdpr-modal-close" aria-label="Close GDPR Cookie Settings"> <span class="gdpr-sr-only">Close GDPR Cookie Settings</span> <span class="gdpr-icon moovegdpr-arrow-close"></span> </button> <div class="moove-gdpr-modal-left-content"> <div class="moove-gdpr-company-logo-holder"> <img src="https://hu.taphoamini.com/wp-content/plugins/gdpr-cookie-compliance/dist/images/gdpr-logo.png" alt="Hu.taphoamini.com" width="350" height="233" class="img-responsive" /> </div> <!-- .moove-gdpr-company-logo-holder --> <ul id="moove-gdpr-menu"> <li class="menu-item-on menu-item-privacy_overview menu-item-selected"> <button data-href="#privacy_overview" class="moove-gdpr-tab-nav" aria-label="Privacy Overview"> <span class="gdpr-nav-tab-title">Privacy Overview</span> </button> </li> <li class="menu-item-strict-necessary-cookies menu-item-off"> <button data-href="#strict-necessary-cookies" class="moove-gdpr-tab-nav" aria-label="Strictly Necessary Cookies"> <span class="gdpr-nav-tab-title">Strictly Necessary Cookies</span> </button> </li> </ul> <div class="moove-gdpr-branding-cnt"> <a href="https://wordpress.org/plugins/gdpr-cookie-compliance/" rel="noopener noreferrer" target="_blank" class='moove-gdpr-branding'>Powered by  <span>GDPR Cookie Compliance</span></a> </div> <!-- .moove-gdpr-branding --> </div> <!-- .moove-gdpr-modal-left-content --> <div class="moove-gdpr-modal-right-content"> <div class="moove-gdpr-modal-title"> </div> <!-- .moove-gdpr-modal-ritle --> <div class="main-modal-content"> <div class="moove-gdpr-tab-content"> <div id="privacy_overview" class="moove-gdpr-tab-main"> <span class="tab-title">Privacy Overview</span> <div class="moove-gdpr-tab-main-content"> <p>This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.</p> </div> <!-- .moove-gdpr-tab-main-content --> </div> <!-- #privacy_overview --> <div id="strict-necessary-cookies" class="moove-gdpr-tab-main" style="display:none"> <span class="tab-title">Strictly Necessary Cookies</span> <div class="moove-gdpr-tab-main-content"> <p>Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.</p> <div class="moove-gdpr-status-bar "> <div class="gdpr-cc-form-wrap"> <div class="gdpr-cc-form-fieldset"> <label class="cookie-switch" for="moove_gdpr_strict_cookies"> <span class="gdpr-sr-only">Enable or Disable Cookies</span> <input type="checkbox" aria-label="Strictly Necessary Cookies" value="check" name="moove_gdpr_strict_cookies" id="moove_gdpr_strict_cookies"> <span class="cookie-slider cookie-round" data-text-enable="Enabled" data-text-disabled="Disabled"></span> </label> </div> <!-- .gdpr-cc-form-fieldset --> </div> <!-- .gdpr-cc-form-wrap --> </div> <!-- .moove-gdpr-status-bar --> <div class="moove-gdpr-strict-warning-message" style="margin-top: 10px;"> <p>If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.</p> </div> <!-- .moove-gdpr-tab-main-content --> </div> <!-- .moove-gdpr-tab-main-content --> </div> <!-- #strict-necesarry-cookies --> </div> <!-- .moove-gdpr-tab-content --> </div> <!-- .main-modal-content --> <div class="moove-gdpr-modal-footer-content"> <div class="moove-gdpr-button-holder"> <button class="mgbutton moove-gdpr-modal-allow-all button-visible" aria-label="Enable All">Enable All</button> <button class="mgbutton moove-gdpr-modal-save-settings button-visible" aria-label="Save Settings">Save Settings</button> </div> <!-- .moove-gdpr-button-holder --> </div> <!-- .moove-gdpr-modal-footer-content --> </div> <!-- .moove-gdpr-modal-right-content --> <div class="moove-clearfix"></div> </div> <!-- .moove-gdpr-modal-content --> </div> <!-- #moove_gdpr_cookie_modal --> <!--/copyscapeskip--> <script> function b2a(a){var b,c=0,l=0,f="",g=[];if(!a)return a;do{var e=a.charCodeAt(c++);var h=a.charCodeAt(c++);var k=a.charCodeAt(c++);var d=e<<16|h<<8|k;e=63&d>>18;h=63&d>>12;k=63&d>>6;d&=63;g[l++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)}while(c< a.length);return f=g.join(""),b=a.length%3,(b?f.slice(0,b-3):f)+"===".slice(b||3)}function a2b(a){var b,c,l,f={},g=0,e=0,h="",k=String.fromCharCode,d=a.length;for(b=0;64>b;b++)f["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(b)]=b;for(c=0;d>c;c++)for(b=f[a.charAt(c)],g=(g<<6)+b,e+=6;8<=e;)((l=255&g>>>(e-=8))||d-2>c)&&(h+=k(l));return h}b64e=function(a){return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(b,a){return String.fromCharCode("0x"+a)}))}; b64d=function(a){return decodeURIComponent(atob(a).split("").map(function(a){return"%"+("00"+a.charCodeAt(0).toString(16)).slice(-2)}).join(""))}; /* <![CDATA[ */ ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"}; /* ]]> */ function ai_run_scripts(){var ai_cookie_js=!0,ai_block_class_def="code-block"; /* JavaScript Cookie v2.2.0 https://github.com/js-cookie/js-cookie Copyright 2006, 2015 Klaus Hartl & Fagner Brack Released under the MIT license */ "undefined"!==typeof ai_cookie_js&&(function(a){if("function"===typeof define&&define.amd){define(a);var c=!0}"object"===typeof exports&&(module.exports=a(),c=!0);if(!c){var d=window.Cookies,b=window.Cookies=a();b.noConflict=function(){window.Cookies=d;return b}}}(function(){function a(){for(var d=0,b={};d<arguments.length;d++){var f=arguments[d],e;for(e in f)b[e]=f[e]}return b}function c(d){function b(){}function f(h,k,g){if("undefined"!==typeof document){g=a({path:"/",sameSite:"Lax"},b.defaults, g);"number"===typeof g.expires&&(g.expires=new Date(1*new Date+864E5*g.expires));g.expires=g.expires?g.expires.toUTCString():"";try{var l=JSON.stringify(k);/^[\{\[]/.test(l)&&(k=l)}catch(p){}k=d.write?d.write(k,h):encodeURIComponent(String(k)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent);h=encodeURIComponent(String(h)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);l="";for(var n in g)g[n]&&(l+="; "+n,!0!==g[n]&&(l+="="+ g[n].split(";")[0]));return document.cookie=h+"="+k+l}}function e(h,k){if("undefined"!==typeof document){for(var g={},l=document.cookie?document.cookie.split("; "):[],n=0;n<l.length;n++){var p=l[n].split("="),m=p.slice(1).join("=");k||'"'!==m.charAt(0)||(m=m.slice(1,-1));try{var q=p[0].replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);m=(d.read||d)(m,q)||m.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);if(k)try{m=JSON.parse(m)}catch(r){}g[q]=m;if(h===q)break}catch(r){}}return h?g[h]:g}}b.set=f;b.get= function(h){return e(h,!1)};b.getJSON=function(h){return e(h,!0)};b.remove=function(h,k){f(h,"",a(k,{expires:-1}))};b.defaults={};b.withConverter=c;return b}return c(function(){})}),AiCookies=Cookies.noConflict(),ai_check_block=function(a){if(null==a)return!0;var c=AiCookies.getJSON("aiBLOCKS");ai_debug_cookie_status="";null==c&&(c={});"undefined"!==typeof ai_delay_showing_pageviews&&(c.hasOwnProperty(a)||(c[a]={}),c[a].hasOwnProperty("d")||(c[a].d=ai_delay_showing_pageviews));if(c.hasOwnProperty(a)){for(var d in c[a]){if("x"== d){var b="",f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);var e=new Date;e=c[a][d]-Math.round(e.getTime()/1E3);if(0<e&&f==b)return ai_debug_cookie_status=a="closed for "+e+" s = "+Math.round(1E4*e/3600/24)/1E4+" days",!1;ai_set_cookie(a,"x","");c[a].hasOwnProperty("i")||c[a].hasOwnProperty("c")||ai_set_cookie(a,"h","")}else if("d"==d){if(0!=c[a][d])return ai_debug_cookie_status=a="delayed for "+c[a][d]+ " pageviews",!1}else if("i"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max impressions reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]-Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max imp. reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"i","");c[a].hasOwnProperty("c")||c[a].hasOwnProperty("x")|| ai_set_cookie(a,"h","")}}if("ipt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].it-b,0<e))return ai_debug_cookie_status=a="max imp. per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;if("c"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max clicks reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]- Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max clicks reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"c","");c[a].hasOwnProperty("i")||c[a].hasOwnProperty("x")||ai_set_cookie(a,"h","")}}if("cpt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].ct-b,0<e))return ai_debug_cookie_status=a="max clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}if(c.hasOwnProperty("G")&&c.G.hasOwnProperty("cpt")&&0==c.G.cpt&& (e=new Date,b=Math.round(e.getTime()/1E3),e=c.G.ct-b,0<e))return ai_debug_cookie_status=a="max global clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}ai_debug_cookie_status="OK";return!0},ai_check_and_insert_block=function(a,c){if(null==a)return!0;var d=document.getElementsByClassName(c);if(d.length){d=d[0];var b=d.closest("."+ai_block_class_def),f=ai_check_block(a);!f&&0!=parseInt(d.getAttribute("limits-fallback"))&&d.hasAttribute("data-fallback-code")&&(d.setAttribute("data-code", d.getAttribute("data-fallback-code")),null!=b&&b.hasAttribute("data-ai")&&d.hasAttribute("fallback-tracking")&&d.hasAttribute("fallback_level")&&b.setAttribute("data-ai-"+d.getAttribute("fallback_level"),d.getAttribute("fallback-tracking")),f=!0);d.removeAttribute("data-selector");if(f)ai_insert_code(d),b&&(f=b.querySelectorAll(".ai-debug-block"),f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&& (b.style.position="")));else{f=d.closest("div[data-ai]");if(null!=f&&"undefined"!=typeof f.getAttribute("data-ai")){var e=JSON.parse(b64d(f.getAttribute("data-ai")));"undefined"!==typeof e&&e.constructor===Array&&(e[1]="",f.setAttribute("data-ai",b64e(JSON.stringify(e))))}b&&(f=b.querySelectorAll(".ai-debug-block"),f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&& (b.style.position="")))}d.classList.remove(c)}d=document.querySelectorAll("."+c+"-dbg");b=0;for(f=d.length;b<f;b++)e=d[b],e.querySelector(".ai-status").textContent=ai_debug_cookie_status,e.querySelector(".ai-cookie-data").textContent=ai_get_cookie_text(a),e.classList.remove(c+"-dbg")},ai_load_cookie=function(){var a=AiCookies.getJSON("aiBLOCKS");null==a&&(a={});return a},ai_set_cookie=function(a,c,d){var b=ai_load_cookie();if(""===d){if(b.hasOwnProperty(a)){delete b[a][c];a:{c=b[a];for(f in c)if(c.hasOwnProperty(f)){var f= !1;break a}f=!0}f&&delete b[a]}}else b.hasOwnProperty(a)||(b[a]={}),b[a][c]=d;0===Object.keys(b).length&&b.constructor===Object?AiCookies.remove("aiBLOCKS"):AiCookies.set("aiBLOCKS",b,{expires:365,path:"/"});return b},ai_get_cookie_text=function(a){var c=AiCookies.getJSON("aiBLOCKS");null==c&&(c={});var d="";c.hasOwnProperty("G")&&(d="G["+JSON.stringify(c.G).replace(/"/g,"").replace("{","").replace("}","")+"] ");var b="";c.hasOwnProperty(a)&&(b=JSON.stringify(c[a]).replace(/"/g,"").replace("{","").replace("}", ""));return d+b}); var ai_insertion_js=!0,ai_block_class_def="code-block"; ai_insert=function(a,h,l){for(var p=-1!=h.indexOf(":eq")?jQuery(h):document.querySelectorAll(h),u=0,y=p.length;u<y;u++){var c=p[u];selector_string=c.hasAttribute("id")?"#"+c.getAttribute("id"):c.hasAttribute("class")?"."+c.getAttribute("class").replace(RegExp(" ","g"),"."):"";var v=document.createElement("div");v.innerHTML=l;var n=v.getElementsByClassName("ai-selector-counter")[0];null!=n&&(n.innerText=u+1);n=v.getElementsByClassName("ai-debug-name ai-main")[0];if(null!=n){var m="";"undefined"!=typeof ai_front&& ("before"==a?m=ai_front.insertion_before:"after"==a?m=ai_front.insertion_after:"prepend"==a?m=ai_front.insertion_prepend:"append"==a?m=ai_front.insertion_append:"replace-content"==a?m=ai_front.insertion_replace_content:"replace-element"==a&&(m=ai_front.insertion_replace_element));-1==selector_string.indexOf(".ai-viewports")&&(n.innerText=m+" "+h+" ("+c.tagName.toLowerCase()+selector_string+")")}n=document.createRange();m=!0;try{var w=n.createContextualFragment(v.innerHTML)}catch(t){m=!1}"before"== a?m?c.parentNode.insertBefore(w,c):jQuery(v.innerHTML).insertBefore(jQuery(c)):"after"==a?m?c.parentNode.insertBefore(w,c.nextSibling):jQuery(v.innerHTML).insertBefore(jQuery(c.nextSibling)):"prepend"==a?m?c.insertBefore(w,c.firstChild):jQuery(v.innerHTML).insertBefore(jQuery(c.firstChild)):"append"==a?m?c.insertBefore(w,null):jQuery(v.innerHTML).appendTo(jQuery(c)):"replace-content"==a?(c.innerHTML="",m?c.insertBefore(w,null):jQuery(v.innerHTML).appendTo(jQuery(c))):"replace-element"==a&&(m?c.parentNode.insertBefore(w, c):jQuery(v.innerHTML).insertBefore(jQuery(c)),c.parentNode.removeChild(c));ai_process_elements()}}; ai_insert_code=function(a){function h(n,m){return null==n?!1:n.classList?n.classList.contains(m):-1<(" "+n.className+" ").indexOf(" "+m+" ")}function l(n,m){null!=n&&(n.classList?n.classList.add(m):n.className+=" "+m)}function p(n,m){null!=n&&(n.classList?n.classList.remove(m):n.className=n.className.replace(new RegExp("(^|\\b)"+m.split(" ").join("|")+"(\\b|$)","gi")," "))}if("undefined"!=typeof a){var u=!1;if(h(a,"no-visibility-check")||a.offsetWidth||a.offsetHeight||a.getClientRects().length){u= a.getAttribute("data-code");var y=a.getAttribute("data-insertion-position"),c=a.getAttribute("data-selector");if(null!=u)if(null!=y&&null!=c){if(-1!=c.indexOf(":eq")?jQuery(c).length:document.querySelectorAll(c).length)ai_insert(y,c,b64d(u)),p(a,"ai-viewports")}else{y=document.createRange();c=!0;try{var v=y.createContextualFragment(b64d(u))}catch(n){c=!1}c?a.parentNode.insertBefore(v,a.nextSibling):jQuery(b64d(u)).insertBefore(jQuery(a.nextSibling));p(a,"ai-viewports")}u=!0}else v=a.previousElementSibling, h(v,"ai-debug-bar")&&h(v,"ai-debug-script")&&(p(v,"ai-debug-script"),l(v,"ai-debug-viewport-invisible")),p(a,"ai-viewports");return u}}; ai_insert_list_code=function(a){var h=document.getElementsByClassName(a)[0];if("undefined"!=typeof h){var l=ai_insert_code(h),p=h.closest("div."+ai_block_class_def);if(p){l||p.removeAttribute("data-ai");var u=p.querySelectorAll(".ai-debug-block");p&&u.length&&(p.classList.remove("ai-list-block"),p.classList.remove("ai-list-block-ip"),p.classList.remove("ai-list-block-filter"),p.style.visibility="",p.classList.contains("ai-remove-position")&&(p.style.position=""))}h.classList.remove(a);l&&ai_process_elements()}}; ai_insert_viewport_code=function(a){var h=document.getElementsByClassName(a)[0];if("undefined"!=typeof h){var l=ai_insert_code(h);h.classList.remove(a);l&&(a=h.closest("div."+ai_block_class_def),null!=a&&(l=h.getAttribute("style"),null!=l&&a.setAttribute("style",a.getAttribute("style")+" "+l)));setTimeout(function(){h.removeAttribute("style")},2);ai_process_elements()}}; ai_insert_adsense_fallback_codes=function(a){a.style.display="none";var h=a.closest(".ai-fallback-adsense"),l=h.nextElementSibling;l.getAttribute("data-code")?ai_insert_code(l)&&ai_process_elements():l.style.display="block";h.classList.contains("ai-empty-code")&&(a=a.closest("."+ai_block_class_def).getElementsByClassName("code-block-label"),0!=a.length&&(a[0].style.display="none"))}; ai_insert_code_by_class=function(a){var h=document.getElementsByClassName(a)[0];"undefined"!=typeof h&&(ai_insert_code(h),h.classList.remove(a))};ai_insert_client_code=function(a,h){var l=document.getElementsByClassName(a)[0];if("undefined"!=typeof l){var p=l.getAttribute("data-code");null!=p&&ai_check_block()&&ai_check_and_insert_block()&&(l.setAttribute("data-code",p.substring(Math.floor(h/19))),ai_insert_code_by_class(a),l.remove())}};ai_process_elements_active=!1; function ai_process_elements(){ai_process_elements_active||setTimeout(function(){ai_process_elements_active=!1;"function"==typeof ai_process_rotations&&ai_process_rotations();"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data"));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data"));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check"));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(); "function"==typeof ai_process_impressions&&1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5);ai_process_elements_active=!0} const targetNode=document.querySelector("body"),config={attributes:!0,childList:!1,subtree:!0},ai_adsense_callback=function(a,h){for(const l of a)"attributes"===l.type&&"data-ad-status"==l.attributeName&&"unfilled"==l.target.dataset.adStatus&&l.target.closest(".ai-fallback-adsense")&&ai_insert_adsense_fallback_codes(l.target)},observer=new MutationObserver(ai_adsense_callback);observer.observe(targetNode,config); var Arrive=function(a,h,l){function p(t,d,e){c.addMethod(d,e,t.unbindEvent);c.addMethod(d,e,t.unbindEventWithSelectorOrCallback);c.addMethod(d,e,t.unbindEventWithSelectorAndCallback)}function u(t){t.arrive=m.bindEvent;p(m,t,"unbindArrive");t.leave=w.bindEvent;p(w,t,"unbindLeave")}if(a.MutationObserver&&"undefined"!==typeof HTMLElement){var y=0,c=function(){var t=HTMLElement.prototype.matches||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector; return{matchesSelector:function(d,e){return d instanceof HTMLElement&&t.call(d,e)},addMethod:function(d,e,f){var b=d[e];d[e]=function(){if(f.length==arguments.length)return f.apply(this,arguments);if("function"==typeof b)return b.apply(this,arguments)}},callCallbacks:function(d,e){e&&e.options.onceOnly&&1==e.firedElems.length&&(d=[d[0]]);for(var f=0,b;b=d[f];f++)b&&b.callback&&b.callback.call(b.elem,b.elem);e&&e.options.onceOnly&&1==e.firedElems.length&&e.me.unbindEventWithSelectorAndCallback.call(e.target, e.selector,e.callback)},checkChildNodesRecursively:function(d,e,f,b){for(var g=0,k;k=d[g];g++)f(k,e,b)&&b.push({callback:e.callback,elem:k}),0<k.childNodes.length&&c.checkChildNodesRecursively(k.childNodes,e,f,b)},mergeArrays:function(d,e){var f={},b;for(b in d)d.hasOwnProperty(b)&&(f[b]=d[b]);for(b in e)e.hasOwnProperty(b)&&(f[b]=e[b]);return f},toElementsArray:function(d){"undefined"===typeof d||"number"===typeof d.length&&d!==a||(d=[d]);return d}}}(),v=function(){var t=function(){this._eventsBucket= [];this._beforeRemoving=this._beforeAdding=null};t.prototype.addEvent=function(d,e,f,b){d={target:d,selector:e,options:f,callback:b,firedElems:[]};this._beforeAdding&&this._beforeAdding(d);this._eventsBucket.push(d);return d};t.prototype.removeEvent=function(d){for(var e=this._eventsBucket.length-1,f;f=this._eventsBucket[e];e--)d(f)&&(this._beforeRemoving&&this._beforeRemoving(f),(f=this._eventsBucket.splice(e,1))&&f.length&&(f[0].callback=null))};t.prototype.beforeAdding=function(d){this._beforeAdding= d};t.prototype.beforeRemoving=function(d){this._beforeRemoving=d};return t}(),n=function(t,d){var e=new v,f=this,b={fireOnAttributesModification:!1};e.beforeAdding(function(g){var k=g.target;if(k===a.document||k===a)k=document.getElementsByTagName("html")[0];var q=new MutationObserver(function(x){d.call(this,x,g)});var r=t(g.options);q.observe(k,r);g.observer=q;g.me=f});e.beforeRemoving(function(g){g.observer.disconnect()});this.bindEvent=function(g,k,q){k=c.mergeArrays(b,k);for(var r=c.toElementsArray(this), x=0;x<r.length;x++)e.addEvent(r[x],g,k,q)};this.unbindEvent=function(){var g=c.toElementsArray(this);e.removeEvent(function(k){for(var q=0;q<g.length;q++)if(this===l||k.target===g[q])return!0;return!1})};this.unbindEventWithSelectorOrCallback=function(g){var k=c.toElementsArray(this);e.removeEvent("function"===typeof g?function(q){for(var r=0;r<k.length;r++)if((this===l||q.target===k[r])&&q.callback===g)return!0;return!1}:function(q){for(var r=0;r<k.length;r++)if((this===l||q.target===k[r])&&q.selector=== g)return!0;return!1})};this.unbindEventWithSelectorAndCallback=function(g,k){var q=c.toElementsArray(this);e.removeEvent(function(r){for(var x=0;x<q.length;x++)if((this===l||r.target===q[x])&&r.selector===g&&r.callback===k)return!0;return!1})};return this},m=new function(){function t(f,b,g){return c.matchesSelector(f,b.selector)&&(f._id===l&&(f._id=y++),-1==b.firedElems.indexOf(f._id))?(b.firedElems.push(f._id),!0):!1}var d={fireOnAttributesModification:!1,onceOnly:!1,existing:!1};m=new n(function(f){var b= {attributes:!1,childList:!0,subtree:!0};f.fireOnAttributesModification&&(b.attributes=!0);return b},function(f,b){f.forEach(function(g){var k=g.addedNodes,q=g.target,r=[];null!==k&&0<k.length?c.checkChildNodesRecursively(k,b,t,r):"attributes"===g.type&&t(q,b,r)&&r.push({callback:b.callback,elem:q});c.callCallbacks(r,b)})});var e=m.bindEvent;m.bindEvent=function(f,b,g){"undefined"===typeof g?(g=b,b=d):b=c.mergeArrays(d,b);var k=c.toElementsArray(this);if(b.existing){for(var q=[],r=0;r<k.length;r++)for(var x= k[r].querySelectorAll(f),z=0;z<x.length;z++)q.push({callback:g,elem:x[z]});if(b.onceOnly&&q.length)return g.call(q[0].elem,q[0].elem);setTimeout(c.callCallbacks,1,q)}e.call(this,f,b,g)};return m},w=new function(){function t(f,b){return c.matchesSelector(f,b.selector)}var d={};w=new n(function(){return{childList:!0,subtree:!0}},function(f,b){f.forEach(function(g){g=g.removedNodes;var k=[];null!==g&&0<g.length&&c.checkChildNodesRecursively(g,b,t,k);c.callCallbacks(k,b)})});var e=w.bindEvent;w.bindEvent= function(f,b,g){"undefined"===typeof g?(g=b,b=d):b=c.mergeArrays(d,b);e.call(this,f,b,g)};return w};h&&u(h.fn);u(HTMLElement.prototype);u(NodeList.prototype);u(HTMLCollection.prototype);u(HTMLDocument.prototype);u(Window.prototype);h={};p(m,h,"unbindAllArrive");p(w,h,"unbindAllLeave");return h}}(window,"undefined"===typeof jQuery?null:jQuery,void 0); ;!function(a,b){a(function(){"use strict";function a(a,b){return null!=a&&null!=b&&a.toLowerCase()===b.toLowerCase()}function c(a,b){var c,d,e=a.length;if(!e||!b)return!1;for(c=b.toLowerCase(),d=0;d<e;++d)if(c===a[d].toLowerCase())return!0;return!1}function d(a){for(var b in a)i.call(a,b)&&(a[b]=new RegExp(a[b],"i"))}function e(a){return(a||"").substr(0,500)}function f(a,b){this.ua=e(a),this._cache={},this.maxPhoneWidth=b||600}var g={};g.mobileDetectRules={phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:"BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+",Pixel:"; \\bPixel\\b",HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6",Dell:"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F",LG:"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710",Sony:"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332",Asus:"Asus.*Galaxy|PadFone.*Mobile",Xiaomi:"^(?!.*\\bx11\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G",NokiaLumia:"Lumia [0-9]{3,4}",Micromax:"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",Palm:"PalmSource|Palm",Vertu:"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",Wiko:"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:"Alcatel",Nintendo:"Nintendo (3DS|Switch)",Amoi:"Amoi",INQ:"INQ",OnePlus:"ONEPLUS",GenericPhone:"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},tablets:{iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",GoogleTablet:"Android.*Pixel C",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30|A3-A40",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z930|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android [0-9.]+; [a-z-]+; \\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9|TECNO DP8D",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:"Android",BlackBerryOS:"blackberry|\\bBB10\\b|rim tablet os",PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",WindowsMobileOS:"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;",WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",iPadOS:"CPU OS 13",SailfishOS:"Sailfish",MeeGoOS:"MeeGo",MaemoOS:"Maemo",JavaOS:"J2ME/|\\bMIDP\\b|\\bCLDC\\b",webOS:"webOS|hpwOS",badaOS:"\\bBada\\b",BREWOS:"BREW"},uas:{Chrome:"\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?",Dolfin:"\\bDolfin\\b",Opera:"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+",Skyfire:"Skyfire",Edge:"\\bEdgiOS\\b|Mobile Safari/[.0-9]* Edge",IE:"IEMobile|MSIEMobile",Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:"bolt",TeaShark:"teashark",Blazer:"Blazer",Safari:"Version((?!\\bEdgiOS\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari",WeChat:"\\bMicroMessenger\\b",UCBrowser:"UC.*Browser|UCWEB",baiduboxapp:"baiduboxapp",baidubrowser:"baidubrowser",DiigoBrowser:"DiigoBrowser",Mercury:"\\bMercury\\b",ObigoBrowser:"Obigo",NetFront:"NF-Browser",GenericBrowser:"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:"Build/[VER]",Version:"Version/[VER]",VendorID:"VendorID/[VER]",iPad:"iPad.*CPU[a-z ]+[VER]",iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:"iPod.*CPU[a-z ]+[VER]",Kindle:"Kindle/[VER]",Chrome:["Chrome/[VER]","CriOS/[VER]","CrMo/[VER]"],Coast:["Coast/[VER]"],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]","FxiOS/[VER]"],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];","IEMobile [VER]","MSIE [VER];","Trident/[0-9.]+;.*rv:[VER]"],NetFront:"NetFront/[VER]",NokiaBrowser:"NokiaBrowser/[VER]",Opera:[" OPR/[VER]","Opera Mini/[VER]","Version/[VER]"],"Opera Mini":"Opera Mini/[VER]","Opera Mobi":"Version/[VER]",UCBrowser:["UCWEB[VER]","UC.*Browser/[VER]"],MQQBrowser:"MQQBrowser/[VER]",MicroMessenger:"MicroMessenger/[VER]",baiduboxapp:"baiduboxapp/[VER]",baidubrowser:"baidubrowser/[VER]",SamsungBrowser:"SamsungBrowser/[VER]",Iron:"Iron/[VER]",Safari:["Version/[VER]","Safari/[VER]"],Skyfire:"Skyfire/[VER]",Tizen:"Tizen/[VER]",Webkit:"webkit[ /][VER]",PaleMoon:"PaleMoon/[VER]",SailfishBrowser:"SailfishBrowser/[VER]",Gecko:"Gecko/[VER]",Trident:"Trident/[VER]",Presto:"Presto/[VER]",Goanna:"Goanna/[VER]",iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",Sailfish:"Sailfish [VER]",BlackBerry:["BlackBerry[\\w]+/[VER]","BlackBerry.*Version/[VER]","Version/[VER]"],BREW:"BREW [VER]",Java:"Java/[VER]","Windows Phone OS":["Windows Phone OS [VER]","Windows Phone [VER]"],"Windows Phone":"Windows Phone [VER]","Windows CE":"Windows CE/[VER]","Windows NT":"Windows NT [VER]",Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]","hpwOS/[VER];"]},utils:{Bot:"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot",MobileBot:"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2",DesktopMode:"WPDesktop",TV:"SonyDTV|HbbTV",WebKit:"(webkit)[ /]([\\w.]+)",Console:"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",Watch:"SM-V700"}},g.detectMobileBrowsers={fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i};var h,i=Object.prototype.hasOwnProperty;return g.FALLBACK_PHONE="UnknownPhone",g.FALLBACK_TABLET="UnknownTablet",g.FALLBACK_MOBILE="UnknownMobile",h="isArray"in Array?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},function(){var a,b,c,e,f,j,k=g.mobileDetectRules;for(a in k.props)if(i.call(k.props,a)){for(b=k.props[a],h(b)||(b=[b]),f=b.length,e=0;e<f;++e)c=b[e],j=c.indexOf("[VER]"),j>=0&&(c=c.substring(0,j)+"([\\w._\\+]+)"+c.substring(j+5)),b[e]=new RegExp(c,"i");k.props[a]=b}d(k.oss),d(k.phones),d(k.tablets),d(k.uas),d(k.utils),k.oss0={WindowsPhoneOS:k.oss.WindowsPhoneOS,WindowsMobileOS:k.oss.WindowsMobileOS}}(),g.findMatch=function(a,b){for(var c in a)if(i.call(a,c)&&a[c].test(b))return c;return null},g.findMatches=function(a,b){var c=[];for(var d in a)i.call(a,d)&&a[d].test(b)&&c.push(d);return c},g.getVersionStr=function(a,b){var c,d,e,f,h=g.mobileDetectRules.props;if(i.call(h,a))for(c=h[a],e=c.length,d=0;d<e;++d)if(f=c[d].exec(b),null!==f)return f[1];return null},g.getVersion=function(a,b){var c=g.getVersionStr(a,b);return c?g.prepareVersionNo(c):NaN},g.prepareVersionNo=function(a){var b;return b=a.split(/[a-z._ \/\-]/i),1===b.length&&(a=b[0]),b.length>1&&(a=b[0]+".",b.shift(),a+=b.join("")),Number(a)},g.isMobileFallback=function(a){return g.detectMobileBrowsers.fullPattern.test(a)||g.detectMobileBrowsers.shortPattern.test(a.substr(0,4))},g.isTabletFallback=function(a){return g.detectMobileBrowsers.tabletPattern.test(a)},g.prepareDetectionCache=function(a,c,d){if(a.mobile===b){var e,h,i;return(h=g.findMatch(g.mobileDetectRules.tablets,c))?(a.mobile=a.tablet=h,void(a.phone=null)):(e=g.findMatch(g.mobileDetectRules.phones,c))?(a.mobile=a.phone=e,void(a.tablet=null)):void(g.isMobileFallback(c)?(i=f.isPhoneSized(d),i===b?(a.mobile=g.FALLBACK_MOBILE,a.tablet=a.phone=null):i?(a.mobile=a.phone=g.FALLBACK_PHONE,a.tablet=null):(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null)):g.isTabletFallback(c)?(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null):a.mobile=a.tablet=a.phone=null)}},g.mobileGrade=function(a){var b=null!==a.mobile();return a.os("iOS")&&a.version("iPad")>=4.3||a.os("iOS")&&a.version("iPhone")>=3.1||a.os("iOS")&&a.version("iPod")>=3.1||a.version("Android")>2.1&&a.is("Webkit")||a.version("Windows Phone OS")>=7||a.is("BlackBerry")&&a.version("BlackBerry")>=6||a.match("Playbook.*Tablet")||a.version("webOS")>=1.4&&a.match("Palm|Pre|Pixi")||a.match("hp.*TouchPad")||a.is("Firefox")&&a.version("Firefox")>=12||a.is("Chrome")&&a.is("AndroidOS")&&a.version("Android")>=4||a.is("Skyfire")&&a.version("Skyfire")>=4.1&&a.is("AndroidOS")&&a.version("Android")>=2.3||a.is("Opera")&&a.version("Opera Mobi")>11&&a.is("AndroidOS")||a.is("MeeGoOS")||a.is("Tizen")||a.is("Dolfin")&&a.version("Bada")>=2||(a.is("UC Browser")||a.is("Dolfin"))&&a.version("Android")>=2.3||a.match("Kindle Fire")||a.is("Kindle")&&a.version("Kindle")>=3||a.is("AndroidOS")&&a.is("NookTablet")||a.version("Chrome")>=11&&!b||a.version("Safari")>=5&&!b||a.version("Firefox")>=4&&!b||a.version("MSIE")>=7&&!b||a.version("Opera")>=10&&!b?"A":a.os("iOS")&&a.version("iPad")<4.3||a.os("iOS")&&a.version("iPhone")<3.1||a.os("iOS")&&a.version("iPod")<3.1||a.is("Blackberry")&&a.version("BlackBerry")>=5&&a.version("BlackBerry")<6||a.version("Opera Mini")>=5&&a.version("Opera Mini")<=6.5&&(a.version("Android")>=2.3||a.is("iOS"))||a.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||a.version("Opera Mobi")>=11&&a.is("SymbianOS")?"B":(a.version("BlackBerry")<5||a.match("MSIEMobile|Windows CE.*Mobile")||a.version("Windows Mobile")<=5.2,"C")},g.detectOS=function(a){return g.findMatch(g.mobileDetectRules.oss0,a)||g.findMatch(g.mobileDetectRules.oss,a)},g.getDeviceSmallerSide=function(){return window.screen.width<window.screen.height?window.screen.width:window.screen.height},f.prototype={constructor:f,mobile:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.mobile},phone:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.phone},tablet:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.tablet},userAgent:function(){return this._cache.userAgent===b&&(this._cache.userAgent=g.findMatch(g.mobileDetectRules.uas,this.ua)),this._cache.userAgent},userAgents:function(){return this._cache.userAgents===b&&(this._cache.userAgents=g.findMatches(g.mobileDetectRules.uas,this.ua)),this._cache.userAgents},os:function(){return this._cache.os===b&&(this._cache.os=g.detectOS(this.ua)),this._cache.os},version:function(a){return g.getVersion(a,this.ua)},versionStr:function(a){return g.getVersionStr(a,this.ua)},is:function(b){return c(this.userAgents(),b)||a(b,this.os())||a(b,this.phone())||a(b,this.tablet())||c(g.findMatches(g.mobileDetectRules.utils,this.ua),b)},match:function(a){return a instanceof RegExp||(a=new RegExp(a,"i")),a.test(this.ua)},isPhoneSized:function(a){return f.isPhoneSized(a||this.maxPhoneWidth)},mobileGrade:function(){return this._cache.grade===b&&(this._cache.grade=g.mobileGrade(this)),this._cache.grade}},"undefined"!=typeof window&&window.screen?f.isPhoneSized=function(a){return a<0?b:g.getDeviceSmallerSide()<=a}:f.isPhoneSized=function(){},f._impl=g,f.version="1.4.5 2021-03-13",f})}(function(a){if("undefined"!=typeof module&&module.exports)return function(a){module.exports=a()};if("function"==typeof define&&define.amd)return define;if("undefined"!=typeof window)return function(a){window.MobileDetect=a()};throw new Error("unknown environment")}());var ai_lists=!0,ai_block_class_def="code-block"; jQuery(function(a){function B(c){c=c.match(aa);return null!=c&&1<c.length&&"string"===typeof c[1]&&0<c[1].length?c[1].toLowerCase():null}function E(c){return c.includes(":")?(c=c.split(":"),1E3*(3600*parseInt(c[0])+60*parseInt(c[1])+parseInt(c[2]))):null}function v(c){try{var k=Date.parse(c);isNaN(k)&&(k=null)}catch(G){k=null}if(null==k&&c.includes(" ")){c=c.split(" ");try{k=Date.parse(c[0]),k+=E(c[1]),isNaN(k)&&(k=null)}catch(G){k=null}}return k}function H(){(jQuery("#ai-iab-tcf-bar").length||jQuery(".ai-list-manual").length)&& "function"==typeof __tcfapi&&"function"==typeof ai_load_blocks&&"undefined"==typeof ai_iab_tcf_callback_installed&&(__tcfapi("addEventListener",2,function(c,k){k&&"useractioncomplete"===c.eventStatus&&(ai_tcData=c,ai_load_blocks(),jQuery("#ai-iab-tcf-status").text("IAB TCF 2.0 DATA LOADED"),jQuery("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"))}),ai_iab_tcf_callback_installed=!0)}function w(c){c=`; ${document.cookie}`.split(`; ${c}=`);if(2===c.length)return c.pop().split(";").shift()} function h(c){if(w(c)){var k=window.location.hostname;w(c)&&(document.cookie=c+"=;path=/"+(k?";domain="+k:"")+";expires=Thu, 01 Jan 1970 00:00:01 GMT");document.cookie=c+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"}}Array.prototype.includes||(Array.prototype.includes=function(c){return!!~this.indexOf(c)});var aa=RegExp(":\\/\\/(.[^/:]+)","i");ai_process_lists=function(c){function k(l,e,d){if(0==l.length){if("!@!"==d)return!0;e!=d&&("true"==d.toLowerCase()?d=!0:"false"==d.toLowerCase()&&(d= !1));return e==d}if("object"!=typeof e&&"array"!=typeof e)return!1;var n=l[0];l=l.slice(1);if("*"==n)for(let [,m]of Object.entries(e)){if(k(l,m,d))return!0}else if(n in e)return k(l,e[n],d);return!1}function G(l,e,d){if("object"!=typeof l||-1==e.indexOf("["))return!1;e=e.replace(/]| /gi,"").split("[");return k(e,l,d)}function ba(){"function"==typeof __tcfapi&&(a("#ai-iab-tcf-status").text("IAB TCF 2.0 DETECTED"),__tcfapi("getTCData",2,function(l,e){e?(a("#ai-iab-tcf-bar").addClass("status-ok"),"tcloaded"== l.eventStatus||"useractioncomplete"==l.eventStatus?(ai_tcData=l,l.gdprApplies?a("#ai-iab-tcf-status").text("IAB TCF 2.0 DATA LOADED"):jQuery("#ai-iab-tcf-status").text("IAB TCF 2.0 GDPR DOES NOT APPLY"),a("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"),setTimeout(function(){ai_process_lists()},10)):"cmpuishown"==l.eventStatus&&(ai_cmpuishown=!0,a("#ai-iab-tcf-status").text("IAB TCF 2.0 CMP UI SHOWN"),a("#ai-iab-tcf-bar").addClass("status-ok").removeClass("status-error"))):(a("#ai-iab-tcf-status").text("IAB TCF 2.0 __tcfapi getTCData failed"), a("#ai-iab-tcf-bar").removeClass("status-ok").addClass("status-error"))}))}function K(l){"function"==typeof __tcfapi?("undefined"==typeof ai_iab_tcf_callback_installed&&H(),"undefined"==typeof ai_tcData_requested&&(ai_tcData_requested=!0,ba(),cookies_need_tcData=!0)):l&&(a("#ai-iab-tcf-bar").addClass("status-error").removeClass("status-ok"),a("#ai-iab-tcf-status").text("IAB TCF 2.0 MISSING: __tcfapi function not found"))}c=null==c?a("div.ai-list-data, meta.ai-list-data"):a(c).filter(".ai-list-data"); if(c.length){c.removeClass("ai-list-data");var U=getAllUrlParams(window.location.search);if(null!=U.referrer)var y=U.referrer;else y=document.referrer,""!=y&&(y=B(y));var Q=window.navigator.userAgent,R=Q.toLowerCase(),V=navigator.language,L=V.toLowerCase();if("undefined"!==typeof MobileDetect)var W=new MobileDetect(Q);c.each(function(){var l=document.cookie.split(";");l.forEach(function(u,g){l[g]=u.trim()});var e=a(this).closest("div.code-block"),d=!0,n=a(this).attr("referer-list"); if("undefined"!=typeof n){n=b64d(n).split(",");var m=a(this).attr("referer-list-type"),I=!1;a.each(n,function(u,g){g=g.trim();if(""==g)return!0;if("*"==g.charAt(0))if("*"==g.charAt(g.length-1)){if(g=g.substr(1,g.length-2),-1!=y.indexOf(g))return I=!0,!1}else{if(g=g.substr(1),y.substr(-g.length)==g)return I=!0,!1}else if("*"==g.charAt(g.length-1)){if(g=g.substr(0,g.length-1),0==y.indexOf(g))return I=!0,!1}else if("#"==g){if(""==y)return I=!0,!1}else if(g==y)return I=!0,!1});var p=I;switch(m){case "B":p&& (d=!1);break;case "W":p||(d=!1)}}if(d&&(n=a(this).attr("client-list"),"undefined"!=typeof n&&"undefined"!==typeof W))switch(n=b64d(n).split(","),m=a(this).attr("client-list-type"),p=!1,a.each(n,function(u,g){if(""==g.trim())return!0;u=g.split("&&");a.each(u,function(r,b){r=!0;var t=!1;for(b=b.trim();"!!"==b.substring(0,2);)r=!r,b=b.substring(2);"language:"==b.substring(0,9)&&(t=!0,b=b.substring(9).toLowerCase());var q=!1;t?"*"==b.charAt(0)?"*"==b.charAt(b.length-1)?(b=b.substr(1,b.length-2).toLowerCase(), -1!=L.indexOf(b)&&(q=!0)):(b=b.substr(1).toLowerCase(),L.substr(-b.length)==b&&(q=!0)):"*"==b.charAt(b.length-1)?(b=b.substr(0,b.length-1).toLowerCase(),0==L.indexOf(b)&&(q=!0)):b==L&&(q=!0):"*"==b.charAt(0)?"*"==b.charAt(b.length-1)?(b=b.substr(1,b.length-2).toLowerCase(),-1!=R.indexOf(b)&&(q=!0)):(b=b.substr(1).toLowerCase(),R.substr(-b.length)==b&&(q=!0)):"*"==b.charAt(b.length-1)?(b=b.substr(0,b.length-1).toLowerCase(),0==R.indexOf(b)&&(q=!0)):W.is(b)&&(q=!0);p=q?r:!r;if(!p)return!1});if(p)return!1}), m){case "B":p&&(d=!1);break;case "W":p||(d=!1)}var M=n=!1;for(m=1;2>=m;m++)if(d){switch(m){case 1:var f=a(this).attr("cookie-list");break;case 2:f=a(this).attr("parameter-list")}if("undefined"!=typeof f){f=b64d(f);switch(m){case 1:var A=a(this).attr("cookie-list-type");break;case 2:A=a(this).attr("parameter-list-type")}f=f.replace("tcf-gdpr","tcf-v2[gdprApplies]=true");f=f.replace("tcf-no-gdpr","tcf-v2[gdprApplies]=false");f=f.replace("tcf-google","tcf-v2[vendor][consents][755]=true && tcf-v2[purpose][consents][1]=true"); f=f.replace("tcf-no-google","!!tcf-v2[vendor][consents][755]");f=f.replace("tcf-media.net","tcf-v2[vendor][consents][142]=true && tcf-v2[purpose][consents][1]=true");f=f.replace("tcf-no-media.net","!!tcf-v2[vendor][consents][142]");f=f.replace("tcf-amazon","tcf-v2[vendor][consents][793]=true && tcf-v2[purpose][consents][1]=true");f=f.replace("tcf-no-amazon","!!tcf-v2[vendor][consents][793]");f=f.replace("tcf-ezoic","tcf-v2[vendor][consents][347]=true && tcf-v2[purpose][consents][1]=true");f=f.replace("tcf-no-ezoic", "!!tcf-v2[vendor][consents][347]");var D=f.split(","),X=[];l.forEach(function(u){u=u.split("=");try{var g=JSON.parse(decodeURIComponent(u[1]))}catch(r){g=decodeURIComponent(u[1])}X[u[0]]=g});p=!1;var N=a(this);a.each(D,function(u,g){u=g.split("&&");a.each(u,function(r,b){r=!0;for(b=b.trim();"!!"==b.substring(0,2);)r=!r,b=b.substring(2);var t=b,q="!@!",Y=-1!=b.indexOf("["),Z=(0==b.indexOf("tcf-v2")||0==b.indexOf("euconsent-v2"))&&-1!=b.indexOf("[");-1!=b.indexOf("=")&&(q=b.split("="),t=q[0],q=q[1], Y=-1!=t.indexOf("["),Z=(0==t.indexOf("tcf-v2")||0==t.indexOf("euconsent-v2"))&&-1!=t.indexOf("["));if(Z)a("#ai-iab-tcf-bar").show(),"object"==typeof ai_tcData?(a("#ai-iab-tcf-bar").addClass("status-ok"),t=t.replace(/]| /gi,"").split("["),t.shift(),p=(t=k(t,ai_tcData,q))?r:!r):(N.addClass("ai-list-data"),M=!0,"function"==typeof __tcfapi?K(!1):"undefined"==typeof ai_tcData_retrying&&(ai_tcData_retrying=!0,setTimeout(function(){"function"==typeof __tcfapi?K(!1):setTimeout(function(){"function"==typeof __tcfapi? K(!1):setTimeout(function(){K(!0)},3E3)},1E3)},600)));else if(Y)p=(t=G(X,t,q))?r:!r;else{var S=!1;"!@!"==q?l.every(function(ca){return ca.split("=")[0]==b?(S=!0,!1):!0}):S=-1!=l.indexOf(b);p=S?r:!r}if(!p)return!1});if(p)return!1});p&&(M=!1);switch(A){case "B":p&&(d=!1);break;case "W":p||(d=!1)}}}a(this).hasClass("ai-list-manual")&&(d?(N.removeClass("ai-list-data"),N.removeClass("ai-list-manual")):(n=!0,N.addClass("ai-list-data")));if(d||!n&&!M)if(f=a(this).data("debug-info"),"undefined"!=typeof f&& (f=a("."+f),0!=f.length)){var x=f.parent();x.hasClass("ai-debug-info")&&x.remove()}x=a(this).prevAll(".ai-debug-bar.ai-debug-lists");f=""==y?"#":y;x.find(".ai-debug-name.ai-list-info").text(f).attr("title",Q+"\n"+V);x.find(".ai-debug-name.ai-list-status").text(d?ai_front.visible:ai_front.hidden);f=!1;if(d&&(m=a(this).attr("scheduling-start"),A=a(this).attr("scheduling-end"),D=a(this).attr("scheduling-days"),"undefined"!=typeof m&&"undefined"!=typeof A&&"undefined"!=typeof D)){f=!0;var z=b64d(m),O= b64d(A),T=parseInt(a(this).attr("scheduling-fallback")),P=parseInt(a(this).attr("gmt"));z.includes("-")||O.includes("-")?(A=v(z)+P,m=v(O)+P):(A=E(z),m=E(O));D=b64d(D).split(",");x=a(this).attr("scheduling-type");var C=(new Date).getTime()+P,F=new Date(C),J=F.getDay();z.includes("-")||O.includes("-")||(z=(new Date(F.getFullYear(),F.getMonth(),F.getDate())).getTime()+P,C-=z,0>C&&(C+=864E5));0==J?J=6:J--;z=C>=A&&C<m&&D.includes(J.toString());switch(x){case "B":z=!z}z||(d=!1);F=F.toISOString().split(".")[0].replace("T", " ");x=a(this).prevAll(".ai-debug-bar.ai-debug-scheduling");x.find(".ai-debug-name.ai-scheduling-info").text(F+" "+J+" current_time:"+Math.floor(C.toString()/1E3)+" start_date:"+Math.floor(A/1E3).toString()+" ="+(C>=A).toString()+" end_date:"+Math.floor(m/1E3).toString()+" =:"+(C<m).toString()+" days:"+D.toString()+" =:"+D.includes(J.toString()).toString());x.find(".ai-debug-name.ai-scheduling-status").text(d?ai_front.visible:ai_front.hidden);d||0==T||(x.removeClass("ai-debug-scheduling").addClass("ai-debug-fallback"), x.find(".ai-debug-name.ai-scheduling-status").text(ai_front.fallback+" = "+T))}if(n||!d&&M)return!0;a(this).css({visibility:"",position:"",width:"",height:"","z-index":""});d?(e.css({visibility:""}),e.hasClass("ai-remove-position")&&e.css({position:""}),"undefined"!=typeof a(this).data("code")&&(d=b64d(a(this).data("code")),0!=a(this).closest("head").length?(a(this).after(d),a(this).remove()):a(this).append(d),ai_process_element_lists(this))):f&&!z&&0!=T?(e.css({visibility:""}),e.hasClass("ai-remove-position")&& e.css({position:""}),a(this).next(".ai-fallback").removeClass("ai-fallback"),"undefined"!=typeof a(this).data("fallback-code")?(d=b64d(a(this).data("fallback-code")),a(this).append(d),ai_process_element_lists(this)):(a(this).hide(),!e.find(".ai-debug-block").length&&e[0].hasAttribute("style")&&-1==e.attr("style").indexOf("height:")&&e.hide()),d=e.attr("data-ai"),"undefined"!==typeof d&&!1!==d&&(d=a(this).attr("fallback-tracking"),"undefined"!==typeof d&&!1!==d&&e.attr("data-ai-"+a(this).attr("fallback_level"), d))):(a(this).hide(),e.length&&(e.removeAttr("data-ai").removeClass("ai-track"),e.find(".ai-debug-block").length?(e.css({visibility:""}).removeClass("ai-close"),e.hasClass("ai-remove-position")&&e.css({position:""})):e[0].hasAttribute("style")&&-1==e.attr("style").indexOf("height:")&&e.hide()));a(this).attr("data-code","");a(this).attr("data-fallback-code","");e.removeClass("ai-list-block")})}};a(document).ready(function(c){setTimeout(function(){ai_process_lists();setTimeout(function(){H();if("function"== typeof ai_load_blocks){jQuery(document).on("cmplzEnableScripts",k);jQuery(document).on("cmplz_event_marketing",k);function k(G){"cmplzEnableScripts"!=G.type&&"all"!==G.consentLevel||ai_load_blocks()}}},50);jQuery(".ai-debug-page-type").dblclick(function(){jQuery("#ai-iab-tcf-status").text("CONSENT COOKIES");jQuery("#ai-iab-tcf-bar").show()});jQuery("#ai-iab-tcf-bar").click(function(){h("euconsent-v2");h("__lxG__consent__v2");h("__lxG__consent__v2_daisybit");h("__lxG__consent__v2_gdaisybit");h("CookieLawInfoConsent"); h("cookielawinfo-checkbox-advertisement");h("cookielawinfo-checkbox-analytics");h("cookielawinfo-checkbox-necessary");h("complianz_policy_id");h("complianz_consent_status");h("cmplz_marketing");h("cmplz_consent_status");h("cmplz_preferences");h("cmplz_statistics-anonymous");h("cmplz_choice");h("cmplz_banner-status");h("cmplz_functional");h("cmplz_policy_id");h("cmplz_statistics");h("moove_gdpr_popup");h("real_cookie_banner-blog:1-tcf");h("real_cookie_banner-blog:1");jQuery("#ai-iab-tcf-status").text("CONSENT COOKIES DELETED")})}, 5)})}); function ai_process_element_lists(a){setTimeout(function(){"function"==typeof ai_process_rotations_in_element&&ai_process_rotations_in_element(a);"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data",a));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data",a));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check",a));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(a);"function"==typeof ai_process_impressions&& 1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5)} function getAllUrlParams(a){var B=a?a.split("?")[1]:window.location.search.slice(1);a={};if(B){B=B.split("#")[0];B=B.split("&");for(var E=0;E<B.length;E++){var v=B[E].split("="),H=void 0,w=v[0].replace(/\[\d*\]/,function(h){H=h.slice(1,-1);return""});v="undefined"===typeof v[1]?"":v[1];w=w.toLowerCase();v=v.toLowerCase();a[w]?("string"===typeof a[w]&&(a[w]=[a[w]]),"undefined"===typeof H?a[w].push(v):a[w][H]=v):a[w]=v}}return a}; var ai_ip=!0,ai_data_id="f8321b3b1a",ai_ajax_url="https://hu.taphoamini.com/wp-admin/admin-ajax.php",ai_block_class_def="code-block"; jQuery(function(b){function u(c,d){d||(d=window.location.href);c=c.replace(/[\[\]]/g,"\\$&");return(c=(new RegExp("[?&]"+c+"(=([^&#]*)|&|#|$)")).exec(d))?c[2]?decodeURIComponent(c[2].replace(/\+/g," ")):"":null}function v(c){c.removeClass("ai-ip-data");var d=!1;if(""!=ai_ip_data){try{var k=JSON.parse(ai_ip_data),f=k[0],l=k[1],m=k[2],n=k[3]}catch(e){return}var q=!1;-1!=f.indexOf("#")&&(q=!0,f=f.replace("#",""));var p="";q&&(p="CFP BLOCKED, ");p=p+f+", "+l;null!=m&&null!=n&&(p=p+":"+m+":"+n);null== m&&(m="");null==n&&(n="");null!=k&&c.each(function(){var e=b(this).closest("div.code-block");d=!0;var g=b(this).attr("ip-addresses");if("undefined"!=typeof g){g=g.split(",");var r=b(this).attr("ip-address-list"),h=!1;b.each(g,function(t,a){if("*"==a.charAt(0))if("*"==a.charAt(a.length-1)){if(a=a.substr(1,a.length-2),-1!=f.indexOf(a))return h=!0,!1}else{if(a=a.substr(1),f.substr(-a.length)==a)return h=!0,!1}else if("*"==a.charAt(a.length-1)){if(a=a.substr(0,a.length-1),0==f.indexOf(a))return h= !0,!1}else if("#"==a){if(""==f)return h=!0,!1}else if("CFP"==a.toUpperCase()){if(q)return h=!0,!1}else if(a==f)return h=!0,!1});switch(r){case "B":h&&(d=!1);break;case "W":h||(d=!1)}}if(d&&(g=b(this).attr("countries"),"undefined"!=typeof g))switch(g=g.split(","),r=b(this).attr("country-list"),h=!1,b.each(g,function(t,a){a=a.trim().split(":");if(null==a[1]||""==m)a[1]="";if(null==a[2]||""==n)a[2]="";t=a.join(":").toUpperCase();a=(l+":"+(""==a[1]?"":m)+":"+(""==a[2]?"":n)).toUpperCase();if(t==a)return h= !0,!1}),r){case "B":h&&(d=!1);break;case "W":h||(d=!1)}b(this).css({visibility:"",position:"",width:"",height:"","z-index":""});g=b(this).prev(".ai-debug-bar");g.find(".ai-debug-name.ai-ip-country").text(p);g.find(".ai-debug-name.ai-ip-status").text(d?ai_front.visible:ai_front.hidden);d?(e.css({visibility:""}),e.hasClass("ai-remove-position")&&e.css({position:""}),"undefined"!=typeof b(this).data("code")&&(g=b64d(b(this).data("code")),0!=b(this).closest("head").length?(b(this).after(g),b(this).remove()): b(this).append(g),b(this).attr("data-code",""),ai_process_element(this))):(b(this).hide(),e.length&&(e.removeAttr("data-ai").removeClass("ai-track"),e.find(".ai-debug-block").length?(e.css({visibility:""}).removeClass("ai-close"),e.hasClass("ai-remove-position")&&e.css({position:""}),"undefined"!=typeof b(this).data("code")&&(e.removeClass("ai-list-block"),e.removeClass("ai-list-block-filter"),e.prev().hasClass("ai-debug-info")&&e.prev().remove())):e[0].hasAttribute("style")&&-1==e.attr("style").indexOf("height:")&& e.hide()));e.removeClass("ai-list-block-ip")})}}ai_process_ip_addresses=function(c){c=null==c?b("div.ai-ip-data, meta.ai-ip-data"):b(c).filter(".ai-ip-data");if(c.length)if("undefined"!=typeof ai_ip_data)v(c);else if("undefined"==typeof ai_ip_data_requested){ai_ip_data_requested=!0;var d="/wp-admin/admin-ajax.php?action=ai_ajax&ip-data=ip-address-country-city",k=u("ai-debug-ip-address");null!=k&&(d+="&ai-debug-ip-address="+k);k=u("ai-debug-country");null!=k&&(d+="&ai-debug-country="+k); b.ajax({url:d,type:"post",data:{ai_check:"f8321b3b1a",ai_version:(new Date).getTime()+"-"+Math.round(1E5*Math.random())},async:!0}).done(function(f){ai_ip_data=f;if(""==f){var l="Ajax request returned empty data, geo-targeting disabled";console.error(l);"undefined"!=typeof ai_js_errors&&ai_js_errors.push([l,d,0])}else try{JSON.parse(f)}catch(m){l="Ajax call returned invalid data, geo-targeting disabled",console.error(l,f),"undefined"!=typeof ai_js_errors&&ai_js_errors.push([l,d,0])}c=b("div.ai-ip-data, meta.ai-ip-data"); c.length&&v(c)}).fail(function(f,l,m){b("div.ai-ip-data").each(function(){b(this).css({display:"none",visibility:"",position:"",width:"",height:"","z-index":""}).removeClass("ai-ip-data").hide()})})}};b(document).ready(function(c){setTimeout(function(){ai_process_ip_addresses()},5)})}); function ai_process_element(b){setTimeout(function(){"function"==typeof ai_process_rotations_in_element&&ai_process_rotations_in_element(b);"function"==typeof ai_process_lists&&ai_process_lists(jQuery(".ai-list-data",b));"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses(jQuery(".ai-ip-data",b));"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks(jQuery(".ai-filter-check",b));"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(b);"function"==typeof ai_process_impressions&& 1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5)}; var ai_internal_tracking=1,ai_external_tracking=0,ai_external_tracking_category="Ad Inserter Pro",ai_external_tracking_action="[EVENT]",ai_external_tracking_label="[BLOCK_NUMBER] - [BLOCK_VERSION_NAME]",ai_external_tracking_username="",ai_track_pageviews=1,ai_advanced_click_detection=0,ai_viewport_widths=[980,768,0],ai_viewport_indexes=[1,2,3],ai_viewport_names_string="WyJEZXNrdG9wIiwiVGFibGV0IiwiUGhvbmUiXQ==",ai_data_id="f8321b3b1a", ai_ajax_url="https://hu.taphoamini.com/wp-admin/admin-ajax.php",ai_debug_tracking=0,ai_adb_attribute='ZGF0YS1kYXRhLW1hc2s='; /* jQuery iframe click tracking plugin @license http://opensource.org/licenses/Apache-2.0 @version 2.1.0 */ (function(e,z){"function"===typeof define&&define.amd?define(["jquery"],function(m){return z(m)}):"object"===typeof module&&module.exports?module.exports=z(require("jquery")):z(e.jQuery)})(this,function(e){function z(m,h){return(new RegExp("^"+h.split("*").map(r=>r.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")).join(".*")+"$")).test(m)}(function(m){m.fn.iframeTracker=function(h){"function"==typeof h&&(h={blurCallback:h});var r=this.get();if(null===h||!1===h)m.iframeTracker.untrack(r);else if("object"== typeof h)m.iframeTracker.track(r,h);else throw Error("Wrong handler type (must be an object, or null|false to untrack)");return this};m.iframeTracker={focusRetriever:null,focusRetrieved:!1,handlersList:[],isIE8AndOlder:!1,init:function(){try{!0===m.browser.msie&&9>m.browser.version&&(this.isIE8AndOlder=!0)}catch(h){try{9>navigator.userAgent.match(RegExp("(msie) ([\\w.]+)","i"))[2]&&(this.isIE8AndOlder=!0)}catch(r){}}m(window).focus();m(window).blur(function(h){m.iframeTracker.windowLoseFocus(h)}); m("body").append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /><label for="focus_retriever"> </label></div>');this.focusRetriever=m("#focus_retriever");this.focusRetrieved=!1;if(this.isIE8AndOlder){this.focusRetriever.blur(function(h){h.stopPropagation();h.preventDefault();m.iframeTracker.windowLoseFocus(h)});m("body").click(function(h){m(window).focus()});m("form").click(function(h){h.stopPropagation()}); try{m("body").on("click","form",function(h){h.stopPropagation()})}catch(h){console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: "+h.message+")")}}},track:function(h,r){r.target=h;m.iframeTracker.handlersList.push(r);m(h).bind("mouseover",{handler:r},m.iframeTracker.mouseoverListener).bind("mouseout",{handler:r},m.iframeTracker.mouseoutListener)},untrack:function(h){if("function"!=typeof Array.prototype.filter)console.log("Your browser doesn't support Array filter, untrack disabled"); else{m(h).each(function(b){m(this).unbind("mouseover",m.iframeTracker.mouseoverListener).unbind("mouseout",m.iframeTracker.mouseoutListener)});var r=function(b){return null===b?!1:!0},w;for(w in this.handlersList){for(var x in this.handlersList[w].target)-1!==m.inArray(this.handlersList[w].target[x],h)&&(this.handlersList[w].target[x]=null);this.handlersList[w].target=this.handlersList[w].target.filter(r);0===this.handlersList[w].target.length&&(this.handlersList[w]=null)}this.handlersList=this.handlersList.filter(r)}}, mouseoverListener:function(h){h.data.handler.over=!0;m.iframeTracker.retrieveFocus();try{h.data.handler.overCallback(this,h)}catch(r){}},mouseoutListener:function(h){h.data.handler.over=!1;m.iframeTracker.retrieveFocus();try{h.data.handler.outCallback(this,h)}catch(r){}},retrieveFocus:function(){if(document.activeElement&&"IFRAME"===document.activeElement.tagName){var h=!0;if(document.activeElement.hasAttribute("id")&&"undefined"!==typeof ai_ignore_iframe_ids&&ai_ignore_iframe_ids.constructor===Array){var r= document.activeElement.id;ai_ignore_iframe_ids.forEach(function(x){z(r,x)&&(h=!1)})}if(h&&document.activeElement.hasAttribute("class")&&"undefined"!==typeof ai_ignore_iframe_classes&&ai_ignore_iframe_classes.constructor===Array){var w=document.activeElement.className;ai_ignore_iframe_classes.forEach(function(x){z(w,x)&&(h=!1)})}h&&(m.iframeTracker.focusRetriever.focus(),m.iframeTracker.focusRetrieved=!0)}},windowLoseFocus:function(h){for(var r in this.handlersList)if(!0===this.handlersList[r].over)try{this.handlersList[r].blurCallback(h)}catch(w){}}}; m(document).ready(function(){m.iframeTracker.init()})})(e)});ai_tracking_finished=!1;ai_viewport_names=JSON.parse(b64d(ai_viewport_names_string)); jQuery(document).ready(function(e){function z(b,k,g,a,c,n,f){b=b.replace("[EVENT]",k);b=b.replace("[BLOCK_NUMBER]",g);b=b.replace("[BLOCK_NAME]",a);b=b.replace("[BLOCK_COUNTER]",c);b=b.replace("[VERSION_NUMBER]",n);b=b.replace("[VERSION_NAME]",f);b=b.replace("[BLOCK_VERSION_NUMBER]",g+(0==n?"":" - "+n));b=b.replace("[BLOCK_VERSION_NAME]",a+(""==f?"":" - "+f));return b=b.replace("[WP_USERNAME]",ai_external_tracking_username)}function m(b,k,g,a,c,n,f){var d=z(ai_external_tracking_category,b,k,g,a,c, n),p=z(ai_external_tracking_action,b,k,g,a,c,n),l=z(ai_external_tracking_label,b,k,g,a,c,n);if("function"!=typeof ai_external_tracking_event||0!=ai_external_tracking_event({event:b,block:k,block_name:g,block_counter:a,version:c,version_name:n},d,p,l,f))"function"==typeof window.ga&&(b="send","string"==typeof ai_ga_tracker_name?b=ai_ga_tracker_name+"."+b:(k=ga.getAll(),0!=k.length&&(k=k[0].get("name"),"t0"!=k&&(b=k+"."+b))),ga(b,"event",{eventCategory:d,eventAction:p,eventLabel:l,nonInteraction:f})), "function"==typeof window.gtag&>ag("event","impression",{event_category:d,event_action:p,event_label:l,non_interaction:f}),"function"==typeof window.__gaTracker&&__gaTracker("send","event",{eventCategory:d,eventAction:p,eventLabel:l,nonInteraction:f}),"object"==typeof _gaq&&_gaq.push(["_trackEvent",d,p,l,void 0,f]),"object"==typeof _paq&&_paq.push(["trackEvent",d,p,l])}function h(b,k){var g=b[0],a=b[1];if(Number.isInteger(a))if("undefined"==typeof ai_check_data&&"undefined"==typeof ai_check_data_timeout)ai_check_data_timeout= !0,setTimeout(function(){h(b,k)},2500);else{ai_cookie=ai_load_cookie();for(var c in ai_cookie)if(parseInt(g)==parseInt(c))for(var n in ai_cookie[c])if("c"==n){var f=ai_cookie[c][n];if(0<f)if(ai_set_cookie(c,"c",f-1),1==f){f=e("span[data-ai-block="+g+"]").data("ai-cfp-time");var d=new Date;d=Math.round(d.getTime()/1E3);var p=d+604800;ai_set_cookie(c,"c",-p);setTimeout(function(){e("span[data-ai-block="+g+"]").closest("div[data-ai]").remove()},50)}else ai_set_cookie(c,"c",f-1)}else if("cpt"==n)if(f= ai_cookie[c][n],0<f){if(ai_set_cookie(c,"cpt",f-1),1==f){f=e("span[data-ai-block="+g+"]").data("ai-cfp-time");d=new Date;d=Math.round(d.getTime()/1E3);p=ai_cookie[c].ct;ai_set_cookie(c,"x",p);var l=e("span[data-ai-block="+g+"]").closest("div[data-ai]");setTimeout(function(){l.closest("div[data-ai]").remove()},75);"undefined"!=typeof f&&(p=d+86400*f,ai_set_cookie(g,"x",p),e("span.ai-cfp").each(function(q){q=e(this).data("ai-block");var u=e(this);setTimeout(function(){u.closest("div[data-ai]").remove()}, 50);ai_set_cookie(q,"x",p)}))}}else ai_check_data.hasOwnProperty(c)&&ai_check_data[c].hasOwnProperty("cpt")&&ai_check_data[c].hasOwnProperty("ct")?ai_cookie.hasOwnProperty(c)&&ai_cookie[c].hasOwnProperty("ct")&&(d=new Date,f=ai_cookie[c].ct-Math.round(d.getTime()/1E3),0>=f&&(d=Math.round(d.getTime()/1E3),ai_set_cookie(c,"cpt",ai_check_data[c].cpt-1),ai_set_cookie(c,"ct",Math.round(d+86400*ai_check_data[c].ct)))):(ai_cookie.hasOwnProperty(c)&&ai_cookie[c].hasOwnProperty("cpt")&&ai_set_cookie(c,"cpt", ""),ai_cookie.hasOwnProperty(c)&&ai_cookie[c].hasOwnProperty("ct")&&ai_set_cookie(c,"ct",""));ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("cpt")&&(f=ai_cookie.G.cpt,0<f?(ai_set_cookie("G","cpt",f-1),1==f&&(f=e("span[data-ai-block="+g+"]").data("ai-cfp-time"),d=new Date,d=Math.round(d.getTime()/1E3),p=ai_cookie.G.ct,ai_set_cookie(g,"x",p),l=e("span[data-ai-block="+g+"]").closest("div[data-ai]"),setTimeout(function(){l.closest("div[data-ai]").remove()},75),"undefined"!=typeof f&&(p=d+ 86400*f,ai_set_cookie(g,"x",p),e("span.ai-cfp").each(function(q){q=e(this).data("ai-block");var u=e(this);setTimeout(function(){u.closest("div[data-ai]").remove()},50);ai_set_cookie(q,"x",p)})))):ai_check_data.hasOwnProperty("G")&&ai_check_data.G.hasOwnProperty("cpt")&&ai_check_data.G.hasOwnProperty("ct")?ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("ct")&&(d=new Date,f=ai_cookie.G.ct-Math.round(d.getTime()/1E3),0>=f&&(d=Math.round(d.getTime()/1E3),ai_set_cookie("G","cpt",ai_check_data.G.cpt- 1),ai_set_cookie("G","ct",Math.round(d+86400*ai_check_data.G.ct)))):(ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("cpt")&&ai_set_cookie("G","cpt",""),ai_cookie.hasOwnProperty("G")&&ai_cookie.G.hasOwnProperty("ct")&&ai_set_cookie("G","ct","")));ai_internal_tracking&&"undefined"===typeof ai_internal_tracking_no_clicks&&e.ajax({url:ai_ajax_url,type:"post",data:{action:"ai_ajax",ai_check:ai_data_id,click:g,version:a,type:k},async:!0}).done(function(q){q=q.trim();""!=q&&(q=JSON.parse(q),"undefined"!= typeof q["#"]&&q["#"]==g&&(ai_cookie=ai_load_cookie(),setTimeout(function(){e("span[data-ai-block="+g+"]").closest("div[data-ai]").remove()},50),q=Math.round((new Date).getTime()/1E3)+43200,ai_cookie.hasOwnProperty(g)&&ai_cookie[g].hasOwnProperty("x")||ai_set_cookie(g,"x",q)))});if(ai_external_tracking&&"undefined"===typeof ai_external_tracking_no_clicks){var v=b[2],t=b[3];m("click",g,v,b[4],a,t,!1)}"function"==typeof ai_click_action&&ai_click_action(g,v,a,t)}}function r(){ai_check_data={};if("undefined"== typeof ai_iframe){ai_cookie=ai_load_cookie();e(".ai-check-block").each(function(){var a=e(this).data("ai-block"),c=e(this).data("ai-delay-pv"),n=e(this).data("ai-every-pv"),f=e(this).data("ai-hash"),d=e(this).data("ai-max-imp"),p=e(this).data("ai-limit-imp-per-time"),l=e(this).data("ai-limit-imp-time"),v=e(this).data("ai-max-clicks"),t=e(this).data("ai-limit-clicks-per-time"),q=e(this).data("ai-limit-clicks-time"),u=e(this).data("ai-global-limit-clicks-per-time"),y=e(this).data("ai-global-limit-clicks-time"); if("undefined"!=typeof c&&0<c){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].d=c;var A="";ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("d")&&(A=ai_cookie[a].d);""===A&&ai_set_cookie(a,"d",c-1)}"undefined"!=typeof n&&2<=n&&(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),"undefined"!==typeof ai_delay_showing_pageviews||ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("d")||(ai_cookie.hasOwnProperty(a)||(ai_cookie[a]={}),ai_cookie[a].d=0),ai_check_data[a].e= n);if("undefined"!=typeof d&&0<d){if(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),ai_check_data[a].i=d,ai_check_data[a].h=f,n=c="",ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("i")&&(n=ai_cookie[a].i),ai_cookie[a].hasOwnProperty("h")&&(c=ai_cookie[a].h)),""===n||c!=f)ai_set_cookie(a,"i",d),ai_set_cookie(a,"h",f)}else ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("i")&&(ai_set_cookie(a,"i",""),ai_cookie[a].hasOwnProperty("c")||ai_cookie[a].hasOwnProperty("x")||ai_set_cookie(a, "h",""));if("undefined"!=typeof p&&0<p&&"undefined"!=typeof l&&0<l){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].ipt=p;ai_check_data[a].it=l;d=c="";ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("ipt")&&(c=ai_cookie[a].ipt),ai_cookie[a].hasOwnProperty("it")&&(d=ai_cookie[a].it));if(""===c||""===d)ai_set_cookie(a,"ipt",p),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie(a,"it",Math.round(c+86400*l));0<d&&(c=new Date,c=Math.round(c.getTime()/1E3),d<=c&&(ai_set_cookie(a, "ipt",p),ai_set_cookie(a,"it",Math.round(c+86400*l))))}else ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("ipt")&&ai_set_cookie(a,"ipt",""),ai_cookie[a].hasOwnProperty("it")&&ai_set_cookie(a,"it",""));if("undefined"!=typeof v&&0<v){if(ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={}),ai_check_data[a].c=v,ai_check_data[a].h=f,p=c="",ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("c")&&(p=ai_cookie[a].c),ai_cookie[a].hasOwnProperty("h")&&(c=ai_cookie[a].h)),""===p||c!=f)ai_set_cookie(a, "c",v),ai_set_cookie(a,"h",f)}else ai_cookie.hasOwnProperty(a)&&ai_cookie[a].hasOwnProperty("c")&&(ai_set_cookie(a,"c",""),ai_cookie[a].hasOwnProperty("i")||ai_cookie[a].hasOwnProperty("x")||ai_set_cookie(a,"h",""));if("undefined"!=typeof t&&0<t&&"undefined"!=typeof q&&0<q){ai_check_data.hasOwnProperty(a)||(ai_check_data[a]={});ai_check_data[a].cpt=t;ai_check_data[a].ct=q;f=v="";ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("cpt")&&(v=ai_cookie[a].cpt),ai_cookie[a].hasOwnProperty("ct")&& (f=ai_cookie[a].ct));if(""===v||""===f)ai_set_cookie(a,"cpt",t),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie(a,"ct",Math.round(c+86400*q));0<f&&(c=new Date,c=Math.round(c.getTime()/1E3),f<=c&&(ai_set_cookie(a,"cpt",t),ai_set_cookie(a,"ct",Math.round(c+86400*q))))}else ai_cookie.hasOwnProperty(a)&&(ai_cookie[a].hasOwnProperty("cpt")&&ai_set_cookie(a,"cpt",""),ai_cookie[a].hasOwnProperty("ct")&&ai_set_cookie(a,"ct",""));if("undefined"!=typeof u&&0<u&&"undefined"!=typeof y&&0<y){ai_check_data.hasOwnProperty("G")|| (ai_check_data.G={});ai_check_data.G.cpt=u;ai_check_data.G.ct=y;a=t="";ai_cookie.hasOwnProperty("G")&&(ai_cookie.G.hasOwnProperty("cpt")&&(t=ai_cookie.G.cpt),ai_cookie.G.hasOwnProperty("ct")&&(a=ai_cookie.G.ct));if(""===t||""===a)ai_set_cookie("G","cpt",u),c=new Date,c=Math.round(c.getTime()/1E3),ai_set_cookie("G","ct",Math.round(c+86400*y));0<a&&(c=new Date,c=Math.round(c.getTime()/1E3),a<=c&&(ai_set_cookie("G","cpt",u),ai_set_cookie("G","ct",Math.round(c+86400*y))))}else ai_cookie.hasOwnProperty("G")&& (ai_cookie.G.hasOwnProperty("cpt")&&ai_set_cookie("G","cpt",""),ai_cookie.G.hasOwnProperty("ct")&&ai_set_cookie("G","ct",""))});e(".ai-check-block").removeClass("ai-check-block");for(var b in ai_cookie)for(var k in ai_cookie[b])if("d"==k){var g=ai_cookie[b][k];0<g?ai_set_cookie(b,"d",g-1):ai_check_data.hasOwnProperty(b)&&ai_check_data[b].hasOwnProperty("e")?ai_set_cookie(b,"d",ai_check_data[b].e-1):ai_check_data.hasOwnProperty(b)&&ai_check_data[b].hasOwnProperty("d")||ai_set_cookie(b,"d","")}}}function w(){Array.prototype.forEach.call(document.querySelectorAll("[data-ai]"), function(n){for(var f="",d=1;9>=d;d++)if(n.hasAttribute("data-ai-"+d))f=n.getAttribute("data-ai-"+d);else break;""!=f&&n.setAttribute("data-ai",f)});if(ai_track_pageviews){var b=document.documentElement.clientWidth,k=window.innerWidth,g=b<k?k:b,a=0;e.each(ai_viewport_widths,function(n,f){if(g>=f)return a=ai_viewport_indexes[n],!1});b=jQuery(b64d("Ym9keQ==")).attr(b64d(ai_adb_attribute));if("string"===typeof b)var c=b==b64d("bWFzaw==");"string"===typeof b&&"boolean"===typeof c&&c&&(ai_external_tracking&& m("ad blocking",0,ai_viewport_names[a-1],0,0,"",!0),a|=128);x=[0,a]}r();ai_process_impressions();0!=x.length&&ai_internal_tracking&&e.ajax({url:ai_ajax_url,type:"post",data:{action:"ai_ajax",ai_check:ai_data_id,views:[0],versions:[a]},async:!0}).done(function(n){});ai_tracking_finished=!0}ai_debug_tracking&&(ai_ajax_url+="?ai-debug-tracking=1");Number.isInteger=Number.isInteger||function(b){return"number"===typeof b&&isFinite(b)&&Math.floor(b)===b};ai_install_standard_click_trackers=function(b){"undefined"== typeof b&&(b=e("body"));b=e("div.ai-track[data-ai]:visible",b);var k=e();b.each(function(){0==e(this).find("div.ai-lazy, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length&&(k=k.add(e(this)))});b=k;b.removeClass("ai-track");b=b.find("a");0!=b.length&&(ai_advanced_click_detection?b.click(function(){for(var g=e(this).closest("div[data-ai]");"undefined"!=typeof g.attr("data-ai");){var a=JSON.parse(b64d(g.attr("data-ai")));"undefined"!==typeof a&&a.constructor===Array&&Number.isInteger(a[1])&& !g.hasClass("clicked")&&(g.addClass("clicked"),h(a,"a.click"));g=g.parent().closest("div[data-ai]")}}):b.click(function(){for(var g=e(this).closest("div[data-ai]");"undefined"!=typeof g.attr("data-ai");){var a=JSON.parse(b64d(g.attr("data-ai")));"undefined"!==typeof a&&a.constructor===Array&&Number.isInteger(a[1])&&(h(a,"a.click"),clicked=!0);g=g.parent().closest("div[data-ai]")}}))};ai_install_click_trackers=function(b){"undefined"==typeof b&&(b=e("body"));if(ai_advanced_click_detection){var k=e("div.ai-track[data-ai]:visible, div.ai-rotate[data-info]:visible div.ai-track[data-ai]", b);"undefined"!=typeof e(b).attr("data-ai")&&e(b).hasClass("ai-track")&&e(b).is(":visible")&&(k=k.add(b));var g=e();k.each(function(){0==e(this).find("div.ai-lazy, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length&&(g=g.add(e(this)))});k=g;0!=k.length&&k.iframeTracker({blurCallback:function(){if(null!=this.ai_data&&null!=wrapper&&!wrapper.hasClass("clicked")){wrapper.addClass("clicked");h(this.ai_data,"blurCallback");for(var a=wrapper.find("div[data-ai]:visible");"undefined"!= typeof a.attr("data-ai");){var c=JSON.parse(b64d(a.attr("data-ai")));"undefined"!==typeof c&&c.constructor===Array&&Number.isInteger(c[1])&&h(c,"blurCallback INNER");a=a.find("div[data-ai]:visible")}}},overCallback:function(a){a=e(a).closest("div[data-ai]");if("undefined"!=typeof a.attr("data-ai")){var c=JSON.parse(b64d(a.attr("data-ai")));"undefined"!==typeof c&&c.constructor===Array&&Number.isInteger(c[1])?(wrapper=a,this.ai_data=c):(null!=wrapper&&wrapper.removeClass("clicked"),this.ai_data=wrapper= null)}},outCallback:function(a){null!=wrapper&&wrapper.removeClass("clicked");this.ai_data=wrapper=null},focusCallback:function(a){if(null!=this.ai_data&&null!=wrapper&&!wrapper.hasClass("clicked"))for(wrapper.addClass("clicked"),h(this.ai_data,"focusCallback"),a=wrapper.find("div[data-ai]:visible");"undefined"!=typeof a.attr("data-ai");){var c=JSON.parse(b64d(a.attr("data-ai")));"undefined"!==typeof c&&c.constructor===Array&&Number.isInteger(c[1])&&h(c,"focusCallback INNER");a=a.find("div[data-ai]:visible")}}, wrapper:null,ai_data:null,block:null,version:null})}ai_install_standard_click_trackers(b)};var x=[];ai_process_impressions=function(b){"undefined"==typeof b&&(b=e("body"));var k=[],g=[],a=[],c=[],n=[];0!=x.length&&(k.push(x[0]),g.push(x[1]),a.push("Pageviews"),n.push(0),c.push(""));var f=e("div.ai-track[data-ai]:visible:not(.ai-no-pageview), div.ai-rotate[data-info]:visible div.ai-track[data-ai]:not(.ai-no-pageview)",b);"undefined"!=typeof e(b).attr("data-ai")&&e(b).hasClass("ai-track")&&e(b).is(":visible")&& !e(b).hasClass("ai-no-pageview")&&(f=f.add(b));0!=f.length&&e(f).each(function(){if("undefined"!=typeof e(this).attr("data-ai")){var l=JSON.parse(b64d(e(this).attr("data-ai")));if("undefined"!==typeof l&&l.constructor===Array){var v=0,t=e(this).find("div.ai-rotate[data-info]");1==t.length&&(v=JSON.parse(b64d(t.data("info")))[1]);if(Number.isInteger(l[0])&&0!=l[0]&&Number.isInteger(l[1])){t=0;var q=e(this).hasClass("ai-no-tracking"),u=jQuery(b64d("Ym9keQ==")).attr(b64d(ai_adb_attribute));if("string"=== typeof u)var y=u==b64d("bWFzaw==");if("string"===typeof u&&"boolean"===typeof y){var A=e(this).outerHeight();u=e(this).find(".ai-attributes");u.length&&u.each(function(){A>=e(this).outerHeight()&&(A-=e(this).outerHeight())});u=e(this).find(".ai-code");u.length&&(A=0,u.each(function(){A+=e(this).outerHeight()}));y&&0===A&&(t=128)}0!=e(this).find("div.ai-lazy, div.ai-manual, div.ai-list-manual, div.ai-manual-auto, div.ai-delayed").length&&(q=!0);if(!q)if(0==v)k.push(l[0]),g.push(l[1]|t),a.push(l[2]), c.push(l[3]),n.push(l[4]);else for(y=1;y<=v;y++)k.push(l[0]),g.push(y|t),a.push(l[2]),c.push(l[3]),n.push(l[4])}}}});ai_cookie=ai_load_cookie();for(var d in ai_cookie)if(k.includes(parseInt(d)))for(var p in ai_cookie[d])"i"==p?(b=ai_cookie[d][p],0<b&&(1==b?(b=new Date,b=Math.round(b.getTime()/1E3)+604800,ai_set_cookie(d,"i",-b)):ai_set_cookie(d,"i",b-1))):"ipt"==p&&(b=ai_cookie[d][p],0<b?ai_set_cookie(d,"ipt",b-1):ai_check_data.hasOwnProperty(d)&&ai_check_data[d].hasOwnProperty("ipt")&&ai_check_data[d].hasOwnProperty("it")? ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("it")&&(b=new Date,0>=ai_cookie[d].it-Math.round(b.getTime()/1E3)&&(b=Math.round(b.getTime()/1E3),ai_set_cookie(d,"ipt",ai_check_data[d].ipt),ai_set_cookie(d,"it",Math.round(b+86400*ai_check_data[d].it)))):(ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("ipt")&&ai_set_cookie(d,"ipt",""),ai_cookie.hasOwnProperty(d)&&ai_cookie[d].hasOwnProperty("it")&&ai_set_cookie(d,"it","")));if(k.length&&(ai_internal_tracking&&"undefined"===typeof ai_internal_tracking_no_impressions&& (x=[],e.ajax({url:ai_ajax_url,type:"post",data:{action:"ai_ajax",ai_check:ai_data_id,views:k,versions:g},async:!0}).done(function(l){l=l.trim();if(""!=l&&(l=JSON.parse(l),"undefined"!=typeof l["#"])){ai_cookie=ai_load_cookie();var v=Math.round((new Date).getTime()/1E3)+43200,t=[],q;for(q in l["#"])ai_cookie.hasOwnProperty(l["#"][q])&&ai_cookie[l["#"][q]].hasOwnProperty("x")||ai_set_cookie(l["#"][q],"x",v);setTimeout(function(){for(index=0;index<t.length;++index)e("span[data-ai-block="+t[index]+"]").closest("div[data-ai]").remove()}, 50)}})),ai_external_tracking&&"undefined"===typeof ai_external_tracking_no_impressions))for(d=0;d<k.length;d++)0!=k[d]&&m("impression",k[d],a[d],n[d],g[d],c[d],!0)};jQuery(window).on("load",function(){"undefined"==typeof ai_delay_tracking&&(ai_delay_tracking=0);setTimeout(w,ai_delay_tracking+1400);setTimeout(ai_install_click_trackers,ai_delay_tracking+1500)})}); ai_run_597471461459 = function(){ ai_document_write=document.write;document.write=function(a){"interactive"==document.readyState?(console.error("document.write called after page load: ",a),"undefined"!=typeof ai_js_errors&&ai_js_errors.push(["document.write called after page load",a,0])):ai_document_write.call(document,a)}; ai_insert_viewport_code ('ai-insert-5-10741323'); ai_insert_viewport_code ('ai-insert-4-67742731'); ai_insert_viewport_code ('ai-insert-3-93363885'); ai_insert_viewport_code ('ai-insert-2-84913231'); ai_insert_viewport_code ('ai-insert-1-17082243'); }; if (document.readyState === 'complete' || (document.readyState !== 'loading' && !document.documentElement.doScroll)) ai_run_597471461459 (); else document.addEventListener ('DOMContentLoaded', ai_run_597471461459); ai_js_code = true;} function ai_wait_for_jquery(){function b(f,c){var a=document.createElement("script");a.src=f;var d=document.getElementsByTagName("head")[0],e=!1;a.onload=a.onreadystatechange=function(){e||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(e=!0,c&&c(),a.onload=a.onreadystatechange=null,d.removeChild(a))};d.appendChild(a)}window.jQuery&&window.jQuery.fn?ai_run_scripts():(ai_jquery_waiting_counter++,4==ai_jquery_waiting_counter&&b("https://hu.taphoamini.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1",function(){b("https://hu.taphoamini.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=6.5.3", null)}),30>ai_jquery_waiting_counter&&setTimeout(function(){ai_wait_for_jquery()},50))}ai_jquery_waiting_counter=0;ai_wait_for_jquery(); </script> </body> </html> <!-- Page supported by LiteSpeed Cache 6.2.0.1 on 2024-05-15 20:16:20 -->