1"use strict";(()=>{function e(){return document.querySelectorAll(".frc-captcha")}function t(e,t,n){""===e.style[t]&&(e.style[t]=n)}function n(e){"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e)}function i(e){let t,n;const i=new Promise(((e,i)=>{t=e,n=i}));return e&&e(t,n),{promise:i,resolve:t,reject:n}}function o(e,t){return 0===e.lastIndexOf(t,0)}function r(e){let t=[];const n=Object.keys(e),i=encodeURIComponent;for(let o=0;o<n.length;o++)t.push(`${i(n[o])}=${i(e[n[o]])}`);return t.join("&")}function s(e){const t=document.location;if(o(e,"/")||o(e,"."))return t.origin?t.origin:t.protocol+"//"+t.host;const n=e.match(z);if(!n)throw new Error("Invalid URL: "+e);return n[1]}function a(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let n="";for(let i=0;i<e;i++)n+=t.charAt(Math.floor(Math.random()*t.length));return n}function c(e){return new Promise(((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function d(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const i=c(n);return(e,n)=>i.then((i=>n(i.transaction(t,e).objectStore(t))))}function l(){return O||(O=d("keyval-store","keyval")),O}function h(e){if(!X){let n=0;try{n=parseInt(sessionStorage.getItem(j)||"",10)}catch(t){}isNaN(n)&&(n=0),e&&n++,Y=n.toString();try{sessionStorage.setItem(j,Y)}catch(t){}}return Y}function g(){let e;try{e=sessionStorage.getItem(L)}catch(t){return V}return e||(e=a(12),sessionStorage.setItem(L,e)),e}function u(e){return e.toLowerCase().split("-")[0].split("_")[0]}function m(e){return e=u(e),-1!==B.indexOf(e)}function f(e){return e=u(e),($[e]||$.en).title+" - Widget"}function p(e,t){return e=u(e),($[e]||$.en)[t]}function y(e){e.textDecoration=e.fontStyle="none",e.fontWeight="500",e.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',e.lineHeight="1",e.letterSpacing="-0.0125rem"}function v(e){let t=e.language;return t&&"html"!==t||(t=function(e){for(;!e.lang;)if(!(e=e.parentElement))return null;return e.lang}(e.element)||""),t}function b(){const e=window.performance;return e?e.now():0}function w(e,...t){for(let i=0;i<t.length;i++){const o=t[i];for(var n in o)o.hasOwnProperty(n)&&(e[n]=o[n])}return e}function k(){const e=[0,0,0,0,0,0,0];return{s:e,add(t){const n=++e[0],i=t-e[1],o=i/n,r=o*o,s=i*o*(n-1);e[1]+=o,e[4]+=s*r*(n*n-3*n+3)+6*r*e[2]-4*o*e[3],e[3]+=s*o*(n-2)-3*o*e[2],e[2]+=s,1==n?e[5]=e[6]=t:(t<e[5]&&(e[5]=t),t>e[6]&&(e[6]=t))}}}function _(){return/Android/i.test(navigator.userAgent)}function E(e,t,i=!1,o){const r=k();let s,a=!1;return n((()=>{(o=o||document.body)[Z](e,(e=>{a&&!i||(s=e.timeStamp,a=!0)})),o[Z](t,(e=>{a&&(r.add(e.timeStamp-s),a=!1)}))})),r.s}function S(e){const t=[];for(let n=0;n<e.length;n++)t.push(0),document[Z](e[n],(()=>t[n]++));return t}function R(){const e=[0,0,0,0,0,0,0,0],t={8:1,46:1,9:2,45:3,17:4,13:5,37:6,38:6,39:6,40:6,33:7,34:7};return document[Z]("keydown",(n=>{const i=n.keyCode;t[i]?e[t[i]]++:i>=112&&i<=123&&e[0]++})),e}function A(e,t,n,i){return J.sqrt(J.pow(e-t,2)+J.pow(n-i,2))}function x(e,t,n){return J.sqrt(J.pow(e,2)+J.pow(t,2)+J.pow(n,2))}function M(e,t){let n=t-e;return n+=n>180?-360:n<-180?360:0,n}function C(e){let t=e;return t?ee[t]&&(t=ee[t]):t=ee.global,s(t)}function F(){const e=document.querySelector('meta[name="frc-disable-eval-patching"]');return!!e&&!!e.content}function D(){const e=document.querySelector('meta[name="frc-api-endpoint"]');if(e)return e.content;const t=document.currentScript;if(t){const e=t.dataset.frcApiEndpoint;if(e)return e}
1const n=document.querySelector(".frc-captcha[data-api-endpoint]");if(n){const e=n.dataset.apiEndpoint;if(e)return e}}function T(){const e=window.Intl;if(!e||!e.DateTimeFormat)return;const t=new e.DateTimeFormat;return t&&t.resolvedOptions?t.resolvedOptions().timeZone:void 0}var O,P,I,z=/^((?:\w+:)?\/\/([^\/]+))/,W=class{constructor(e){this.ready=!1,this.buffer=[],this.id=e.id,this.type=e.type,this.element=e.element,this.onReady=e.onReady,this.origin=s(e.element.src)}send(e){this.ready?this.element.contentWindow.postMessage(e,this.origin):this.buffer.push(e)}setReady(e){this.onReady(),this.ready=e,this.ready&&this.flush()}flush(){for(let e=0;e<this.buffer.length;e++)this.element.contentWindow.postMessage(this.buffer[e],this.origin);this.buffer=[]}},N=class{constructor(){this.origins=new Set,this.targets={},this.answered=new Set,this.onReceiveRootMessage=()=>{},window.addEventListener("message",(e=>{this.onReceive(e)}))}listen(e){let t=this.onReceiveRootMessage;this.onReceiveRootMessage=n=>{t(n),e(n)}}addOrigin(e){this.origins.add(e)}send(e){if(e.from_id){const t=this.targets[e.from_id];if(!t)return void console.error(`[bus] Unexpected message from unknown sender ${e.from_id}`,e);"widget_announce"!==e.type&&"agent_announce"!==e.type||t.setReady(!0)}const t=e.rid;if(t){if(this.answered.has(t+e.to_id))return;this.answered.add(t+e.to_id)}if(""===e.to_id)return void this.onReceiveRootMessage(e);const n=this.targets[e.to_id];n?n.send(e):console.error(`[bus] Unexpected message to unknown target ${e.to_id}`,e)}onReceive(e){if(t=e.origin,n=this.origins,"*"!==t&&!n.has(t))return;var t,n;const i=e.data;i&&i._frc&&this.send(i)}registerTarget(e){this.targets[e.id]=e}registerTargetIFrame(e,t,n,o){const r=i();let s=new Promise((e=>setTimeout((()=>e("timeout")),o)));const a=new W({id:t,element:n,type:e,onReady:()=>r.resolve("registered")});return this.registerTarget(a),Promise.race([r.promise,s])}removeTarget(e){delete this.targets[e]}},j="frc_sc",L="frc_sid",X=!1,Y="0",V="__"+a(10),q=class{constructor(e){this.mem=new Map,this.storePrefix=e}setup(){return new Promise(((e,t)=>{if(void 0!==this._hasSA)return e(this._hasSA);try{indexedDB.open("")}catch(n){return e(this._hasSA=!1)}if(!document.hasStorageAccess)return e(this._hasSA=!0);document.hasStorageAccess().then((t=>(this._hasSA=t,this._hasSA?this.idb=d("friendlycaptcha","frc"):console.debug("FRC has no storage access"),e(this._hasSA)))).catch(t)}))}get(e,t){return this.setup().then((n=>{const i=this.storePrefix+"__"+e;if(t.p)return n?function(e,t=l()){return t("readonly",(t=>c(t.get(e))))}(i,this.idb):this.mem.get(e);try{const e=sessionStorage.getItem(i);return null===e?void 0:e}catch(o){}return this.mem.get(e)}))}set(e,t,n){return this.setup().then((i=>{const o=this.storePrefix+"__"+e;if(n.p){if(i)return function(e,t,n=l()){return n("readwrite",(n=>(n.put(t,e),c(n.transaction))))}(o,t,this.idb);void 0===t?this.mem.delete(e):this.mem.set(e,t)}else try{void 0===t?(this.mem.delete(e),sessionStorage.removeItem(o)):(this.mem.set(e,t),sessionStorage.setItem(o,t))}catch(r){}}))}hasSA(){return this._hasSA}},H="undefined"!=typeof navigator&&void 0!==navigator.userAgentData,$={ar:{title:"Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª",connecting:"Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª ÙÙØ¯ Ø§ÙØ§ØªØµØ§Ùâ¦",retrying:"Ø§Ø³ØªØºØ±Ù Ø§ÙØ§ØªØµØ§Ù Ø¨Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª ÙÙØªÙا Ø·ÙÙÙØ§Ù.\n\nإعادة اÙÙ
ØØ§ÙÙØ©â¦",failed:"ÙØ´Ù Ø§ÙØ§ØªØµØ§Ù Ø¨Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª."},cs:{title:"OvÄÅenà proti robotům",connecting:"PÅipojovánà kontroly proti robotůmâ¦",retrying:"PÅipojenà kontroly proti robotům trvalo pÅÃliÅ¡ dlouho.\n\nOpakuji pokusâ¦",failed:"Kontrola proti robotům se nepodaÅilo pÅipojit."},da:{title:"Anti-robot-verifikation",connecting:"Anti-robot-kontrol forbinderâ¦",retrying:"Anti-robot-kontrol tog for lang tid at oprette forbindelse.\n\nPrøver igenâ¦",failed:"Anti-robot-kontrol kunne ikke oprette forbindelse."},nl:{title:"Anti-robotcheck",connecting:"Verbinden met Anti-robotcheckâ¦",retrying:"Verbinden met Anti-robotcheck mislukt.\n\nOpnieuw aan het proberenâ¦",failed:"Verbinden met Anti-robotcheck mislukt."},en:{title:"Anti-Robot verification",connecting:"Anti-Robot check connectingâ¦",retrying:"Anti-Robot check took too long to connect.\n\nRetryingâ¦",failed:"Anti-Robot check failed to connect."},fi:{title:"Robottien torjunnan vahvistus",connecting:"Robottien torjunnan tarkistus käynnissäâ¦",retrying:"Robottien torjunnan tarkistus kesti liian kauan.\n\nYritetään uudelleenâ¦",failed:"Robottien torjunnan tarkistus epäonnistui."},fr:{title:"Vérification anti-robot",connecting:"Connexion à la vérification anti-robotâ¦",retrying:"La connexion à la vérification anti-robot a pris trop de temps.\n\nNouvelle tentativeâ¦",failed:"Ãchec de la connexion à la vérification anti-robot."},de:{title:"Anti-Roboter-Verifizierung",connecting:"Verbindung zur Anti-Roboter-Verifizierung wird hergestelltâ¦",retrying:"Verbindung zur Anti-Roboter-Verifizierung hat zu lange gedauert.\n\nErneuter Versuchâ¦",failed:"Verbindung zur Anti-Roboter-Verifizierung ist fehlgeschlagen."},hu:{title:"RobotellenÅrzés",connecting:"RobotellenÅrzés csatlakozásâ¦",retrying:"A robotellenÅrzés túl sokáig tartott a csatlakozáshoz.\n\nÃjrapróbálomâ¦",failed:"A robotellenÅrzés nem tudott csatlakozni."},id:{title:"Verifikasi Anti-Robot",connecting:"Pemeriksaan Anti-Robot sedang terhubungâ¦",retrying:"Pemeriksaan Anti-Robot memakan waktu terlalu lama untuk terhubung.\n\nMencoba lagiâ¦",failed:"Pemeriksaan Anti-Robot gagal terhubung."},it:{title:"Verifica anti-robot",connecting:"Connessione verifica anti-robot in corsoâ¦",retrying:"La connessione alla verifica anti-robot ha richiesto troppo tempo.\n\nRiprovandoâ¦",failed:"Impossibile connettersi alla verifica anti-robot."},pl:{title:"Weryfikacja antyrobotowa",connecting:"ÅÄ
czenie siÄ z kontrolÄ
antyrobotowÄ
â¦",retrying:"ÅÄ
czenie siÄ z kontrolÄ
antyrobotowÄ
trwaÅo zbyt dÅugo. \n\nPonowna próbaâ¦",failed:"Nie udaÅo siÄ poÅÄ
czyÄ z kontrolÄ
antyrobotowÄ
."},pt:{title:"Verificação anti-robô",connecting:"Verificação anti-robô a ligarâ¦",retrying:"A verificação anti-robô demorou demasiado tempo a ligar-se.\n\nA tentar novamenteâ¦",failed:"A verificação anti-robô não conseguiu ligar-se."},ru:{title:"ÐÑовеÑка анÑиÑобоÑа",connecting:"ÐодклÑÑение к пÑовеÑке анÑиÑобоÑаâ¦",retrying:"ÐодклÑÑение к пÑовеÑке анÑиÑобоÑа занÑло ÑлиÑком много вÑемени.\n\nÐовÑоÑÑем попÑÑкÑâ¦",failed:"Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº пÑовеÑке анÑиÑобоÑа."},sk:{title:"Overovanie proti robotom",connecting:"Pripojenie kontroly proti robotomâ¦",retrying:"Pripojenie kontroly proti robotom trvalo prÃliÅ¡ dlho.\n\nOpakujem pokusâ¦",failed:"Pripojenie kontroly proti robotom sa nepod
1arilo."},es:{title:"Verificación antirrobot",connecting:"Conectando verificación antirrobotâ¦",retrying:"La verificación antirrobot tardó demasiado en conectarse.\n\nReintentandoâ¦",failed:"Error al conectar la verificación antirrobot."},sv:{title:"Anti-robotverifiering",connecting:"Anti-robotverifiering ansluterâ¦",retrying:"Anti-robotverifiering tog för lÃ¥ng tid att ansluta.\n\nFörsöker igenâ¦",failed:"Anti-robotverifiering kunde inte ansluta."},tr:{title:"Robot önleme doÄrulaması",connecting:"Robot önleme kontrolü baÄlanıyorâ¦",retrying:"Robot önleme kontrolü baÄlanmak için çok uzun sürdü.\n\nYeniden deniyorâ¦",failed:"Robot önleme kontrolü baÄlanamadı."},vi:{title:"Xác minh chá»ng robot",connecting:"Kiá»m tra robot Äang kết ná»iâ¦",retrying:"Kiá»m tra chá»ng robot mất quá nhiá»u thá»i gian Äá» kết ná»i.\n\nÄang thá» lạiâ¦",failed:"Kiá»m tra chá»ng robot không thá» kết ná»i."},zh:{title:"åæºå¨äººéªè¯",connecting:"åæºå¨äººéªè¯æ£å¨è¿æ¥â¦",retrying:"åæºå¨äººéªè¯è¿æ¥èæ¶è¿é¿ã\n\næ£å¨éè¯â¦",failed:"åæºå¨äººéªè¯è¿æ¥å¤±è´¥ã"}},B=["ar","he","fa","ur","ps","sd","yi"],U="FrcFrameId",K="frc-i-agent",G=class{constructor(e){this.state="init",this.response=".UNINITIALIZED",this.focusEventPending=!1,this.isDestroyed=!1,this.id=e.id;const t=e.createOpts;if(this.e=t.element,this.ready=e.registered,!this.e)throw new Error("No element provided to mount widget under.");if(this.e.frcWidget=this,this.formFieldName=void 0===t.formFieldName?"frc-captcha-response":t.formFieldName,this.sitekey=t.sitekey,this._reset=e.callbacks.onReset,this._destroy=e.callbacks.onDestroy,this._trigger=e.callbacks.onTrigger,this.startMode=e.createOpts.startMode||"focus",null!==this.formFieldName){const e=document.createElement("input");e.type="hidden",e.style.display="none",e.name=this.formFieldName,this.hiddenFormEl=e,this.e.appendChild(e)}this.setState({response:".UNCONNECTED",state:"init"}),this.ready.then((()=>{this.handleStartMode()}))}handleStartMode(){if("focus"!==this.startMode||this.focusEventPending||this.isDestroyed)"auto"===this.startMode&&this.trigger("auto");else{const t=function(e){for(;"FORM"!==e.tagName;)if(!(e=e.parentElement))return null;return e}(this.e);t&&(this.focusEventPending=!0,e=e=>{this.trigger("focus",{ev:e}),this.focusEventPending=!1},t.addEventListener("focusin",e,{once:!0,passive:!0}))}var e}reset(e={trigger:"root"}){if(this.isDestroyed)throw new Error("Can not reset destroyed widget.");this.setState({response:".RESET",state:"reset",resetTrigger:e.trigger}),this._reset(e),this.handleStartMode()}destroy(){this.isDestroyed=!0,this.hiddenFormEl&&this.hiddenFormEl.remove(),this.hiddenFormEl=void 0,this.setState({response:".DESTROYED",state:"destroyed"}),this._destroy()}trigger(e,t={}){if(this.isDestroyed)throw new Error("Can not start destroyed widget.");const n=function(e,t,n,i){const o=b(),r=n.getBoundingClientRect(),s={v:1,tt:e,pnow:o,sm:t,el:{bcr:[r.left,r.top,r.width,r.height],con:document.body.contains(n)},stack:(new Error).stack||"",we:!!window.event,weit:!!window.event&&!!window.event.isTrusted};return i&&(s.ev={ts:i.timeStamp,rt:!!i.relatedTarget,eot:!!i.explicitOriginalTarget,it:i.isTrusted}),s}(e,this.startMode,this.e,t.ev);this._trigger({trigger:n})}start(){this.trigger("programmatic")}setState(e){const t=this.state!==e.state;this.response=e.response,this.state=e.state,this.hiddenFormEl&&!1!==this.e.isConnected&&(this.hiddenFormEl.value=e.response),t&&this.dispatchWidgetEvent({name:"frc:widget.statechange",error:e.error}),"expired"===this.state?this.dispatchWidgetEvent({name:"frc:widget.expire"}):"completed"===this.state?this.dispatchWidgetEvent({name:"frc:widget.complete"}):"error"===this.state?this.dispatchWidgetEvent({name:"frc:widget.error",error:e.error}):"reset"===this.state&&this.dispatchWidgetEvent({name:"frc:widget.reset",trigger:e.resetTrigger})}dispatchWidgetEvent(e){const t={response:this.response,state:this.state,id:this.id};w(t,e),function(e,t){let n;"function"==typeof window.CustomEvent?n=new CustomEvent(t.name,{bubbles:!0,detail:t}):(n=document.createEvent("CustomEvent"),n.initCustomEvent(t.name,!0,!1,t)),e.dispatchEvent(n)}(this.e,t)}addEventListener(e,t,n){this.e.addEventListener(e,t,n)}removeEventListener(e,t,n){this.e.removeEventListener(e,t,n)}getState(){return this.state}getResponse(){return this.response}getElement(){return this.e}},Z="addEventListener",J=Math,Q=class{constructor(e){this.rn=0,this.i=0,this.smel={n:0,ts:0,d:0};const t="mouse",i=this.smel,o=e=>{i.n||(i.fts=e.timeStamp,i.fxy=[e.clientX,e.clientY,e.screenX,e.screenY]),i.n++,e.type===t+"leave"&&(i.d+=e.timeStamp-i.ts),i.ts=e.timeStamp,i.xy=[e.clientX,e.clientY]},r=document;n((()=>{const e=r.body;e[Z](t+"enter",o),e[Z](t+"leave",o)}
vendor: 5,891 bytes, line 1
1)),this.bh={onoff:{kdu:E("keydown","keyup"),cse:E("compositionstart","compositionend"),mdu:E(t+"down",t+"up"),mle:E(t+"leave",t+"enter"),med:E(t+"enter",t+"down",!0),semd:E("scrollend",t+"down",!0,r),se:E("scroll","scrollend",!1,r),pdc:E("pointerdown","pointercancel",!0),mmc:E(t+"move","click",!0),tse:E("touchstart","touchend"),fikd:E("focusin","keydown",!0)},nev:S([t+"out","pointercancel","focus","focusin","blur","visibilitychange","copy","paste","cut","contextmenu","click","auxclick","wheel","resize"]),nk:R(),mov:this.setupMovementMetrics(),dm:this.setupMotionMetrics(),do:this.setupOrientationMetrics()},this.dep=e.disableEvalPatching||!1,this.takeTraceRecords=function(e){const t=[],n=new Map,i=window,o=function(){try{const e=document.createElement("iframe");e.style.display="none",(document.body||document.head).appendChild(e);const t=e?e.contentWindow:0;return e.remove(),t||i}catch(e){return i}}(),r=Function.prototype.toString,s=function(...e){const t="function"==typeof this&&n.get(this),i=this===s?r:t||this;return r.apply(i,e)};Function.prototype.toString=s;const a="prototype",c=i.EventTarget?i.EventTarget[a].dispatchEvent:{},d=[["Document."+a+".documentElement",i.Document[a],"documentElement"],["Element."+a+".shadowRoot",i.Element[a],"shadowRoot"],["Node."+a+".nodeType",i.Node[a],"nodeType"],["Object.is",i.Object,"is"],["Array."+a+".slice",i.Array[a],"slice"],["Document."+a+".querySelectorAll",i.Document[a],"querySelectorAll"],["Document."+a+".createElement",i.Document[a],"createElement"],["EventTarget."+a+".dispatchEvent",c,"dispatchEvent"]];return e.disableEvalPatching||d.push(["eval",i,"eval"]),d.forEach((function([e,r,s]){const a=Object.getOwnPropertyDescriptor(r,s),c=a&&(a.get||a.set);if(!a)return;if(c){if(!a.get)return}else if("object"!=typeof a.value&&"function"!=typeof a.value)return;let d=0,l=0;const h=function(...n){const r=Date.now();if(r-d>=1e3&&(l=0,d=r),l<50){const n={d:r,pnow:b(),n:e,st:(o.Error||i.Error)("FriendlyCaptcha_DummyTrace").stack||""};t.length>2e4&&t.splice(0,1e3),t.push(n),l++}return(c?a.get:a.value).apply(this,n)};try{const e=c?a.get?a.get():void 0:a.value();e&&(h.length=e.length,h.name=e.name)}catch(g){}try{const e=w({},a);c?e.get=h:e.value=h,Object.defineProperty(r,s,e),n.set(h,c?a.get:a.value)}catch(g){}})),function(){return t.splice(0,t.length)}}(e)}setupMovementMetrics(){let e,t=[];const i=k(),o=k(),r=k(),s={t:i.s,v:r.s,d:o.s,ns:0},a=()=>{const n=t[t.length-1];if(t.length>=200||n&&(n[0]&&this.tm.timeStamp===n[1]||!n[0]&&this.mm.timeStamp===n[1])){if(clearInterval(e),e=void 0,1===t.length)return s.ns++,void(t=[]);const a=t[0];i.add(n[1]-a[1]),o.add(A(n[2],a[2],n[3],a[3]));for(let e=1;e<t.length;e++){const n=t[e],i=t[e-1],o=1e3*A(n[2],i[2],n[3],i[3]),s=n[1]-i[1];r.add(o/s)}return void(t=[])}let a=0;if(n?a=n[0]:this.mm&&this.tm?a=this.mm.timeStamp>this.tm.timeStamp?0:1:this.mm||(a=1),a){const e=this.tm.touches[0];e&&t.push([1,this.tm.timeStamp,e.screenX,e.screenY])}else t.push([0,this.mm.timeStamp,this.mm.screenX,this.mm.screenY])};let c=-1;return n((()=>{const t=document.body;t[Z]("mousemove",(t=>{this.mm=t,void 0===e&&(a(),e=setInterval(a,50))})),t[Z]("touchmove",(t=>{this.tm=t;const n=t.touches[0];if(n){const e=n.radiusX+1.234*n.radiusY;e!==c&&(c=e,this.rn++)}void 0===e&&(a(),e=setInterval(a,50))}))})),s}setupMotionMetrics(){const e=k(),t=k(),n={n:0,ts:0,ac:e.s,rr:t.s,i:0,g:!1};return _()?(window[Z]("devicemotion",(i=>{n.ts=i.timeStamp,n.i=i.interval,n.g=!i.acceleration;const o=i.acceleration||i.accelerationIncludingGravity;o&&e.add(x(o.x,o.y,o.z));const r=i.rotationRate;r&&t.add(x(r.alpha,r.beta,r.gamma))})),n):n}setupOrientationMetrics(){const e=k(),t=k(),n={fts:0,ts:0,gd:e.s,bd:t.s};if(!_())return n;let i;return window[Z]("deviceorientation",(o=>{null!=o.gamma&&null!=o.beta&&null!=o.alpha&&(n.ts=o.timeStamp,n.a=o.alpha,n.b=o.beta,n.g=o.gamma,i?(e.add(M(o.gamma,n.g)),t.add(M(n.b,o.beta))):(n.fts=n.ts,i=!0))})),n}gmm(){const e=this.mm;return e&&{xy:[e.clientX,e.clientY,e.screenX,e.screenY,e.offsetX,e.offsetY,e.pageX,e.pageY,e.movementX,e.movementY],ts:e.timeStamp}}gtm(){const e=this.tm,t=e&&e.touches,n=t&&t[0];return e&&n&&{id:n.identifier,xy:[n.clientX,n.clientY,n.screenX,n.screenY,n.pageX,n.pageY],r:[n.radiusX,n.radiusX,n.rotationAngle,n.force],n:t.length,ts:e.timeStamp,rn:this.rn}}get(e){const t=document.body,n=window,i=n.performance;return{v:1,i:++this.i,hl:history.length,fe:!!window.frameElement,dep:this.dep,wid:e,sc:parseInt(h(!1)),sid:g(),conv:0,t:{pnow:b(),pto:i&&i.timeOrigin||0,ts:Date.now()},dims:{d:[n.innerWidth,n.innerHeight,n.outerWidth,n.outerHeight,n.screenX,n.screenY,n.pageXOffset,n.pageYOffset,t.clientWidth,t.clientHeight],dpr:n.devicePixelRatio},mel:this.smel,mm:this.gmm(),tm:this.gtm(),bh:this.bh,stack:(new Error).stack||"",trc:this.takeTraceRecords()}}},ee={eu:"https://eu.frcapi.com",global:"https://global.frcapi.com"},te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",ne="FrcFrameId",ie=0;window.frcaptcha=new class{constructor(e={}){if(this.agents=new Map,this.agentState=new Map,this.widgets=new Map,this._attached=i(),this.attached=this._attached.promise,this.apiEndpoint=e.apiEndpoint,(I=I||new N).listen((e=>this.onReceiveMessage(e))),this.bus=I,++ie>1&&console.warn("Multiple Friendly Captcha SDKs created, this is not recommended. Please use a single SDK instance."),this.signals=function(e){return P||(P=new Q(e))}({disableEvalPatching:e.disableEvalPatching||F()}),e.startAgent){const e=C(this.apiEndpoint||D());this.ensureAgentIFrame(e)}this.setupPeriodicRefresh()}onReceiveMessage(e){if("root_set_response"===e.type){const t=this.widgets.get(e.widget_id);if(!t)return void(1===ie&&console.warn(`Received set response message for widget ${e.widget_id} that doesn't exist`));t.setState(e)}else if(o(e.type,"root_store"))this.handleStoreMessage(e);else if("root_signals_get"===e.type)this.handleSignalsGetMessage(e);
1else if("widget_language_change"===e.type)this.handleWidgetLanguageChange(e);else if("widget_reset"===e.type){const t=this.widgets.get(e.from_id);if(!t)return void(1===ie&&console.warn(`Received reset message for widget ${e.from_id} that doesn't exist`));t.reset({trigger:"widget"})}}handleWidgetLanguageChange(e){const t=this.widgets.get(e.from_id);if(!t)return void(1===ie&&console.warn(`Received language change message for widget ${e.from_id} that doesn't exist`));const n=t.getElement(),i=n.querySelector("iframe");i&&(i.title=f(e.language));const o=n.querySelector(".frc-banner");if(o){const t=o.style;m(e.language)?(t.left="6px",t.right="auto"):(t.left="auto",t.right="6px")}}handleSignalsGetMessage(e){const t=this.signals.get(e.widget_id);this.bus.send({type:"root_signals_get_reply",from_id:"",to_id:e.from_id,_frc:1,rid:e.rid,value:t})}handleStoreMessage(e){const t=e.from_id,n=this.agentState.get(t);n?"root_store_get"===e.type?n.store.get(e.key,{p:e.p}).then((i=>{this.bus.send({type:"root_store_get_reply",from_id:"",to_id:t,_frc:1,rid:e.rid,value:i,sa:n.store.hasSA()})})):"root_store_set"===e.type&&n.store.set(e.key,e.value,{p:e.p}).then((()=>{this.bus.send({type:"root_store_set_reply",from_id:"",to_id:t,_frc:1,rid:e.rid,sa:n.store.hasSA()})})):console.error(`Store not found ${t}`)}ensureAgentIFrame(e){const t=e+"/api/v2/captcha/agent";let n=document.getElementsByClassName(K);for(let r=0;r<n.length;r++){const t=n[r];if(s(t.src)===e&&t.dataset[ne])return t.dataset[ne]}const i="a_"+a(12),o=function(e,t,n){const i={origin:document.location.origin,sess_id:g(),sess_c:h(!0),comm_id:t,sdk_v:"0.1.31",v:"1",agent_id:t,ts:Date.now().toString()},o=document.createElement("iframe");o.className=K,o.dataset[U]=t,o.src=n+"?"+r(i),o.frcSDK=e;const s=o.style;return s.width=s.height=s.border=s.visibility="0",s.display="none",o}(this,i,t);this.agents.set(e,o),this.agentState.set(i,{store:new q(e),origin:e}),document.body.appendChild(o);let c=1;const d=()=>{this.bus.registerTargetIFrame("agent",i,o,this.getRetryTimeout(c)).then((t=>{if("timeout"===t){if(c>4)return console.error("[Friendly Captcha] Failed to load agent iframe after 4 retries."),o.remove(),void this.agents.delete(e);console.warn("[Friendly Captcha] Retrying agent iframe load."),o.src+="&retry="+c++,d()}}))};return d(),i}setupPeriodicRefresh(){let e=1;setInterval((()=>{const t="&expire="+e++;this.agents.forEach((e=>{e.src+=t})),this.widgets.forEach((e=>{e.getElement().querySelector("iframe").src+=t}))}),1296e5)}getRetryTimeout(e){return 1e3*Math.pow(e,1.8)+2e3}attach(t){void 0===t&&(t=e()),Array.isArray(t)||t instanceof NodeList||(t=[t]);const n=[];for(let e=0;e<t.length;e++){const i=t[e];if(i&&!i.frcWidget){const e=i.dataset,t={element:i,sitekey:e.sitekey,formFieldName:e.formFieldName,apiEndpoint:e.apiEndpoint,language:e.lang,theme:e.theme,startMode:e.start};n.push(this.createWidget(t))}}const i=this.getAllWidgets();return this._attached.resolve(i),this.attached=Promise.resolve(i),n}createWidget(e){function n(t){const n=(i=JSON.stringify({sdk_v:"0.1.31",sitekey:e.sitekey||"",retry:A+"",endpoint:o,ua:navigator.userAgent,tz:T()||""}),window.TextEncoder?function(e){const t=e.length;let n="";for(let i=0;i<t;i+=3){const t=e[i+0],o=e[i+1],r=e[i+2];let s="";s+=te.charAt(t>>>2),s+=te.charAt((3&t)<<4|o>>>4),s+=te.charAt((15&o)<<2|r>>>6),s+=te.charAt(63&r),n+=s}return t%3==2?n=n.substring(0,n.length-1)+"=":t%3==1&&(n=n.substring(0,n.length-2)+"=="),n}((new TextEncoder).encode(i)):"");var i;let r=".ERROR.UNREACHABLE";n&&(r+="~"+n),k.setState({state:"error",response:r,error:{code:"network_error",detail:t}})}const o=C(e.apiEndpoint||this.apiEndpoint||D());this.bus.addOrigin(o);const c=this.ensureAgentIFrame(o),d="w_"+a(12),l=e=>{const t={from_id:d,to_id:c,_frc:1};this.bus.send(w(t,e))},u={onDestroy:()=>{l({type:"root_destroy_widget"}),this.bus.removeTarget(d),this.widgets.delete(d),e.element.innerHTML="",e.element.removeAttribute("style")},onReset:()=>{l({type:"root_reset_widget"})},onTrigger:e=>{l({type:"root_trigger_widget",trigger:e.trigger})}},b=i(),k=new G({id:d,createOpts:e,callbacks:u,registered:b.promise});this.widgets.set(d,k);const _=function(e,t,n,i){const o=document.createElement("iframe"),s=v(i),a={origin:document.location.origin,sess_id:g(),sess_c:h(!0),comm_id:t,sdk_v:"0.1.31",v:"1",agent_id:e,lang:s,sitekey:i.sitekey||"",ts:Date.now().toString()};i.theme&&(a.theme=i.theme),H&&(o.allow="clipboard-write"),o.frameBorder="0",o.src=n+"?"+r(a),o.className="frc-i-widget",o.title=f(s),o.dataset[U]=t;const c=o.style;return c.border=c.visibility="0",c.position="absolute",c.height=c.width="100%",c.display="none",i.element.appendChild(o),o}(c,d,o+"/api/v2/captcha/widget",e),E=function(e){const t=document.createElement("div");t.classList.add("frc-widget-placeholder");const n=t.style,i="dark"===e.theme||"auto"===e.theme&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;return n.color=i?"#fff":"#222",n.backgroundColor=i?"#171717":"#fafafa",n.borderRadius="4px",n.border="1px solid",n.borderColor="#ddd",n.padding="8px",n.height=n.width="100%",n.fontSize="14px",y(n),e.element.appendChild(t),t}(e);!function(e){const n=t;n(e,"position","relative"),n(e,"height","70px"),n(e,"padding","0"),n(e,"width","316px"),n(e,"maxWidth","100%"),n(e,"maxHeight","100%"),n(e,"overflow","hidden"),n(e,"borderRadius","4px")}(e.element),function(e){const t=document.createElement("div");t.classList.add("frc-banner");const n=v(e),i=t.style;i.position="absolute",i.bottom="2px",m(n)?i.left="6px":i.right="6px",i.lineHeight="1";const o=document.createElement("a");o.href="https://friendlycaptcha.com",o.rel="noopener";const r=o.style;y(r),r.fontSize="10px";
1const s="dark"===e.theme||"auto"===e.theme&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;r.color=s?"#a2a2a2":"#565656",r.letterSpacing="-0.0125rem",o.target="_blank",o.textContent="Friendly Captcha",o.onmouseenter=()=>r.textDecoration="underline",o.onmouseleave=()=>r.textDecoration="none",t.appendChild(o),e.element.appendChild(t)}(e);let S=v(e);m(S)&&(e.element.dir="rtl");const R=E.style;E.textContent=p(S,"connecting");let A=1;const x=()=>{this.bus.registerTargetIFrame("widget",d,_,this.getRetryTimeout(A)).then((t=>{if("timeout"===t){if(A>4)return console.error("[Friendly Captcha] Failed to load widget iframe after 4 retries."),n("Widget load timeout, stopped retrying"),R.borderColor="#f00",R.fontSize="12px",void function(e,t,n){const i=[((e,t)=>{const n=document.createElement("a");n.href=e,n.target="_blank",n.rel="noopener",n.textContent=t;const i=n.style;return y(i),i.textDecoration="underline",i.color="#565656",n.onmouseenter=()=>i.textDecoration="none",n.onmouseleave=()=>i.textDecoration="underline",n})(`${t}/connectionTest`,p(n,"failed"))];e.textContent="",i.forEach((t=>e.appendChild(t)))}(E,s(_.src),S);R.backgroundColor="#fee",R.color="#222",E.textContent=p(S,"retrying")+` (${A})`,console.warn(`[Friendly Captcha] Retrying widget ${d} iframe load.`),n("Widget load timeout, will retry"),_.src+="&retry="+A++,x()}else"registered"===t&&(e.element.removeChild(E),_.style.display="")}))};return x(),b.resolve(),k}getAllWidgets(){const e=[];return this.widgets.forEach((t=>{e.push(t)})),e}getWidgetById(e){return this.widgets.get(e)}clear(){this.widgets.forEach((e=>{e.destroy()})),this.agents.forEach((e=>{e.remove()})),this.agents.clear()}},n((function(){const t=e();window.frcaptcha.attach(t)}))})(); 2/*! 3 * Copyright (c) Friendly Captcha GmbH 2023. 4 * This Source Code Form is subject to the terms of the Mozilla Public 5 * License, v. 2.0. If a copy of the MPL was not distributed with this 6 * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 */
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.